IP geolocation APIs are priced in at least five different ways: requests per month, requests per day, credits, pay-per-query and flat fees. Some bill overage, some refuse requests at the limit, and some discount annual payment by 15 to 20%. That makes "which one is cheapest?" hard to answer from the pricing pages alone.
This article is only about money. It converts the official list prices of ten providers into one monthly cost at three traffic levels (100.000, 1 million and 10 million lookups a month) and a cost per 1.000 lookups, then covers the two things that move the bill most: what the free tier allows and what overage costs. Every price was read from the provider's own page on 12 November 2026 and is linked. The arithmetic is shown so you can redo it for your own numbers.
Disclosure: we run IPAPI.GR, which is one of the ten. Price is only one input. To shortlist providers on fields, accuracy, bot signals and developer experience first, see how to choose an IP geolocation API. Some of the more expensive APIs include data (VPN, proxy and Tor detection, company, carrier) that IPAPI.GR doesn't offer.
How we calculated the cost
- List prices only, in the currency shown, excluding tax, except IPAPI.GR, whose prices are shown VAT included. Monthly billing unless the page shows only annual billing.
- Cheapest published way to cover the volume: the smallest plan whose quota covers it, or a smaller plan plus published overage rates when that's cheaper.
- Per-day quotas are converted at 30 days a month, assuming traffic is spread evenly. If your traffic is spiky, size a per-day plan for your busiest day.
- "Custom" means the volume is above the largest self-serve plan and the page says to contact sales.
- Lookups only. We ignore extra modules that cost more per request (security data, for example) and assume one lookup per request.
Monthly cost at 100k, 1M and 10M lookups
Each provider name links to the pricing page we read. The last column divides the 1M-a-month bill by 1.000, which is the fairest single number for comparing per-request cost at a typical production volume.
| Provider (plan family) | 100k / month | 1M / month | 10M / month | Per 1.000 lookups at 1M | Billing model |
|---|---|---|---|---|---|
| ip-api.com | 13,30 € (Pro) | 13,30 € (Pro) | 13,30 € (Pro) | ≈ 0,013 € | Unlimited, per month on a 12-month term |
| IPAPI.GR | 9,00 € (Developer) | 29,00 € (Growth) | 199,00 € (Scale) | ≈ 0,03 € | Per day, monthly, VAT included |
| ipapi.is | 20 USD (Basic) | 50 USD (Medium) | 100 USD (Large) | 0,05 USD | Per day, monthly |
| ipapi.co | 25 USD | 99 USD | 399 USD | ≈ 0,10 USD | Per month |
| ipdata | 50 USD (Startup, billed yearly) | 50 USD (Startup, billed yearly) | Custom | 0,05 USD | Per day |
| ipgeolocation.io | 19 USD (Starter) | 79 USD (Pro) | ≈ 544 USD (Premium + overage) | ≈ 0,08 USD | Credits per month |
| ipregistry | 29 USD (Starter) | 199 USD (Business) | ≈ 2.199 USD (Enterprise + blocks) | ≈ 0,20 USD | Credits per month |
| ipstack | 59,99 USD (Professional) | 99,99 USD (Professional+) | Custom | ≈ 0,10 USD | Per month |
| ipinfo (city-level, Core) | 31 USD | ≈ 320 USD (Core + overage) | Custom | ≈ 0,32 USD | Per month + overage up to 5M |
| MaxMind GeoIP City Plus | 30 USD | 300 USD | 3.000 USD | 0,30 USD | Pay per query |
| IP2Location.io | 49 USD (Starter) | ≈ 339 USD (Starter + overage) | ≈ 3.339 USD (Starter + overage) | ≈ 0,34 USD | Per month + overage |
Per-request cost falls sharply with volume on flat and per-day plans, and stays roughly constant on pay-per-query and overage plans. At 10M a month, ip-api.com's flat plan costs a fraction of a cent per 1.000 lookups and the per-day plans of ipapi.is and IPAPI.GR about one to two cents, while MaxMind City Plus is still 0,30 USD.
Where the approximate numbers come from
- IPAPI.GR: limits are per day, so 100k a month is about 3.300 a day (Developer, 10.000 a day), 1M about 33.300 a day (Growth, 50.000 a day) and 10M about 333.300 a day (Scale, 1.000.000 a day). Prices include VAT.
- ipinfo, 1M: Core at 31 USD includes 150.000 requests. The other 850.000 at 0,34 USD per 1.000 is 289 USD. Total 320 USD. ipinfo's table lists Core as covering "150k - 5M" a month, so 10M needs Enterprise.
- ipgeolocation.io, 10M: Premium at 249 USD includes 5.000.000 credits. 5.000.000 more at 5 USD per 85.000 is 59 blocks, 295 USD. Total about 544 USD.
- ipregistry, 10M: Enterprise from 299 USD includes 500.000 credits; additional blocks are 20 USD per 100.000. 95 blocks is 1.900 USD. Total about 2.199 USD.
- IP2Location.io, 1M and 10M: Starter at 49 USD includes 150.000 queries; overage is 10 USD per 30.000. 850.000 extra is 29 blocks (290 USD). 9.850.000 extra is 329 blocks (3.290 USD). The page doesn't say whether Starter overage is capped, so check before relying on it.
- MaxMind: City Plus is 0,0003 USD per query, so 100.000 queries cost 30 USD. MaxMind says to contact them for volume rates above 2.500 USD a month.
Free tiers: what you get for free
Free tiers differ more than paid plans, in the unit (per minute, per day, per month, once), in what data they return and in whether you may use them commercially. As listed on each provider's page on 12 November 2026:
| Provider | Free allowance | Conditions |
|---|---|---|
| ipinfo Lite | Unlimited | Country-level only, attribution required |
| MaxMind GeoLite web service | 1.000 lookups a day per service | Attribution required |
| ipstack | 100 requests a month | No commercial use |
| ip-api.com | 45 requests a minute per source IP | HTTP only, no commercial use |
| ipdata | 1.000 city-level lookups a day, then country-level | Attribution for commercial use |
| ipgeolocation.io | 1.000 credits a day | Commercial use allowed |
| IP2Location.io | 50.000 queries a month | Attribution required |
| ipregistry | 20.000 credits, once, on sign-up | Credits don't renew |
| IPAPI.GR | 1.000 requests a day | HTTPS, every data field except the bot flags, which come with any paid plan; see the terms |
At 1.000 a day, a free tier covers about 30.000 lookups a month if traffic is even. Our free tier comparison goes through the conditions in more detail.
Other things that change the bill
Annual billing changes the order a little
Several providers discount yearly payment:
| Provider | Monthly price | Billed annually | Source |
|---|---|---|---|
| ipinfo Core | 31 USD/mo | 26 USD/mo (310 USD/yr) | ipinfo.io/pricing |
| ipinfo Max | 196 USD/mo | 163 USD/mo (1.960 USD/yr) | ipinfo.io/pricing |
| ipgeolocation.io Starter | 19 USD/mo | 15,83 USD/mo (190 USD/yr) | ipgeolocation.io/pricing |
| ipregistry Starter | 29 USD/mo | 24 USD/mo (290 USD/yr) | ipregistry.co/pricing |
| ipapi.co 150K | 25 USD/mo | 20 USD/mo (240 USD/yr) | ipapi.co/pricing |
| ipstack | Not listed | "Save up to 15%" | ipstack.com/pricing |
ip-api.com's 13,30 € is already the 12-month rate. ipdata shows paid prices billed yearly with a 20% annual discount. IPAPI.GR's plans are billed monthly only, from 9,00 € to 199,00 €, VAT included.
What you get for the money differs a lot
Price per lookup only makes sense for the same data. Three examples from the same pricing pages:
- ipinfo Core (31 USD) includes VPN, Tor, proxy and relay detection. IPAPI.GR Developer (9,00 €) doesn't detect any of those, but adds AI-crawler, search-crawler and scanner flags, as every IPAPI.GR paid plan does.
- ipstack puts its security module and bulk endpoint only on Professional+ (99,99 USD). Basic and Professional are location, time zone, currency and connection data.
- MaxMind's pay-per-query price triples from Country (0,0001 USD) to City Plus (0,0003 USD) and is twenty times higher for Insights (0,002 USD), which adds anonymiser detection and confidence factors.
If you need privacy detection, compare only the plans that include it. If you need separate AI crawler, search crawler and scanner flags, the comparison is much shorter. See the bot signals coverage for the bots IPAPI.GR covers.
Overage rates and hard limits
What happens when you run out matters as much as the list price, because overage is where bills grow. The published overage rates, from the same pages:
| Provider | Overage rate |
|---|---|
| ipinfo Core | 0,34 USD per 1.000 requests over the plan |
| ipgeolocation.io | 5 USD per block of extra credits (25.000 on Starter, 85.000 on Premium) |
| IP2Location.io Starter | 10 USD per extra 30.000 queries |
| ipregistry Enterprise | 20 USD per extra 100.000 credits; smaller plans use top-up packs |
| ipstack | "Overage fees apply" |
| ipdata | No overage charges: warning at 90%, quota padded by 10% |
| IPAPI.GR | None: 429 until midnight UTC |
And how each one behaves at the limit:
| Behaviour at the limit | Providers (as stated on their pages) |
|---|---|
| Requests refused until the reset | IPAPI.GR (429 until midnight UTC), ipgeolocation.io free plan, ipdata free tier |
| Overage billed automatically | ipinfo Core and Max, ipstack, ipgeolocation.io paid plans, IP2Location.io |
| Soft padding, no overage charges | ipdata paid plans (warning at 90%, quota padded by 10%) |
| Prepaid credit runs down | MaxMind pay as you go, ipregistry packs, ipapi.is one-time credits |
| No limit | ip-api.com Pro ("unlimited requests", subject to its acceptable use policy) |
Overage keeps your app answering but makes the bill variable. A hard limit keeps the bill fixed but means your code must handle 429. With IPAPI.GR you can watch usage with GET /api/status (it doesn't count as a lookup) and set usage alerts by email or webhook at up to five thresholds.
Per-day quotas and traffic spikes
ipdata, ipapi.is and IPAPI.GR count per day. That's predictable, but a launch day or a crawler storm can use a day's allowance in hours. Size the plan for your busiest day, not your average. IPAPI.GR's paid plans range from 10.000 to 1.000.000 requests a day, so pick one with headroom above your peak; the free plan's 1.000 a day can run out quickly on a busy site.
Cutting your cost on any provider
The cheapest lookup is the one you don't make.
- Cache per IP. A visitor's location doesn't change between page views. An in-process map with a one-hour lifetime removes most repeat lookups.
- Skip private and reserved addresses (
10.0.0.0/8,192.168.0.0/16,127.0.0.1,::1,fc00::/7). They have no public location. - Look up once per session and store the result with the session.
- Batch offline work. For log enrichment, deduplicate first, then send up to 100 items per request to the batch endpoint. Identical items in one batch are counted once.
- Only request what you need. Some providers charge more credits for security modules. Don't turn them on for every page view.
Here's a small Node.js helper that does steps 1 to 3 and degrades gracefully when the limit is reached:
// geo-cache.js
const TTL_MS = 60 * 60 * 1000;
const cache = new Map(); // ip -> { at, data }
const PRIVATE = /^(10\.|127\.|192\.168\.|172\.(1[6-9]|2\d|3[01])\.|::1$|f[cd][0-9a-f]{2}:)/i;
export async function lookup(ip) {
if (!ip || PRIVATE.test(ip)) return null;
const hit = cache.get(ip);
if (hit && Date.now() - hit.at < TTL_MS) return hit.data;
try {
const res = await fetch(`https://ipapi.gr/api/lookup/${encodeURIComponent(ip)}?key=${process.env.IPAPI_KEY}`,
{ signal: AbortSignal.timeout(1500) });
if (res.status === 429) return null; // over today's limit: carry on without geo
if (!res.ok) return null;
const data = await res.json();
cache.set(ip, { at: Date.now(), data });
if (cache.size > 50000) cache.delete(cache.keys().next().value); // crude size cap
return data;
} catch {
return null; // timeout or network error: never block the page
}
}And a quick way to estimate how many lookups you actually need, from an Nginx access log:
# distinct client IPs per day = upper bound on lookups per day with per-IP caching
awk '{print $1}' /var/log/nginx/access.log | sort -u | wc -lOn many sites the number of distinct addresses a day is a small fraction of the number of requests. That can move you down a whole pricing tier.
Which plan is the best value?
- Under about 30.000 lookups a month, a free tier is probably enough. Our free tier comparison lists the conditions (commercial use, attribution, HTTPS).
- At around 100k a month, IPAPI.GR Developer (9,00 € a month, VAT included, with bot flags) is the lowest price in the table.
- For volume at a flat price, ip-api.com Pro (unlimited, 13,30 €/month on a 12-month term, with an SLA) is the cheapest option in this list by a wide margin. At 1M a month, IPAPI.GR Growth (29,00 €) comes next; at 10M, ipapi.is Large (100 USD) costs less than IPAPI.GR Scale (199,00 €).
- For privacy detection, compare ipinfo Core, ipdata Business, IP2Location.io Plus/Security, ipregistry and MaxMind Insights on equal terms. IPAPI.GR isn't in that comparison.
- For local lookups with no per-query cost, a downloadable database (MaxMind GeoIP, ipgeolocation.io, ipapi.is, ipregistry datasets) can be cheaper at very high volumes, at the price of running updates yourself.
FAQ
What's the cheapest IP geolocation API?
It depends on volume. On list prices checked on 12 November 2026, IPAPI.GR Developer (9,00 € a month, VAT included, 10.000 requests a day) is the lowest price at around 100k lookups a month, and ip-api.com Pro (13,30 € a month on a 12-month term, unlimited) is the cheapest from about 1M a month upwards. For very small volumes, several free tiers cost nothing. See the conditions in the free tier comparison.
Why is ipinfo so much more expensive at 1M requests?
Core includes 150.000 requests a month and bills the rest as overage at 0,34 USD per 1.000. Core also includes VPN, proxy, Tor and relay detection. IPAPI.GR has none of that, and ip-api.com has a single proxy flag.
Is per-day or per-month billing better?
Per-month suits uneven traffic, because a busy day borrows from quiet ones. Per-day is more predictable and can't be used up in the first week, but needs headroom for your busiest day.
Does IPAPI.GR charge overage?
No. When the daily limit is reached, lookups return 429 until midnight UTC. Nothing extra is billed. See rate limiting in the docs.
Does a batch request count as one request?
Not on most providers, including IPAPI.GR: each distinct item counts as one lookup. Identical strings in the same IPAPI.GR batch are counted once, and invalid items aren't counted.
How often do these prices change?
Often enough that you should click through before you buy. This table was built from the official pages on 12 November 2026.