# Coordinate Systems API
> Map projections and coordinate reference systems as an API — the EPSG dataset made queryable. Every CRS, from geographic systems like WGS 84 (the GPS standard, EPSG 4326) to projected ones like Web Mercator (3857), the UTM zones and national grids, has an EPSG code. Search the dataset by name to find the code you need, then resolve any code to its full definition: name, kind (geographic, projected, …), area of use, scope, and — most usefully — the ready-to-paste PROJ.4 string and WKT definition that GIS libraries (GDAL, PROJ, PostGIS, Leaflet, OpenLayers, QGIS, GeoPandas) consume directly. Search comes from the official EPSG Registry maintained by IOGP; the PROJ.4/WKT exports come from epsg.io. A geodesy / coordinate-reference-system resource — distinct from geocoding (addresses to coordinates), geohashing and administrative-boundary APIs. Ideal for GIS, mapping, surveying, remote-sensing and spatial-data applications.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/epsg-api/..."
```

## Pricing
- **Free** (Free) — 2,380 calls/Mo, 2 req/s
- **Starter** ($7/Mo) — 47,500 calls/Mo, 8 req/s
- **Pro** ($22/Mo) — 238,000 calls/Mo, 20 req/s
- **Mega** ($58/Mo) — 850,000 calls/Mo, 50 req/s

## Endpoints

### Coordinate Systems

#### `GET /v1/crs` — A CRS definition with PROJ.4 & WKT

**Parameters:**
- `code` (query, optional, string) — An EPSG code Example: `4326`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/epsg-api/v1/crs?code=4326"
```

**Response:**
```json
{
    "data": {
        "crs": {
            "url": "https://epsg.io/4326",
            "wkt": "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]",
            "code": 4326,
            "kind": "geographic 2D",
            "name": "WGS 84",
            "proj4": "+proj=longlat +datum=WGS84 +no_defs +type=crs",
            "scope": "Horizontal component of 3D system.",
            "remark": null,
            "deprecated": false,
            "area_of_use": "World (by country)"
        }
    },
    "meta": {
        "timestamp": "2026-06-01T16:22:45.494Z",
        "request_id": "7b29f202-6e83-42d2-9680-223018b19238"
    },
    "status": "ok",
    "message": "Coordinate system retrieved",
    "success": true
}
```

#### `GET /v1/search` — Search coordinate reference systems

**Parameters:**
- `q` (query, optional, string) — Name to search Example: `web mercator`
- `limit` (query, optional, string) — Max results (1-50, default 20)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/epsg-api/v1/search?q=web+mercator"
```

**Response:**
```json
{
    "data": {
        "count": 1,
        "query": "web mercator",
        "total": 1,
        "results": [
            {
                "code": 3857,
                "name": "WGS 84 / Pseudo-Mercator",
                "type": "projected",
                "deprecated": false
            }
        ]
    },
    "meta": {
        "timestamp": "2026-06-01T16:22:46.158Z",
        "request_id": "861adba0-6416-4a8c-9873-3c5ceebd00bd"
    },
    "status": "ok",
    "message": "Coordinate systems retrieved",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Endpoint catalogue, common codes & notes

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/epsg-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "Every coordinate reference system (CRS) — geographic systems like WGS 84 and projected systems like Web Mercator or UTM zones — has an EPSG code. /v1/search?q=web mercator searches the official EPSG dataset and returns matching CRS codes, names and types (geographic, projected, …); /v1/crs?code=4326 resolves a code to its full definition — name, kind, area of use, scope and, crucially, the ready-to-use PROJ.4 string and WKT definition you can drop straight into GIS libraries (GDAL, PROJ, PostGIS, Leaflet, OpenLayers, …). EPSG codes look like 4326 (WGS 84 / GPS), 3857 (Web Mercator), 25832 (UTM zone 32N) or 27700 (British National Grid). Search data from the official EPSG Registry (IOGP); PROJ.4/WKT from epsg.io. A geodesy / coordinate-reference-system resource — distinct from geocoding (addresses to coordinates), geohashing and administrative-boundary APIs. Ideal for GIS, mapping, surveying and spatial-data tooling.",
        "source": "EPSG dataset — official Registry (apps.epsg.org) + epsg.io exports",
        "examples": {
            "WGS 84 (GPS)": 4326,
            "Web Mercator": 3857,
            "British National Grid": 27700,
            "ETRS89 / UTM zone 32N": 25832
        },
        "endpoints": [
            "/v1/search",
            "/v1/crs",
            "/v1/meta"
        ]
    },
    "meta": {
        "timestamp": "2026-06-01T16:22:46.239Z",
        "request_id": "b198f3e0-d1d6-4c0e-91ba-927e8175a445"
    },
  
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/epsg-api
OpenAPI spec: https://www.oanor.com/api/epsg-api/openapi.json
