Positionstack
Forward and reverse geocoding API built on OpenStreetMap with support for 2 billion+ places and 100+ countries.
🔴 Offline · 1042 ms
0%
25,000 calls/month, free key, no credit card
API key
Free alternatives (live ranking)
- Nominatim (OpenStreetMap) — 🟢 Online · 1 req/sec, must set User-Agent, no key
- ip-api.com — 🟢 Online · 45 calls/min (HTTP only), no key, no credit card
- IPinfo — 🟢 Online · 50,000 calls/month, no key (token extends limits)
Compare Positionstack with…
- Positionstack vs Nominatim (OpenStreetMap) — 1 req/sec, must set User-Agent, no key
- Positionstack vs ip-api.com — 45 calls/min (HTTP only), no key, no credit card
- Positionstack vs IPinfo — 50,000 calls/month, no key (token extends limits)
Paid alternatives
- Positionstack Basic — from $9.99/mo
Frequently Asked Questions
Does Positionstack require an API key?
Yes, Positionstack requires a free API key. You can sign up via https://positionstack.com/documentation.
What is Positionstack's free tier?
25,000 calls/month, free key, no credit card
Is Positionstack currently online?
We check Positionstack every hour. The current status is shown at the top of this page. You can also see the 30-day uptime history in the chart above.
Implementation notes
When to use Positionstack
Positionstack offers 25,000 calls/month on its free tier — more generous than most geocoding APIs — backed by OpenStreetMap and Geonames data. It suits batch geocoding jobs for datasets with tens of thousands of addresses where Nominatim's 1 req/sec throughput would be impractical.
Common pitfalls
- Positionstack's free tier only supports HTTP, not HTTPS. HTTPS requests on the free tier return an error about SSL not being available. Upgrade to a paid plan or use a server-side proxy if your application requires HTTPS.
- The API returns results in a `data` array, not as a single object. An empty array (`{'data': []}`) is returned when the address cannot be geocoded rather than a non-200 status code — always check array length.
- Batch geocoding (multiple addresses in a single request) is a paid feature. The free tier requires one HTTP request per address, which means throughput is limited by how fast you can issue requests within the monthly budget.
- The `confidence` score in Positionstack results uses a 0-1 scale. Scores below 0.5 typically indicate the geocoder matched only a city or region rather than a specific street address.
Quick start (bash)
curl "http://api.positionstack.com/v1/forward?access_key=YOUR_KEY&query=1600+Pennsylvania+Ave+NW+Washington+DC&limit=1" Embed this badge
Add a live status badge to your README, docs, or website.
Markdown
[](https://freeapi.watch/positionstack) HTML
<a href="https://freeapi.watch/positionstack"><img src="https://freeapi-builder.a10ayassine.workers.dev/badge/positionstack.svg" alt="Positionstack Status"/></a>