Precisely APIs Geocode API
The Geocode API from Precisely APIs — 4 operation(s) for geocode.
The Geocode API from Precisely APIs — 4 operation(s) for geocode.
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/precisely-apis-geocode-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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:
contact:
name: Precisely APIs Support
url: https://support.precisely.com
description: '
Demographics. Audience Enrichment. Add local demographics and lifestyle
segmentation to your audience profiles. The Demographics API returns
household demographics and lifestyle characteristics with the input of an
address, location coordinate, or geographic boundary. This service covers
select countries.'
license:
name: Apache 2.0
url: http://springdoc.org
termsOfService: http://swagger.io/terms/
title: Precisely Geocode API
version: 18.1.0
servers:
- url: https://api.precisely.com
security:
- oAuth2Password:
- ''
tags:
- name: Geocode
paths:
/geocode/v1/{datapackBundle}/reverseGeocode:
get:
description: This service accepts location coordinate and returns an address.
operationId: reverseGeocode
parameters:
- description: datapackBundle
in: path
name: datapackBundle
required: true
schema:
enum:
- premium
- basic
- advanced
type: string
- description: Longitude of the location.
in: query
name: x
required: true
schema:
default: -105.240976
type: string
- description: Latitude of the location.
in: query
name: y
required: true
schema:
default: '40.018301'
type: string
- description: Country name or ISO code.
in: query
name: country
required: false
schema:
type: string
- description: Coordinate system to convert geometry to in format codespace:code.
in: query
name: coordSysName
required: false
schema:
default: EPSG:4326
type: string
- description: Radius in which search is performed.
in: query
name: distance
required: false
schema:
default: Radius in which search is performed.
type: string
- description: Unit of measurement.
in: query
name: distanceUnits
required: false
schema:
default: METERS
enum:
- METERS
- FEET
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GeocodeServiceResponse'
application/xml:
schema:
$ref: '#/components/schemas/GeocodeServiceResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorInfo'
application/xml:
schema:
$ref: '#/components/schemas/ErrorInfo'
description: Bad Request
'500':
content:
application/json:
schema:
type: string
application/xml:
schema:
type: string
description: Internal Server Error
security:
- oAuth2Password: []
summary: Get Reverse Geocode(Basic/Premium/Advanced)
tags:
- Geocode
x-accepts: application/json
post:
description: This is a Batch offering for geocode service. It accepts a single address or a list of addresses and returns location coordinates
operationId: reverseGeocodBatch
parameters:
- in: path
name: datapackBundle
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReverseGeocodeRequest'
application/xml:
schema:
$ref: '#/components/schemas/ReverseGeocodeRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GeocodeServiceResponseList'
application/xml:
schema:
$ref: '#/components/schemas/GeocodeServiceResponseList'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorInfo'
application/xml:
schema:
$ref: '#/components/schemas/ErrorInfo'
description: Bad Request
'500':
content:
application/json:
schema:
type: string
application/xml:
schema:
type: string
description: Internal Server Error
security:
- oAuth2Password: []
summary: Post Reverse Geocode
tags:
- Geocode
x-contentType: application/json
x-accepts: application/json
/geocode/v1/{datapackBundle}/geocode:
get:
description: This service accepts an address and returns the location coordinates corresponding to that address. Premium offers the best accuracy and is a high precision geocoder leveraging Master Location Data - geocodes to Street or building level. Advanced offers advanced accuracy and geocodes to Street level.Basic offering will geocode to a Place or Postal level. Good accuracy.
operationId: geocode
parameters:
- description: datapackBundle
in: path
name: datapackBundle
required: true
schema:
enum:
- premium
- basic
- advanced
type: string
- description: Country name or ISO code.
in: query
name: country
required: false
schema:
default: USA
type: string
- description: Single line input, treated as collection of field elements.
in: query
name: mainAddress
required: false
schema:
default: 4750 Walnut St., Boulder CO, 80301
type: string
- description: Match modes determine the leniency used to make a match between the input address and the reference data.
in: query
name: matchMode
required: false
schema:
default: Standard
enum:
- Exact
- Standard
- Relaxed
- Custom
- Interactive(USA Only)
- CASS(USA Only)
type: string
- description: Specifies whether to attempt to determine a geographic region centroid when an address-level geocode cannot be determined.
in: query
name: fallbackGeo
required: false
schema:
default: 'true'
type: string
- description: Specifies whether to attempt to determine a post code centroid when an address-level geocode cannot be determined.
in: query
name: fallbackPostal
required: false
schema:
default: 'true'
type: string
- description: The maximum number of candidates to return.
in: query
name: maxCands
required: false
schema:
default: '1'
type: string
- description: Indicates the offset distance from the street segments to use in street-level geocoding.
in: query
name: streetOffset
required: false
schema:
default: '7'
type: string
- description: Specifies the unit of measurement for the street offset.
in: query
name: streetOffsetUnits
required: false
schema:
default: METERS
enum:
- METERS
- FEET
type: string
- description: Specifies the distance to offset the street end points in street-level matching.
in: query
name: cornerOffset
required: false
schema:
default: '7'
type: string
- description: Specifies the unit of measurement for the corner offset.
in: query
name: cornerOffsetUnits
required: false
schema:
default: METERS
enum:
- METERS
- FEET
type: string
- description: Specifies whether to Suppress accents and other diacritical marks.
in: query
name: removeAccentMarks
required: false
schema:
default: 'false'
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GeocodeServiceResponse'
application/xml:
schema:
$ref: '#/components/schemas/GeocodeServiceResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorInfo'
application/xml:
schema:
$ref: '#/components/schemas/ErrorInfo'
description: Bad Request
'500':
content:
application/json:
schema:
type: string
application/xml:
schema:
type: string
description: Internal Server Error
security:
- oAuth2Password: []
summary: Get Forward Geocode(Basic/Premium/Advanced)
tags:
- Geocode
x-accepts: application/json
post:
description: This is a Batch offering for geocode service. It accepts a single address or a list of addresses and returns location coordinates
operationId: geocodeBatch
parameters:
- in: path
name: datapackBundle
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GeocodeRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GeocodeServiceResponseList'
application/xml:
schema:
$ref: '#/components/schemas/GeocodeServiceResponseList'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorInfo'
application/xml:
schema:
$ref: '#/components/schemas/ErrorInfo'
description: Bad Request
'500':
content:
application/json:
schema:
type: string
application/xml:
schema:
type: string
description: Internal Server Error
security:
- oAuth2Password: []
summary: Post Forward Geocode
tags:
- Geocode
x-contentType: application/json
x-accepts: application/json
/geocode/v1/keylookup:
get:
description: This service accepts a PreciselyID and returns the corresponding address associated with that PreciselyID.
operationId: keyLookup
parameters:
- description: PreciselyID which maps to a unique address.
in: query
name: key
required: true
schema:
type: string
- description: Specifies the key type - PreciselyID and GNAF_PID for Aus.
in: query
name: type
required: true
schema:
type: string
- description: 3 letter ISO code of the country to be searched.
in: query
name: country
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GeocodeServiceResponse'
application/xml:
schema:
$ref: '#/components/schemas/GeocodeServiceResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorInfo'
application/xml:
schema:
$ref: '#/components/schemas/ErrorInfo'
description: Bad Request
'500':
content:
application/json:
schema:
type: string
application/xml:
schema:
type: string
description: Internal Server Error
security:
- oAuth2Password: []
summary: Get Key Lookup
tags:
- Geocode
x-accepts: application/json
post:
description: This service accepts batches of PreciselyID's and returns the corresponding address associated with those PreciselyID's.
operationId: keyLookupBatch
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/KeyLookupRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GeocodeServiceResponseList'
application/xml:
schema:
$ref: '#/components/schemas/GeocodeServiceResponseList'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorInfo'
application/xml:
schema:
$ref: '#/components/schemas/ErrorInfo'
description: Bad Request
'500':
content:
application/json:
schema:
type: string
application/xml:
schema:
type: string
description: Internal Server Error
security:
- oAuth2Password: []
summary: Post Key Lookup
tags:
- Geocode
x-contentType: application/json
x-accepts: application/json
/geocode/v1/key/byaddress:
get:
description: This service accepts an address and returns the corresponding PreciselyID
operationId: getPBKey
parameters:
- description: The address to be searched.
in: query
name: address
required: true
schema:
type: string
- description: 3 letter ISO code of the country to be searched.
in: query
name: country
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PBKeyResponse'
application/xml:
schema:
$ref: '#/components/schemas/PBKeyResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorInfo'
application/xml:
schema:
$ref: '#/components/schemas/ErrorInfo'
description: Bad Request
'500':
content:
application/json:
schema:
type: string
application/xml:
schema:
type: string
description: Internal Server Error
security:
- oAuth2Password: []
summary: Get PreciselyID By Address
tags:
- Geocode
x-accepts: application/json
post:
description: This is a Batch offering for 'PreciselyID By Address' service. It accepts a single address or a list of addresses and returns the corresponding PreciselyID.
operationId: getPBKeys
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PBKeyAddressRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PBKeyResponseList'
application/xml:
schema:
$ref: '#/components/schemas/PBKeyResponseList'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorInfo'
application/xml:
schema:
$ref: '#/components/schemas/ErrorInfo'
description: Bad Request
'500':
content:
application/json:
schema:
type: string
application/xml:
schema:
type: string
description: Internal Server Error
security:
- oAuth2Password: []
summary: Post PreciselyID By Address
tags:
- Geocode
x-contentType: application/json
x-accepts: application/json
components:
schemas:
GeocodePreferences:
example:
clientCoordSysName: clientCoordSysName
squeeze: squeeze
distance: distance
outputRecordType: outputRecordType
latLongFormat: latLongFormat
useGeoTaxAuxiliaryFile: useGeoTaxAuxiliaryFile
returnFieldsDescriptor:
returnStreetAddressFields: true
returnAllCustomFields: true
returnUnitInformation: true
returnMatchDescriptor: true
returnedCustomFieldKeys:
- returnedCustomFieldKeys
- returnedCustomFieldKeys
clientLocale: clientLocale
maxReturnedCandidates: maxReturnedCandidates
preferredDictionaryOrders:
- preferredDictionaryOrders
- preferredDictionaryOrders
streetOffset: streetOffset
matchMode: matchMode
mustMatchFields:
matchOnAreaName1: true
matchOnAreaName3: true
matchOnAreaName2: true
matchOnAreaName4: true
matchOnStreetType: true
matchOnStreetDirectional: true
matchOnAddressNumber: true
matchOnAllStreetFields: true
matchOnPlaceName: true
matchOnInputFields: true
matchOnStreetName: true
matchOnPostCode1: true
matchOnPostCode2: true
latLongOffset: latLongOffset
returnCensusFields: returnCensusFields
streetOffsetUnits: streetOffsetUnits
customPreferences:
key: '{}'
defaultBufferWidth: defaultBufferWidth
fallbackToPostal: fallbackToPostal
outputCasing: outputCasing
cornerOffsetUnits: cornerOffsetUnits
returnAllCandidateInfo: true
returnLatLongFields: returnLatLongFields
fallbackToGeographic: fallbackToGeographic
distanceUnits: distanceUnits
cornerOffset: cornerOffset
properties:
returnAllCandidateInfo:
type: boolean
fallbackToGeographic:
type: string
fallbackToPostal:
type: string
maxReturnedCandidates:
type: string
distance:
type: string
streetOffset:
type: string
cornerOffset:
type: string
matchMode:
type: string
clientLocale:
type: string
clientCoordSysName:
type: string
distanceUnits:
type: string
streetOffsetUnits:
type: string
cornerOffsetUnits:
type: string
mustMatchFields:
$ref: '#/components/schemas/FieldsMatching'
returnFieldsDescriptor:
$ref: '#/components/schemas/ReturnFieldsDescriptor'
outputRecordType:
type: string
customPreferences:
additionalProperties:
type: object
type: object
preferredDictionaryOrders:
items:
type: string
type: array
outputCasing:
type: string
latLongOffset:
type: string
squeeze:
type: string
returnLatLongFields:
type: string
useGeoTaxAuxiliaryFile:
type: string
latLongFormat:
type: string
defaultBufferWidth:
type: string
returnCensusFields:
type: string
required:
- cornerOffset
- distance
- fallbackToGeographic
- fallbackToPostal
- maxReturnedCandidates
- returnAllCandidateInfo
- streetOffset
type: object
ErrorInfo:
properties:
errors:
items:
$ref: '#/components/schemas/ErrorCode'
type: array
xml:
name: error
type: object
xml:
name: errors
KeyLookupRequest:
example:
preferences:
clientCoordSysName: clientCoordSysName
squeeze: squeeze
distance: distance
outputRecordType: outputRecordType
latLongFormat: latLongFormat
useGeoTaxAuxiliaryFile: useGeoTaxAuxiliaryFile
returnFieldsDescriptor:
returnStreetAddressFields: true
returnAllCustomFields: true
returnUnitInformation: true
returnMatchDescriptor: true
returnedCustomFieldKeys:
- returnedCustomFieldKeys
- returnedCustomFieldKeys
clientLocale: clientLocale
maxReturnedCandidates: maxReturnedCandidates
preferredDictionaryOrders:
- preferredDictionaryOrders
- preferredDictionaryOrders
streetOffset: streetOffset
matchMode: matchMode
mustMatchFields:
matchOnAreaName1: true
matchOnAreaName3: true
matchOnAreaName2: true
matchOnAreaName4: true
matchOnStreetType: true
matchOnStreetDirectional: true
matchOnAddressNumber: true
matchOnAllStreetFields: true
matchOnPlaceName: true
matchOnInputFields: true
matchOnStreetName: true
matchOnPostCode1: true
matchOnPostCode2: true
latLongOffset: latLongOffset
returnCensusFields: returnCensusFields
streetOffsetUnits: streetOffsetUnits
customPreferences:
key: '{}'
defaultBufferWidth: defaultBufferWidth
fallbackToPostal: fallbackToPostal
outputCasing: outputCasing
cornerOffsetUnits: cornerOffsetUnits
returnAllCandidateInfo: true
returnLatLongFields: returnLatLongFields
fallbackToGeographic: fallbackToGeographic
distanceUnits: distanceUnits
cornerOffset: cornerOffset
keys:
- country: country
value: value
objectId: objectId
- country: country
value: value
objectId: objectId
type: type
properties:
type:
type: string
preferences:
$ref: '#/components/schemas/GeocodePreferences'
keys:
items:
$ref: '#/components/schemas/keys'
type: array
type: object
xml:
name: keyLookupRequest
Crs:
example:
type: type
properties:
name: name
properties:
type:
type: string
properties:
$ref: '#/components/schemas/Properties'
required:
- properties
- type
type: object
PBKeyResponse:
example:
key: key
matchedAddress:
country: country
streetSide: streetSide
city: city
displayName: displayName
postalCode: postalCode
latitude: latitude
businessName: businessName
county: county
unitType: unitType
streetName: streetName
formattedAddress: formattedAddress
addressLine1: addressLine1
mainAddressLine: mainAddressLine
addressLine2: addressLine2
addressLine3: addressLine3
objectId: objectId
addressLastLine: addressLastLine
longitude: longitude
unitValue: unitValue
stateProvince: stateProvince
urbanizationName: urbanizationName
areaName1: areaName1
areaName2: areaName2
areaName3: areaName3
areaName4: areaName4
addressNumber: addressNumber
postCode: postCode
postCodeExt: postCodeExt
placeName: placeName
status: status
properties:
key:
type: string
matchedAddress:
$ref: '#/components/schemas/address'
type: object
xml:
name: pbKeyResponse
Points:
example:
country: country
geometry:
crs:
type: type
properties:
name: name
coordinates:
- 5.962133916683182
- 5.962133916683182
type: type
objectId: objectId
properties:
objectId:
type: string
country:
type: string
geometry:
$ref: '#/components/schemas/GeoPos'
required:
- country
- geometry
type: object
CandidateRangeUnit:
example:
unitType: unitType
lowUnitValue: lowUnitValue
placeName: placeName
highUnitValue: highUnitValue
customValues:
key: '{}'
properties:
placeName:
type: string
unitType:
type: string
highUnitValue:
type: string
lowUnitValue:
type: string
customValues:
additionalProperties:
type: object
type: object
type: object
Properties:
example:
name: name
properties:
name:
type: string
required:
- name
type: object
GeocodeServiceResponseList:
example:
responses:
- candidates:
- identifier: identifier
formattedStreetAddress: formattedStreetAddress
address:
country: country
customFields:
key: '{}'
postCode2: postCode2
unitType: unitType
areaName1: areaName1
postCode1: postCode1
areaName2: areaName2
streetName: streetName
areaName3: areaName3
areaName4: areaName4
addressNumber: addressNumber
mainAddressLine: mainAddressLine
placeName: placeName
objectId: objectId
addressLastLine: addressLastLine
unitValue: unitValue
ranges:
- lowHouse: lowHouse
side: UNKNOWN
highHouse: highHouse
oddEvenIndicator: UNKNOWN
units:
- unitType: unitType
lowUnitValue: lowUnitValue
placeName: placeName
highUnitValue: highUnitValue
customValues:
key: '{}'
- unitType: unitType
lowUnitValue: lowUnitValue
placeName: placeName
highUnitValue: highUnitValue
customValues:
key: '{}'
placeName: placeName
customValues:
key: '{}'
- lowHouse: lowHouse
side: UNKNOWN
highHouse: highHouse
oddEvenIndicator: UNKNOWN
units:
- unitType: unitType
lowUnitValue: lowUnitValue
placeName: placeName
highUnitValue: highUnitValue
customValues:
key: '{}'
- unitType: unitType
lowUnitValue: lowUnitValue
placeName: placeName
highUnitValue: highUnitValue
customValues:
key: '{}'
placeName: placeName
customValues:
key: '{}'
precisionCode: precisionCode
sourceDictionary: sourceDictionary
formattedLocationAddress: formattedLocationAddress
geometry:
crs:
type: type
properties:
name: name
coordinates:
- 5.962133916683182
- 5.962133916683182
type: type
precisionLevel: 1
matching:
matchOnAreaName1: true
matchOnAreaName3: true
matchOnAreaName2: true
matchOnAreaName4: true
matchOnStreetType: true
matchOnStreetDirectional: true
matchOnAddressNumber: true
matchOnAllStreetFields: true
matchOnPlaceName: true
matchOnInputFields: true
matchOnStreetName: true
matchOnPostCode1: true
matchOnPostCode2: true
- identifier: identifier
formattedStreetAddress: formattedStreetAddress
address:
country: country
customFields:
key: '{}'
postCode2: postCode2
unitType: unitType
areaName1: areaName1
postCode1: postCode1
areaName2: areaName2
streetName: streetName
areaName3: areaName3
areaName4: areaName4
addressNumber: addressNumber
mainAddressLine: mainAddressLine
placeName: placeName
objectId: objectId
addressLastLine: addressLastLine
unitValue: unitValue
ranges:
- lowHouse: lowHouse
side: UNKNOWN
highHouse: highHouse
oddEvenIndicator: UNKNOWN
units:
- unitType: unitType
lowUnitValue: lowUnitValue
placeName: placeName
highUnitValue: highUnitValue
customValues:
key: '{}'
- unitType: unitType
lowUnitValue: lowUnitValue
placeName: placeName
highUnitValue: highUnitValue
customValues:
key: '{}'
placeName: placeName
customValues:
key: '{}'
- lowHouse: lowHouse
side: UNKNOWN
highHouse: highHouse
oddEvenIndicator: UNKNOWN
units:
- unitType: unitType
lowUnitValue: lowUnitValue
placeName: placeName
highUnitValue: highUnitValue
customValues:
key: '{}'
- unitType: unitType
lowUnitValue: lowUnitValue
placeName: placeName
highUnitValue: highUnitValue
customValues:
key: '{}'
placeName: placeName
customValues:
key: '{}'
precisionCode: precisionCode
sourceDictionary: sourceDictionary
formattedLocationAddress: formattedLocationAddress
geometry:
crs:
type: type
properties:
name: name
coordinates:
- 5.962133916683182
- 5.962133916683182
type: type
precisionLevel: 1
matching:
matchOnAreaName1: true
matchOnAreaName3: true
matchOnAreaName2: true
matchOnAreaName4: true
matchOnStreetType: true
matchOnStreetDirectional: true
matchOnAddressNumber: true
matchOnAllStreetFields: true
matchOnPlaceName: true
matchOnInputFields: true
matchOnStreetName: true
matchOnPostCode1: true
matchOnPostCode2: true
totalPossibleCandidates: 0
totalMatches: 6
objectId: objectId
- candidates:
- identifier: identifier
formattedStreetAddress: formattedStreetAddress
address:
country: country
customFields:
key: '{}'
postCode2: postCode2
unitType: unitType
areaName1: areaName1
postCode1: postCode1
areaName2: areaName2
streetName: streetName
areaName3: areaName3
areaName4: areaName4
addressNumber: addressNumber
mainAddressLine: mainAddressLine
placeName: placeN
# --- truncated at 32 KB (66 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/precisely-apis/refs/heads/main/openapi/precisely-apis-geocode-api-openapi.yml