# positionstack

> positionstack.com | Data APIs; 1 record: free tier, limits, identity cost and evidence.

HTML https://fshy.ajam.dev/p/positionstack/ | JSON https://fshy.ajam.dev/api/v1/entity/positionstack.json | how to read a record: https://fshy.ajam.dev/llms-full.txt

## positionstack

- `data-apis/positionstack` | fails-quota | evidence documented | binding volume-quota | category geocoding API (APILayer) | tier Free
- needs card no, phone no, ID no, institution no | verified 2026-11-02T00:23:41.926Z (live) | stale on 2026-12-03
- url https://positionstack.com/pricing
- 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 | read on: 2026-11-02 | source: [1] | note: 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
- 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 | source: [1]
- retention: results are licensed for display to the end users of the application | source: [2]
- egress: not applicable: a query API metered in requests, not bytes | metered: no | source: [1]
- identity: email | detail: 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
- interface: rest
- limits:
  - volume-quota (binding): 100 requests a month on the Free plan; at the limit the API answers HTTP 429 usage_limit_reached [3]
  - request-rate: unverified: the size of the short-period limit is not published; the API answers HTTP 429 rate_limit_reached [3]
- binding note: 100 requests a month are spent before any short-period rate limit matters
- interface detail: 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: 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.
- extras:
  - 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
