positionstack
- Free allowance
- Free plan, USD 0 a month,: 100 requests a month with forward geocoding, reverse geocoding and HTTPS encryption, and no support
- Verdict
- fails: quotathe free allowance is too small to matter
- Cost
- free tier
- Identity
- emailno card, no phone
- Binding limit
- volume-quota100 requests a month on the Free plan; at the limit the API answers HTTP 429 usage_limit_reached
- Evidence
- documented25 sources; a first-party page was read and the sentence quoted
- Freshness
- stale on 2026-12-03checked 2026-11-02 (live); stale on 2026-12-03
| Free tier | Free plan, USD 0 a month,: 100 requests a month with forward geocoding, reverse geocoding and HTTPS encryption, and no support unit requests; metered on request-count; the paid plans start at USD 9.99 a month,000 requests; batch requests start at the Professional plan, USD 49.99 a month for 1,000,000 monthly requests; the vendor's GitHub README still names 25,000 monthly requests, which the pricing page no longer offers |
|---|---|
| Price | none stated |
| Limits | |
| Binding | volume-quota 100 requests a month are spent before any short-period rate limit matters |
| Identity | email an APILayer account (one account and one API key for every APILayer API); registration collects a full name, an email address, a password and address details, and the sign-up page says no card is required |
| Egress | not applicable: a query API metered in requests, not bytes |
| Per-object cap | no batch geocoding on the Free plan: batch POST requests that carry several queries start at the Professional plan; the Free plan geocodes one query a request |
| Retention | results are licensed for display to the end users of the application |
| Interface | rest HTTPS GET to api.positionstack.com/v1/forward and /v1/reverse with an access_key query parameter; a keyless call answered HTTP 401 missing_access_key endpoint: https://api.positionstack.com/v1/forward |
| Tooling | any HTTP client |
| Composes with | 100 requests a month on a personal, key is enough to test the API and not to run a service |
| Reliability | at 100 requests the API answers HTTP 429 usage_limit_reached until the next monthly period; the Free plan has no support; older vendor pages still state 25,000 requests a month, which the current pricing page does not offer |
| Notes | Free requests: 100 a month, personal and non-commercial. Rate limit: size unpublished. End users may not store or distribute them. Bulk path: none on Free; batch requests from the Professional plan. |
| Evidence note | documented the pricing page, the product page, the home page, the terms, the privacy statement, the docs and the sign-up page were quoted on 2026-11-02; a keyless call answered HTTP 401. No account was opened, so the free monthly quota and the sign-up fields were not exercised. |
| Parsed numbers |
|
Evidence 25
| date | source | what it proved |
|---|---|---|
| 2026-11-02 | apilayer.com/products/positionstack/ | not published |
| 2026-11-02 | positionstack.com/ | the home page offers 100 monthly geocode requests free and subscriptions from USD 9.99 a month |
| 2026-11-02 | positionstack.com/pricing | not published |
| 2026-11-02 | positionstack.com/pricing | the Free plan costs USD 0 a month |
| 2026-11-02 | positionstack.com/pricing | the Free plan column lists 100 requests |
| 2026-11-02 | positionstack.com/pricing | not published |
| 2026-11-02 | positionstack.com/pricing | part of the text of Reliability, above |
| 2026-11-02 | positionstack.com/pricing | not published |
| 2026-11-02 | positionstack.com/pricing | the Professional plan is USD 49.99 a month |
| 2026-11-02 | positionstack.com/pricing | batch access and 1,000,000 monthly requests start at the Professional plan |
| 2026-11-02 | positionstack.com/terms | end users may not store or distribute the data |
| 2026-11-02 | positionstack.com/terms | the data is licensed for reference by end users |
| 2026-11-02 | positionstack.com/terms | past the monthly limit the API returns an error and refuses further calls in that month |
| 2026-11-02 | docs.apilayer.com/positionstack/docs/getting-started | the monthly quota answers HTTP 429 usage_limit_reached |
| 2026-11-02 | docs.apilayer.com/positionstack/docs/getting-started | a short-period limit answers HTTP 429 rate_limit_reached, with no size given |
| 2026-11-02 | docs.apilayer.com/positionstack/docs/getting-started | the API key goes in an access_key query parameter |
| 2026-11-02 | docs.apilayer.com/positionstack/docs/features | the forward geocoding endpoint is api.positionstack.com/v1/forward |
| 2026-11-02 | docs.apilayer.com/positionstack/docs/features | the reverse geocoding endpoint is api.positionstack.com/v1/reverse |
| 2026-11-02 | docs.apilayer.com/positionstack/docs/features | a batch request sends several queries at once |
| 2026-11-02 | docs.apilayer.com/positionstack/docs/features | a batch request is an HTTP POST with a JSON body of queries |
| 2026-11-02 | positionstack.com/privacy | registration collects a full name, an email address and address details |
| 2026-11-02 | app.apilayer.com/signup/positionstack/free | one APILayer account and one API key serve every APILayer API, and the sign-up page says no card is required |
| 2026-11-02 | github.com/apilayer/positionstack | the vendor's GitHub README still names 25,000 monthly geocoding requests |
| 2026-11-02 | probe: https://api.positionstack.com/v1/forward?query=Zurich | a keyless forward geocode answers HTTP 401 |
| 2026-11-02 | probe: https://api.positionstack.com/v1/forward?query=Zurich#body | the keyless call is refused with the error code missing_access_key |
More fields 3
| free requests | 100 requests a month, non-commercial |
|---|---|
| rate limit | unverified: size not published; HTTP 429 rate_limit_reached |
| bulk path | none on Free; batch POST requests from the Professional plan |