Geocoding — entry 020 of 80

Geocod.io

Verified Sep 2026

Geocod.io specializes in bulk US, Canadian, Mexican, and UK address geocoding — forward and reverse — accepting up to 10,000 addresses per batch request and asynchronous lists into the millions. The free tier covers 2,500 lookups/day with no card required; beyond that it's pay-as-you-go at $1 per 1,000 lookups, or fixed monthly Flex/Unlimited plans for high-volume users. Requests are capped at 1,000 lookups/minute on the pay-as-you-go tier.

geocodingreverse-geocodingbatchfreemiumaddress-lookup
AuthenticationAPI KeySign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score81out of 100
Authentication15/25API key required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 81 on greatapis.com
<a href="https://greatapis.com/api/geocod-io/"><img src="https://greatapis.com/badge/geocod-io.svg" alt="Scored 81 on greatapis.com"></a>

Auth quickstart

  1. Get a key at the provider
  2. Send it on every request as a query param?api_key=<key>
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://api.geocod.io/v2https://api.enterprise.geocod.io/v2
Auth
geocodioApiKey
geocode3

Geocode addresses to coordinates

GET/geocodeGeocode single address
Parameters
NameInRequiredType
qquerynostring
streetquerynostring
street2querynostring
cityquerynostring
countyquerynostring
state_provincequerynostring
postal_codequerynostring
countryquerynostring
limitquerynointeger
formatquerynostring
fieldsquerynoarray
destinations[]querynoarray
distance_modequerynostring
distance_unitsquerynostring
distance_max_resultsquerynointeger
distance_max_distancequerynonumber
distance_max_durationquerynointeger
distance_min_distancequerynonumber
distance_min_durationquerynointeger
distance_order_byquerynostring
distance_sort_orderquerynostring
Responses
StatusDescriptionSchema
200Successful responseGeocodeResponse
403Invalid API key, or feature not available.—
422Validation error.—
POST/geocodeBatch geocode addresses
Parameters
NameInRequiredType
fieldsquerynoarray
destinations[]querynoarray
distance_modequerynostring
distance_unitsquerynostring
distance_max_resultsquerynointeger
distance_max_distancequerynonumber
distance_max_durationquerynointeger
distance_min_distancequerynonumber
distance_min_durationquerynointeger
distance_order_byquerynostring
distance_sort_orderquerynostring
limitquerynointeger
countryquerynostring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200Successful responseBatchReverseGeocodeResponse
403Invalid API key, or feature not available.—
GET/parseParse address into components
Parameters
NameInRequiredType
qqueryyesstring
Responses
StatusDescriptionSchema
200Successful responseParseResponse
403Invalid API key, or feature not available.—
reverse2

Reverse geocode coordinates to addresses

GET/reverseReverse geocode single coordinate
Parameters
NameInRequiredType
fieldsquerynoarray
destinations[]querynoarray
distance_modequerynostring
distance_unitsquerynostring
distance_max_resultsquerynointeger
distance_max_distancequerynonumber
distance_max_durationquerynointeger
distance_min_distancequerynonumber
distance_min_durationquerynointeger
distance_order_byquerynostring
distance_sort_orderquerynostring
skipGeocodingquerynostring
qquerynostring
Responses
StatusDescriptionSchema
200Successful responseReverseGeocodeResponse
403Invalid API key, or feature not available.—
422Validation error.—
POST/reverseBatch reverse geocode coordinates
Parameters
NameInRequiredType
fieldsquerynoarray
destinations[]querynoarray
distance_modequerynostring
distance_unitsquerynostring
distance_max_resultsquerynointeger
distance_max_distancequerynonumber
distance_max_durationquerynointeger
distance_min_distancequerynonumber
distance_min_durationquerynointeger
distance_order_byquerynostring
distance_sort_orderquerynostring
skipGeocodingquerynostring
limitquerynointeger
countryquerynostring
Request body

application/json (required)