- evidence:
  - [4] 2026-11-02:  | capture: sha256:9f6e18f7b23b0b856d3306855ccd2f8e4addb4deec3f7e7a53f0b998163d370f | quote: Yes, Positionstack offers a free geocoding API plan. It includes 100 free requests per month, forward geocoding, reverse geocoding, and HTTPS encryption, with no technical support included.
  - [5] 2026-11-02: the home page offers 100 monthly geocode requests free and subscriptions from USD 9.99 a month | capture: sha256:d17881e7df06eb9368a4dd33c7156848269490778cc0beb7c5cfeead386af5c2 | quote: Send 100 monthly geocode requests for free — in case you ever need more, premium geocoding subscriptions start at just USD $9.99 per month.
  - [1] 2026-11-02:  | capture: sha256:c3a91063926fb6d5c681d78eda4aa41de0250778448d35e33fefca5501c28503 | quote: <heading>Free</heading> </div> <p class="short_description">Personal use.</p>
  - [1] 2026-11-02: the Free plan costs USD 0 a month | capture: sha256:c3a91063926fb6d5c681d78eda4aa41de0250778448d35e33fefca5501c28503 | quote: <span>$0</span>
  - [1] 2026-11-02: the Free plan column lists 100 requests | capture: sha256:c3a91063926fb6d5c681d78eda4aa41de0250778448d35e33fefca5501c28503 | quote: <li class="feature_api_requests">100 Requests</li>
  - [1] 2026-11-02:  | capture: sha256:c3a91063926fb6d5c681d78eda4aa41de0250778448d35e33fefca5501c28503
  - [1] 2026-11-02: the Free plan has no support | capture: sha256:c3a91063926fb6d5c681d78eda4aa41de0250778448d35e33fefca5501c28503 | quote: <li class="feature_support">No Support</li>
  - [1] 2026-11-02:  | capture: sha256:c3a91063926fb6d5c681d78eda4aa41de0250778448d35e33fefca5501c28503
  - [1] 2026-11-02: the Professional plan is USD 49.99 a month | capture: sha256:c3a91063926fb6d5c681d78eda4aa41de0250778448d35e33fefca5501c28503 | quote: <span>$49.99</span>
  - [1] 2026-11-02: batch access and 1,000,000 monthly requests start at the Professional plan | capture: sha256:c3a91063926fb6d5c681d78eda4aa41de0250778448d35e33fefca5501c28503 | quote: Most popular - access to batch endpoint and up to 1,000,000 monthly requests.
  - [2] 2026-11-02: end users may not store or distribute the data | capture: sha256:d69a9f34bd989b5c8bc76478cffeec3c1a9010e59c1660e1aa6cf9be09dc6212
  - [2] 2026-11-02: the data is licensed for reference by end users | capture: sha256:d69a9f34bd989b5c8bc76478cffeec3c1a9010e59c1660e1aa6cf9be09dc6212 | quote: You are permitted solely to use positionstack API Data & Services for reference by Your end users.
  - [2] 2026-11-02: past the monthly limit the API returns an error and refuses further calls in that month | capture: sha256:d69a9f34bd989b5c8bc76478cffeec3c1a9010e59c1660e1aa6cf9be09dc6212 | quote: If You exceed Your monthly usage limit, the positionstack API will return an error message stating that Your monthly usage limit has been reached and no further API calls can be made within the current monthly term.
  - [3] 2026-11-02: the monthly quota answers HTTP 429 usage_limit_reached | capture: sha256:fa373e2eeb24169ea24a077fcc7107583da0f8c2d09e99b1a3f2596bf2137b13 | quote: | 429 | `usage_limit_reached` | Monthly request quota reached. |
  - [3] 2026-11-02: a short-period limit answers HTTP 429 rate_limit_reached, with no size given | capture: sha256:fa373e2eeb24169ea24a077fcc7107583da0f8c2d09e99b1a3f2596bf2137b13 | quote: | 429 | `rate_limit_reached` | Too many requests in a short period. |
  - [3] 2026-11-02: the API key goes in an access_key query parameter | capture: sha256:fa373e2eeb24169ea24a077fcc7107583da0f8c2d09e99b1a3f2596bf2137b13 | quote: include your `access_key` as a query parameter in every request.
  - [6] 2026-11-02: the forward geocoding endpoint is api.positionstack.com/v1/forward | capture: sha256:f2354a7ff859834b1c9e5fe4fa53081c498b815473936ec906e9b3d66dae95c4 | quote: https://api.positionstack.com/v1/forward
  - [6] 2026-11-02: the reverse geocoding endpoint is api.positionstack.com/v1/reverse | capture: sha256:f2354a7ff859834b1c9e5fe4fa53081c498b815473936ec906e9b3d66dae95c4 | quote: https://api.positionstack.com/v1/reverse
  - [6] 2026-11-02: a batch request sends several queries at once | capture: sha256:f2354a7ff859834b1c9e5fe4fa53081c498b815473936ec906e9b3d66dae95c4 | quote: Batch requests are a way of sending multiple forward or reverse geocoding queries to the API at once.
  - [6] 2026-11-02: a batch request is an HTTP POST with a JSON body of queries | capture: sha256:f2354a7ff859834b1c9e5fe4fa53081c498b815473936ec906e9b3d66dae95c4 | quote: To make a batch request, simply specify your API request URL along with an additional `batch` request parameter sent as an `HTTP` `POST` `JSON` body carrying multiple queries.
  - [7] 2026-11-02: registration collects a full name, an email address and address details | capture: sha256:7cdef4976c80df20e1c439dbc2490a0fc76c26de58d09007a62758500765a669 | quote: - personal information: full name; email address; address, zip code, city, region, country;
  - [8] 2026-11-02: one APILayer account and one API key serve every APILayer API, and the sign-up page says no card is required | capture: sha256:1795e2f9ba34cdc8eb1527c93085d25968d39dd8ed7cc9b16908e0efe4e3789e | quote: Create one APILayer account to access and purchase multiple production-ready APIs with a single API key. Start building in minutes, no card required.
  - [9] 2026-11-02: the vendor's GitHub README still names 25,000 monthly geocoding requests | capture: sha256:25a88625ce01e669ab5d2384c1b367ea4af62d335855c42aea7fb6431e7e1069 | quote: [Get a free API access key](https://positionstack.com/product) for 25,000 monthly geocoding requests.
  - probe:https://api.positionstack.com/v1/forward?query=Zurich 2026-11-02: a keyless forward geocode answers HTTP 401 | capture: sha256:a77e0da7fa524afad91de1a5a442629a82418a8675e4386b23b55e4a32bb0eb9 | quote: "status": 401
  - probe:https://api.positionstack.com/v1/forward?query=Zurich#body 2026-11-02: the keyless call is refused with the error code missing_access_key | capture: sha256:5dbfe11774badd4884a3660444bf3482ec2b758a66f23acf1a37b320de5d84c3 | quote: missing_access_key
- sources:
  - [1] https://positionstack.com/pricing
  - [2] https://positionstack.com/terms
  - [3] https://docs.apilayer.com/positionstack/docs/getting-started
  - [4] https://apilayer.com/products/positionstack/
  - [5] https://positionstack.com/
  - [6] https://docs.apilayer.com/positionstack/docs/features
  - [7] https://positionstack.com/privacy
  - [8] https://app.apilayer.com/signup/positionstack/free
  - [9] https://github.com/apilayer/positionstack
