fshy

Home / Data APIs

OpenCage

opencagedata.com/pricingGeocoding APIdata-apis/opencageJSONcomparereport an errorprovider JSON

Free allowance
2,500 geocoding requests a day (forward or reverse, one location per request), a hard limit that resets at 24:00 UTC, at 1 request per second; spreadsheet uploads up to 100 rows; one API key; no credit card
Verdict
caveatusable, with a named limit or an unprobed read path
Cost
free tier
Identity
emailno card, no phone
Binding limit
volume-quota2,500 requests a day on the free trial, a hard limit reset at 24:00 UTC; past it the API answers HTTP 402 quota exceeded
Evidence
documented33 sources; a first-party page was read and the sentence quoted
Freshness
stale on 2026-12-04checked 2026-11-03 (live); stale on 2026-12-04
Free tier2,500 geocoding requests a day (forward or reverse, one location per request), a hard limit that resets at 24:00 UTC, at 1 request per second; spreadsheet uploads up to 100 rows; one API key; no credit card
unit requests; metered on request-count; every request counts, including bad requests and requests with no result. The cheapest paid steps are a one-time plan of 10,000 requests for EUR 20, usable for up to a year, and the X-Small subscription of 10,000 requests a day at 15 requests a second for EUR 45 a month. Geosearch (autosuggest) has no free amount.
Pricenone stated
Limits
  • volume-quota (binding) 2,500 requests a day on the free trial, a hard limit reset at 24:00 UTC; past it the API answers HTTP 402 quota exceeded source
  • request-rate 1 request per second on the free trial; faster answers HTTP 429 source
  • per-object-cap one location per request; spreadsheet uploads up to 100 rows on the free trial source
unverified: the X-RateLimit-Limit header of a live free trial key was not read, since it needs a free trial account; the API page documents it as the total requests the account is limited to over 24 hours for free trials, and its example shows 2500
Bindingvolume-quota 1 request a second allows far more than 2,500 requests in a day, so the daily hard limit is met first
Identityemail the signup form asks for a name, a company or organization name, an email and a password, behind hCaptcha, or a Google or GitHub sign-up; no credit card for the free trial; the general terms set a minimum age of 18
Egressnot applicable: a query API metered in requests, not bytes
Per-object capone location per API request: the API takes no batch; a spreadsheet upload on the free trial is limited to 100 rows, each row counted as one request
Retentionuploaded spreadsheets are deleted after 3 days for free trial users
Interfacerest HTTPS GET to api.opencagedata.com/geocode/v1/json (also xml and geojson) with the key in the key parameter; a request without a key answers HTTP 401 missing API key, and the documented test key answers HTTP 200; responses to free trial and one-time plan keys carry the quota in a rate element and in the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers, which subscription responses do not carry
Toolingany HTTP client; vendor tutorials for Node.js, PHP, Python and Ruby include parallel request scripts, and a command line tool geocodes CSV files
Composes with2,500 storable geocodes a day with no card, so a slow job of about 2,500 addresses a day can build a permanent table; a one-off batch beyond that is the EUR 20 one-time plan of 10,000 requests, or the Geoapify free plan (data-apis/geoapify) at 3,000 a day with a batch endpoint. Bulk path: no bulk path; one location per request and no data download
Reliabilitypast the daily hard limit the API answers HTTP 402, and a free trial key that keeps requesting past it is disabled with HTTP 403; free trial accounts are deleted after three months of inactivity, and accounts detected as several free trials of one user are fed randomly wrong results
NotesBulk path: no bulk path; one location per request, spreadsheet uploads of 100 rows on the free trial, and no data download. The vendor labels the free amount a trial for testing; it has no end date.
Evidence notedocumented the pricing page (in its markdown form), the API reference, the FAQ, the signup form and the terms were quoted on 2026-10-30 and 2026-10-31; a keyless request answered HTTP 401 and the published test key answered HTTP 200 with zero results. No account was opened, so the 2,500 a day was not exercised; a keyed run to the 402 would move it to measured.
Parsed numbers
  • has-free-tier 1
  • volume-quota 2500 requests / day
  • request-rate 1 request
Evidence 33
datesourcewhat it proved
2026-10-30opencagedata.com/apithe free trial is capped at 2,500 requests a day
2026-10-30opencagedata.com/apithe daily count resets at 24:00 UTC
2026-10-30opencagedata.com/apithe free trial rate is 1 request per second
2026-10-30opencagedata.com/apipast the hard limit the API answers HTTP 402
2026-10-30opencagedata.com/apia free trial that keeps requesting past the limit is disabled with HTTP 403
2026-10-30opencagedata.com/apinot published
2026-10-30opencagedata.com/apithere is no separate temporary and permanent pricing
2026-10-30opencagedata.com/apithe API takes one location per request; only a spreadsheet upload is geocoded in bulk
2026-10-30opencagedata.com/apifree trial spreadsheet uploads are limited to 100 rows
2026-10-30opencagedata.com/apiinactive free trial accounts are deleted after three months
2026-10-31opencagedata.com/pricing.mdthe free trial row: 2,500 requests a day at 1 request a second, no price
2026-10-31opencagedata.com/pricing.mdthe free trial needs no credit card
2026-10-31opencagedata.com/pricing.mdthe cheapest subscription is X-Small: 10,000 requests a day at 15 a second for EUR 45 a month
2026-10-31opencagedata.com/pricing.mdthe smallest one-time plan is 10,000 requests for EUR 20
2026-10-30opencagedata.com/pricinga one-time plan's requests can be used for up to a year
2026-10-30opencagedata.com/pricingnot published
2026-10-30opencagedata.com/pricingevery request counts, including bad requests and empty results
2026-10-30opencagedata.com/users/sign_upthe signup form asks for a company or organization name besides name, email and password
2026-10-30opencagedata.com/users/sign_upaccount creation is behind hCaptcha
2026-10-30opencagedata.com/users/sign_upsign-up through GitHub is offered
2026-10-30opencagedata.com/termsthe minimum age is 18
2026-10-30opencagedata.com/faqseveral free trial accounts of one user are fed randomly wrong results
2026-10-30probe: https://api.opencagedata.com/geocode/v1/json?q=Zurich#bodythe geocode endpoint answers and refuses a request with no key
2026-10-31probe: https://api.opencagedata.com/geocode/v1/json?q=NOWHERE-INTERESTING#bodythe documented test key gets HTTP 200 and an empty result set from the live endpoint
2026-11-02opencagedata.com/apithe X-RateLimit-Limit header is the account's total requests over the period, 24 hours for free trials
2026-11-02opencagedata.com/apisubscription responses carry neither the rate element nor the X-RateLimit headers
2026-11-02opencagedata.com/apifree trial and one-time plan keys face hard limits, so their responses carry the rate headers
2026-11-02opencagedata.com/apithe documented example of the rate element shows a limit of 2500
2026-11-02opencagedata.com/apithe daily count resets at 24:00 UTC
2026-11-02opencagedata.com/apipast the hard limit the API answers HTTP 402
2026-11-02opencagedata.com/apithe free trial rate is 1 request per second
2026-11-02opencagedata.com/apiabove the free trial rate the API may answer HTTP 429
2026-11-02opencagedata.com/apithe free trial is capped at 2,500 requests a day
More fields 1
bulk pathno bulk path