DATPAQ Geocoding API
Forward, reverse, and batch geocoding via OpenStreetMap Nominatim
Forward, reverse, and batch geocoding via OpenStreetMap Nominatim
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/datpaq-com:datpaq-com-geocoding-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Datpaq Com Geocoding API
version: 1.1.0
contact:
name: Datpaq Support
url: https://datpaq.com
license:
name: Proprietary
description: 'Operations tagged Geocoding across 2 of this provider''s published API definitions: datpaq-com.yaml, datpaq-com-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
security:
- ApiKeyHeader: []
- ApiKeyQuery: []
tags:
- name: Geocoding
description: Forward, reverse, and batch geocoding via OpenStreetMap Nominatim
paths:
/geocoding/forward:
get:
tags:
- Geocoding
operationId: geocodingForward
summary: Forward geocoding
description: Requires q. Resolves free-form place text to normalized matches with coordinates and confidence.
responses:
'200':
description: Forward geocode matches
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
example:
success: true
count: 1
results:
- lat: 38.8977
lon: -77.0365
displayName: 1600 Pennsylvania Avenue NW, Washington, DC, United States
type: house
confidence:
score: 0.95
level: high
metadata:
correlationId: abc123-def456
timestamp: '2026-08-20T12:00:00.000Z'
processingTime: 64ms
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
parameters:
- name: q
in: query
required: true
description: Place text or street address
schema:
type: string
example: 1600 Pennsylvania Avenue NW, Washington, DC
- name: limit
in: query
required: false
description: Max matches 1-10, default 5
schema:
type: integer
example: 5
- name: language
in: query
required: false
description: Preferred language tag
schema:
type: string
example: en
- name: countryCodes
in: query
required: false
description: Comma-separated ISO2 country filter
schema:
type: string
example: us
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
/geocoding/reverse:
get:
tags:
- Geocoding
operationId: geocodingReverse
summary: Reverse geocoding
description: Requires lat and lon. Returns a structured address for the coordinate.
responses:
'200':
description: Reverse geocode result
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
example:
success: true
address:
displayName: 1600 Pennsylvania Avenue NW, Washington, DC 20500, United States
road: Pennsylvania Avenue NW
city: Washington
state: District of Columbia
postcode: '20500'
country: United States
countryCode: us
metadata:
correlationId: abc123-def456
timestamp: '2026-08-20T12:00:00.000Z'
processingTime: 48ms
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
parameters:
- name: lat
in: query
required: true
description: Latitude
schema:
type: number
example: 38.8977
- name: lon
in: query
required: true
description: Longitude
schema:
type: number
example: -77.0365
- name: language
in: query
required: false
description: Preferred language tag
schema:
type: string
example: en
- name: zoom
in: query
required: false
description: Detail zoom 0-18
schema:
type: integer
example: 18
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
/geocoding/batch:
post:
tags:
- Geocoding
operationId: geocodingBatch
summary: Batch forward and reverse geocoding
description: Up to 25 mixed queries. Each item is either { q } (forward) or { lat, lon } (reverse).
responses:
'200':
description: Per-item geocode results
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
example:
success: true
count: 2
successCount: 2
failureCount: 0
results:
- result:
success: true
lat: 48.8584
lon: 2.2945
displayName: Tour Eiffel, Paris, France
- result:
success: true
address:
city: New York
country: United States
metadata:
correlationId: abc123-def456
timestamp: '2026-08-20T12:00:00.000Z'
processingTime: 112ms
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
requestBody:
required: true
description: Batch queries
content:
application/json:
schema:
type: object
required:
- queries
properties:
queries:
type: array
minItems: 1
maxItems: 25
items:
type: object
example:
queries:
- q: Eiffel Tower
- lat: 40.7128
lon: -74.006
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
components:
schemas:
ErrorResponse:
type: object
properties:
error:
type: string
description: Human-readable error message
example: Invalid API key
correlationId:
type: string
description: Request tracking identifier for support
example: abc123-def456-789ghi
service:
type: string
description: Service name that produced the error
example: ip-geolocation
GenericSuccess:
type: object
description: Standard success envelope. The data property structure varies by endpoint.
properties:
correlationId:
type: string
description: Request tracking identifier
example: abc123-def456
data:
type: object
description: Response payload (structure varies by endpoint)
cached:
type: boolean
description: Whether the response was served from cache
example: false
responses:
BadRequest:
description: Bad request — missing or invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
RateLimited:
description: Rate limit exceeded — retry after the indicated period
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
ServiceUnavailable:
description: Service temporarily unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Unauthorized — missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
ApiKeyHeader:
type: apiKey
in: header
name: x-api-key
description: API key passed via x-api-key request header
ApiKeyQuery:
type: apiKey
in: query
name: api_key
description: API key passed as api_key query parameter
x-refined-from:
- datpaq-com.yaml
- datpaq-com-openapi.yaml