Plans and limits
Each team has two limits that you choose independently: how many requests it can make per hour, and how many POIs it can store. When you go over the hourly quota, the API returns a 429 Too Many Requests until the next hour starts. When you reach the POI limit, creating or importing POIs returns a 403.
Tiers
Pick one tier for each limit; the monthly price is the sum of both, and the lowest tier of each is free.
Requests per hour
- Name
50- Description
- Free
- Name
250- Description
- €9 per month
- Name
1,000- Description
- €29 per month
- Name
5,000- Description
- €79 per month
- Name
10,000- Description
- €149 per month
POIs
- Name
1,000- Description
- Free
- Name
10,000- Description
- €9 per month
- Name
50,000- Description
- €29 per month
- Name
250,000- Description
- €79 per month
- Name
1,000,000- Description
- €199 per month
New teams start on the Free tiers: 50 requests per hour and 1,000 POIs. See your limits and current usage, and change them, on the Plan & usage page of the dashboard. Paid tiers are billed monthly by card through Stripe; upgrades apply right away, changes are prorated, and you can cancel anytime from the billing portal. The same prices are available from the public GET /v1/pricing endpoint. Need more than the highest tiers? Contact us.
How requests are counted
- The window is a fixed hour. It resets at the start of every hour, in UTC.
- Every request counts, including the ones that return a
4xxerror. A bulk import counts as one request, whatever the size of the file. - Requests rejected with a
429do not count. - Requests without a valid API key are rejected before the limit applies, so they return a
401without rate limit headers. - All API keys of a team share the same quota.
Rate limit headers
Every authenticated response, including errors, carries these headers:
- Name
X-RateLimit-Limit- Type
- integer
- Description
The number of requests your team can make per hour.
- Name
X-RateLimit-Remaining- Type
- integer
- Description
The number of requests left in the current hour.
- Name
X-RateLimit-Reset- Type
- integer
- Description
When the current window ends, as a Unix timestamp in seconds.
Read the headers with cURL
curl -i https://api.lanewise.app/v1/pois \
-H "X-API-KEY: {YOUR_API_KEY}"
Response headers
HTTP/1.1 200 OK
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1790467200
After hitting the limit
A 429 response adds the time to wait. Wait that many seconds, or until X-RateLimit-Reset, before you retry.
- Name
Retry-After- Type
- integer
- Description
Seconds until the window resets.
- Name
X-RateLimit-Retry-After- Type
- integer
- Description
Same value as
Retry-After.
Response headers
HTTP/1.1 429 Too Many Requests
Retry-After: 1260
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1790467200
X-RateLimit-Retry-After: 1260