Georef Argentina API
Free official Argentine geography API with no key: provinces, departments, municipalities, localities, street normalisation and reverse geocoding. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the Georef Argentina API?
Georef is the Argentine government's free, key-free API for national territorial data. It serves provinces, departments, municipalities, census localities and settlements with centroids, normalises street addresses, and reverse-geocodes coordinates to the administrative units that contain them.
Argentine administrative names are messy in practice — the same locality appears as "CABA", "Ciudad Autónoma de Buenos Aires" and "Capital Federal" across three government datasets — and Georef exists to fix exactly that. It is the normalisation service behind the national open data programme, so its identifiers are the ones other Argentine public datasets are keyed on.
The `campos` parameter deserves attention because it does more than trim the payload. Requesting `centroide` as a field flattens the nested `centroide.lat` and `centroide.lon` into the response, and the parameters echo back in `parametros` so you can see exactly what the server understood. The rate limit headers are unusually informative too: separate second, minute, hour and day counters come back on every response, which makes it easy to pace a bulk normalisation job without guessing.
Quick facts
- Base URL
https://apis.datos.gob.ar/georef/api- Authentication
- No API key or account. Argentine open government data, free to reuse including commercially.
- Rate limit
- Tiered and reported on every response: roughly 200 requests per second, 6,000 per minute, 154,000 per hour and 3,000,000 per day per IP.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Georef Argentina API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. List Argentine provinces with their centroids
GET https://apis.datos.gob.ar/georef/api/provincias?campos=id,nombre,centroide
curl 'https://apis.datos.gob.ar/georef/api/provincias?campos=id,nombre,centroide'const res = await fetch("https://apis.datos.gob.ar/georef/api/provincias?campos=id,nombre,centroide");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://apis.datos.gob.ar/georef/api/provincias?campos=id,nombre,centroide", timeout=20)
res.raise_for_status()
print(res.json()){
"cantidad": 24,
"inicio": 0,
"parametros": {
"campos": [
"id",
"nombre",
"centroide.lat",
"centroide.lon"
]
},
"provincias": [
{
"centroide": {
"lat": -34.6144420654301,
"lon": -58.4458763250916
},
"id": "02",
"nombre": "Ciudad Autónoma de Buenos Aires"
},
{
"centroide": {
"lat": -38.6419828626673,
"lon": -70.1198972237318
},
"id": "58",
"nombre": "Neuquén"
},
{
"centroide": {
"lat": -33.7611035381154,
"lon": -66.0252312714021
},
"id": "74",
"nombre": "San Luis"
},
{
"centroide": {
"lat": -30.7088227091528,
"lon": -60.9506872769706
},
"id": "82",
"nombre": "Santa Fe"
},
{
"centroide": {
"lat": -29.6849372775783,
"lon": -67.1817575814487
},
"id": "46",
"nombre": "La Rioja"
},
{
"centroide": {
"lat": -27.3359537960762,
"lon": -66.9478972451295
},
"id": "10",
"nombre": "Catamarca"
},
{
"centroide": {
"lat": -26.948283501723,
"lon": -65.3647655803683
},
"id": "90",
"nombre": "Tucumán"
},
{
"centroide": {
"lat": -26.3869871835867,
"lon": -60.765116260356
},
"id": "22",
"nombre": "Chaco"
},
{
"centroide": {
"lat": -24.8950871761481,
"lon": -59.9321901121647
},
"id": "34",
"nombre": "Formosa"
},
{
"centrParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
campos | query | Optional | Comma-separated fields to return. `basico`, `estandar` and `completo` are shorthand presets. id,nombre,centroide |
nombre | query | Optional | Filter by name. Matching is accent- and case-insensitive and tolerates minor spelling variation. Neuquén |
provincia | query | Optional | Restrict departments, municipalities or localities to one province, by id or name. 82 |
lat / lon | query | Optional | Reverse geocode: returns the units containing the point via `/ubicacion`. -34.6144 |
max / inicio | query | Optional | Page size and offset. `max` defaults to 10 and tops out at 5,000. 50 |
formato | query | Optional | `json` by default; `csv` and `geojson` are also available. geojson |
(direcciones) | path | Optional | `/direcciones?direccion=` parses and normalises a free-text Argentine street address. |
Response fields
cantidadinteger- How many records this response contains — not the total available.
totalinteger- Total matching records, returned when you page with `inicio`.
parametrosobject- Echo of the parameters as the server interpreted them, including expanded field shorthands.
provincias / departamentos / localidadesarray- The result list, named after the resource you queried.
idstring- Official INDEC code as a zero-padded string. "02" is not 2, so never parse it as a number.
nombrestring- Canonical name with correct accents — the value to store for display.
centroide.lat / centroide.lonfloat- Centroid of the unit, as separate numeric fields rather than a GeoJSON pair.
What you can build with the Georef Argentina API
- Normalise inconsistent Argentine province and locality names across datasets
- Populate a province → department → locality selector
- Reverse-geocode coordinates to Argentine administrative units
- Parse free-text Argentine street addresses into structured components
- Join business data to INDEC codes for official statistics
Common errors and how to fix them
Leading zeros disappear from ids
The id is a string such as "02" and JSON parsers in loosely typed languages coerce it.
Fix: Keep ids as strings end to end. A province id that becomes the integer 2 will no longer match anything.
Empty result list with HTTP 200
The name filter matched nothing.
Fix: Name matching is fuzzy but not unlimited. Drop accents and try a shorter fragment, or query by `id` if you have one.
Only ten results
`max` defaults to 10.
Fix: Set `max` explicitly, up to 5,000, and page with `inicio` beyond that. `total` tells you how far you have to go.
429 Too Many Requests
One of the per-second, per-minute, per-hour or per-day counters is exhausted.
Fix: Read the `X-RateLimit-Remaining-*` headers, which report all four windows separately, and pace the job against the tightest one.
Georef Argentina API — frequently asked questions
Is the Georef Argentina API free?
Yes, free with no key or registration, published as Argentine open government data. The quotas are generous enough for bulk normalisation work — three million requests per day per IP.
What is Georef normally used for?
Normalising Argentine place names and addresses so that datasets from different agencies can be joined. Because it returns official INDEC codes, it is the practical bridge between free-text names and national statistics.
Can it parse a full street address?
Yes. The `/direcciones` endpoint takes a free-text Argentine address, splits out the street, number and locality, and returns the normalised components with their official identifiers.
Why are province ids strings?
Because they are INDEC codes with leading zeros, and dropping the zero produces a different code. Buenos Aires City is "02", not 2 — treat the field as an opaque string throughout.
Tools that pair with this API
JSON to CSV Converter
Convert a JSON array of objects to CSV online. Automatic column headers from the union of all keys, delimiter choice and proper quoting — all in-browser.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Georef Argentina is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.