Responses
StatusDescriptionSchema
200Successful responseBatchReverseGeocodeResponse
403Invalid API key, or feature not available.—
distance1

Calculate distances between one origin and one or more destinations

GET/distanceCalculate distance from one origin to multiple destinations
Parameters
NameInRequiredType
originqueryyesstring
destinations[]queryyesarray
modequerynostring
unitsquerynostring
max_resultsquerynointeger
max_distancequerynonumber
max_durationquerynointeger
order_byquerynostring
min_distancequerynonumber
min_durationquerynointeger
sort_orderquerynostring
countryquerynostring
Responses
StatusDescriptionSchema
200Successful responseDistanceResponse
403Invalid API key, or feature not available.—
422Validation error.—
distance-matrix1

Calculate distances between multiple origins and multiple destinations, either as a full matrix or as one-to-one pairs

POST/distance-matrixCalculate distance matrix or one-to-one pairs
Request body

application/json (required)

Responses
StatusDescriptionSchema
200Successful responseDistanceMatrixResponse
403Invalid API key, or feature not available.—
422Validation error.—
distance-jobs5

Async distance matrix and one-to-one pairs job management

GET/distance-jobsList distance matrix jobs
Parameters
NameInRequiredType
pagequerynointeger
Responses
StatusDescriptionSchema
200Successful responseDistanceMatrixJobCollection
403Invalid API key, or feature not available.—
POST/distance-jobsCreate async distance matrix or one-to-one pairs job
Request body

application/json (required)

Responses
StatusDescriptionSchema
200Successful responseDistanceMatrixJobCreated
201Resource created.—
403Invalid API key, or feature not available.—
422Validation error.—
GET/distance-jobs/{identifier}Get distance matrix job status
Parameters
NameInRequiredType
identifierpathyesstring
Responses
StatusDescriptionSchema
200Successful responseDistanceMatrixJob
403Invalid API key, or feature not available.—
404Resource not found.—
DELETE/distance-jobs/{identifier}Delete distance matrix job
Parameters
NameInRequiredType
identifierpathyesstring
Responses
StatusDescriptionSchema
200Job deleted successfully.—
403Invalid API key, or feature not available.—
404Resource not found.—
GET/distance-jobs/{identifier}/downloadDownload distance matrix job results
Parameters
NameInRequiredType
identifierpathyesstring
Responses
StatusDescriptionSchema
200Distance matrix job results as a downloadable JSON file. Streamed as an attachment with Content-Disposition set to the job name.—
400Invalid request.—
403Invalid API key, or feature not available.—
404Resource not found.—
lists5

Upload and manage spreadsheets for batch geocoding

GET/listsList uploaded spreadsheets
Parameters
NameInRequiredType
pagequerynointeger
Responses
StatusDescriptionSchema
200Successful responseListsCollection
403Invalid API key, or feature not available.—
POST/listsUpload spreadsheet for geocoding
Parameters
NameInRequiredType
fieldsquerynoarray
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200Successful responseImportJobCreated
400Invalid request.—
403Invalid API key, or feature not available.—
GET/lists/{id}Get list processing status
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Successful responseImportJob
403Invalid API key, or feature not available.—
404Resource not found.—
DELETE/lists/{id}Delete a list
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200List deleted successfully.—
403Invalid API key, or feature not available.—
404Resource not found.—
424Operation cannot be completed (dependency failed).—
GET/lists/{id}/downloadDownload list results
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200Geocoded spreadsheet file. Format matches the uploaded spreadsheet (CSV, XLSX, or XLS). If the list is still processing or the file has expired, the response is a JSON message with success: false.—
400Invalid request.—
403Invalid API key, or feature not available.—
404Resource not found.—

Try it

Developer reference

Base URLhttps://api.geocod.io/v2
Rate limit

Free tier: 2,500 lookups/day, rate-limited to 1,000 lookups/minute

Key endpoints
  • GET/geocode
  • GET/reverse