Geocoding APIs — page 3
158 geocoding APIs for addresses, maps, IP location and countries, best documented first.
Uebermaps
GeocodingDiscover and share maps with friends
Geocode.xyz
GeocodingProvides worldwide forward/reverse geocoding, batch geocoding and geoparsing
openrouteservice.org
GeocodingDirections, POIs, isochrones, geocoding (+reverse), elevation, and more
Georg API
GeocodingNaturhistoriska riksmuseet
ipwhois
GeocodingIP geolocation with country, city, coordinates, ISP, timezone and flag data
Traccar
GeocodingOpen Source GPS Tracking Platform
IPGEO
GeocodingUnlimited free IP Address API with useful information
Search
GeocodingSearch API is a RESTful API that allows developers to run a single line fuzzy search for addresses and POIs. Search API returns the latitude/longitude of a specific address, cross street, geographic feature, or point of interest (POI).
Locations API
GeocodingThe Locations API provides access to MasterCard's ATM and Merchant location database
Trakt API
GeocodingAt Trakt, we collect lots of interesting information about what tv shows and movies everyone is watching. Part of the fun with such data is making it available for anyone to mash up and use on their own site or app. The Trakt API was made just for this purpose. It is very easy to use, you basically call a URL and get some JSON back. More complex API calls (such as adding a movie or show to your collection) involve sending us data. These are still easy to use, you simply POST some JSON data to a specific URL. Make sure to check out the [**Required Headers**](#introduction/required-headers) and [**Authentication**](#reference/authentication-oauth) sections for more info on what needs to be sent with each API call. Also check out the [**Terminology**](#introduction/terminology) section insight into the features Trakt supports. # Create an App To use the Trakt API, you'll need to [**create a new API app**](https://trakt.tv/oauth/applications/new). # Stay Connected API discussion and bugs should be posted in the [**GitHub Developer Forum**](https://github.com/trakt/api-help/issues) and *watch* the repository if you'd like to get notifications. Make sure to follow our [**API Blog**](https://apiblog.trakt.tv) and [**@traktapi on Twitter**](https://twitter.com/traktapi) too. # API URL The API should always be accessed over SSL. ``` https://api.trakt.tv ``` If you would like to use our sandbox environment to not fill production with test data, use this URL over SSL. **Note:** Staging is a completely separate environment, so you'll need to [**create a new API app on staging**](https://staging.trakt.tv/oauth/applications/new). ``` https://api-staging.trakt.tv ``` # Verbs The API uses restful verbs. | Verb | Description | |---|---| | `GET` | Select one or more items. Success returns `200` status code. | | `POST` | Create a new item. Success returns `201` status code. | | `PUT` | Update an item. Success returns `200` status code. | | `DELETE` | Delete an item. Success returns `200` or `204` status code. | # Status Codes The API will respond with one of the following HTTP status codes. | Code | Description | |---|---| | `200` | Success | `201` | Success - *new resource created (POST)* | `204` | Success - *no content to return (DELETE)* | `400` | Bad Request - *request couldn't be parsed* | `401` | Unauthorized - *OAuth must be provided* | `403` | Forbidden - *invalid API key or unapproved app* | `404` | Not Found - *method exists, but no record found* | `405` | Method Not Found - *method doesn't exist* | `409` | Conflict - *resource already created* | `412` | Precondition Failed - *use application/json content type* | `420` | Account Limit Exceeded - *list count, item count, etc* | `422` | Unprocessable Entity - *validation errors* | `423` | Locked User Account - *have the user contact support* | `426` | VIP Only - *user must upgrade to VIP* | `429` | Rate Limit Exceeded | `500` | Server Error - *please open a support ticket* | `502` | Service Unavailable - *server overloaded (try again in 30s)* | `503` | Service Unavailable - *server overloaded (try again in 30s)* | `504` | Service Unavailable - *server overloaded (try again in 30s)* | `520` | Service Unavailable - *Cloudflare error* | `521` | Service Unavailable - *Cloudflare error* | `522` | Service Unavailable - *Cloudflare error* # Required Headers You'll need to send some headers when making API calls to identify your application, set the version and set the content type to JSON. | Header | Value | |---|---| | `Content-type` <span style="color:red;">*</a> | `application/json` | | `trakt-api-key` <span style="color:red;">*</a> | Your `client_id` listed under your Trakt applications. | | `trakt-api-version` <span style="color:red;">*</a> | `2` | API version to use. All `POST`, `PUT`, and `DELETE` methods require a valid OAuth `access_token`. Some `GET` calls require OAuth and others will return user specific data if OAuth is sent. Methods that 🔒 **require** or have 🔓 **o
BigDataCloud
GeocodingProvides fast and accurate IP geolocation APIs along with security checks and confidence area
Geocod.io
GeocodingAddress geocoding / reverse geocoding in bulk
One Map, Singapore
GeocodingSingapore Land Authority REST API services for Singapore addresses
Mexico
GeocodingMexico RESTful zip codes API
Open Topo Data
GeocodingElevation and ocean depth for a latitude and longitude
Ziptastic
GeocodingGet the country, state, and city of any US zip-code
geoPlugin
GeocodingIP geolocation and currency conversion
Pinball Map
GeocodingA crowdsourced map of public pinball machines
IP-API.io
GeocodingIP geolocation with VPN/proxy/Tor detection, reputation and risk score
Apiip
GeocodingGet location information by IP address
administrative-divisons-db
GeocodingGet all administrative divisions of a country
adresse.data.gouv.fr
GeocodingAddress database of France, geocoding and reverse
Cartes.io
GeocodingCreate maps and markers for anything
Cep.la
GeocodingBrazil RESTful API to find information about streets, zip codes, neighborhoods, cities and states