IP data for developers

Complete IP intelligence.

Geolocation, ASN, organisation, datacenter & VPN detection — in one REST endpoint and in MMDB downloads. Free up to 2,000 API requests per month plus one free MMDB download (lifetime). Pay-as-you-go beyond, at $0.40 per 1,000 requests.

255K+ IPv4 prefixes 519K+ ASNs <20ms p95 latency Live status
api.ip-atlas.io
// click Lookup to run a real request against api.ip-atlas.io/json/{ip}

Anonymous: 60 req/min per IP. Get an API key for production use.

255,000+
IPv4 prefixes
519,000+
ASNs catalogued
18
response fields, every tier
$0.40/1k
overage, transparent
What you get in a response

Every field free. No paywall on data.

Many IP intelligence services pushed city, region, coordinates, and privacy signals to expensive paid tiers. IP-Atlas keeps every field on the Free plan and every paid plan. Some optional fields (postal, timezone) have partial coverage that improves as we expand source data — see the docs for details. You pay for throughput, never for a field.

Response field IP-Atlas Free IP-Atlas Paid
ip
country · country_name
continent_code
region · city
latitude · longitude
postal (where available)
timezone (where available)
asn · org
is_datacenter
is_vpn · is_proxy
abuse_contact

Every field listed above is available on the Free plan — no field gating at any tier.

Developer experience

One integration in every language.

Full API reference →

curl

# Single IP lookup — anonymous 60/min, or X-API-Key for quota + overage
curl https://api.ip-atlas.io/json/8.8.8.8 \
  -H "X-API-Key: ipa_live_..."

Node / TypeScript

import { IPAtlas } from '@trellisdigitalservices/ip-atlas';
const ipa = new IPAtlas({ apiKey: 'ipa_live_...' });
const r   = await ipa.lookup('1.1.1.1');
const all = await ipa.lookupBatch(['8.8.8.8', '1.1.1.1']);

Python

from ipatlas import IPAtlas
ipa = IPAtlas(api_key="ipa_live_...")
r   = ipa.lookup("1.1.1.1")
info = ipa.account()  # plan, usage, overage accrued

Go

req, _ := http.NewRequest("GET", "https://api.ip-atlas.io/json/8.8.8.8", nil)
req.Header.Set("X-API-Key", "ipa_live_...")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
Pricing

Four subscription tiers + pay-as-you-go. All inclusive — no per-field upsells.

Start free, scale to Plus, Pro, or Business when you need fresher MMDB refreshes and higher API quotas. Or skip the subscription and pay only for what you use.

Free
$0/mo
Try every feature. Non-commercial use.
  • 2,000 API requests/month
  • 1 country-level MMDB (one-time)
  • Up to 2 active API keys
  • Card required (never charged on Free)
Pro
$79/mo
For growing apps that need fresher data and more headroom.
  • 1,000,000 API requests/month
  • Weekly full MMDB refresh
  • Overage: $0.40 / 1,000
  • Up to 20 active API keys
Business
$249/mo
For high-volume products that need the freshest data.
  • 10,000,000 API requests/month
  • Daily full MMDB refresh
  • Overage: $0.40 / 1,000
  • Up to 100 active API keys
Pay-as-you-go also available. Skip the subscription — pay $0.40 per 1,000 API requests and $25 per full MMDB download, billed monthly. Card required at signup; you're never blocked mid-flow. Set a hard spend cap from your dashboard.

Need 500M+ requests/mo, a custom contract, EU residency, or a Snowflake export? Talk to us about Enterprise.

How we compare

IP-Atlas vs. the market.

An honest side-by-side. We don't name competitors — use the prices below to verify against their own pricing pages.

Feature IP-Atlas Competitor
Free tier MMDB1 country-level download (commercial OK after upgrade)Not included
Free tier API requests2,000 / mo50k / mo (no commercial use)
Cheapest paid plan$19/mo$49/mo
API requests at cheapest plan150,000~150,000
MMDB on cheapest paid planYes (monthly refresh)No (MMDB starts at $999+ / mo)
Per-1k overage$0.40$0.54
Pay-as-you-go (no subscription)Yes ($0.40 / 1k)No

Numbers from publicly published 2026 pricing. We never link to or name competitors; the comparison is provided as a service to evaluators.

FAQ

Questions people ask before signing up.

Why do you require a card?

Every account starts with a card on file. This is what makes the "just keep working" UX possible — you're never blocked by a quota error in the middle of a feature. Your card is not charged until you exceed the free baseline (2,000 API requests per month plus your one free MMDB download (lifetime)). You can set a hard spend cap or pause usage anytime from your dashboard.

What exactly gets billed on overage?

Once you cross your monthly quota, each additional 1,000 requests is billed at $0.40 per 1,000 requests on every plan. Usage is tallied live and invoiced on the 1st of the next month via Stripe. We round up to 1,000 in your favour at cycle-close.

What stops me from being surprised by a huge bill?

Two things. (1) You get a warning email at 80% and another at 95% of your monthly quota. (2) You can set a hard spend cap in the dashboard — once the cap is hit, requests 429 until the next cycle. Default is "unlimited overage"; you opt in to the cap.

Why are your prices lower than the alternatives?

We operate a single-region lookup service with public-domain RIR + ASN data as the substrate, a tightly-scoped Go server, and a single developer. We don't carry a salesforce, brand licensing, or a large ML team. Our margin is real but narrow; at 150k req/mo our cost is a few cents so our $19 retail is fair.

Can I self-host with an MMDB instead of calling the API?

Yes. Automated full MMDB is included in every paid plan — Plus (monthly), Pro (weekly), Business (daily). Pay-as-you-go gets on-demand downloads at $25 per download. You get the same fields offline — useful when you can't tolerate an outbound HTTP call on every request. See MMDB downloads.

What happens if the site goes down?

/status polls /health directly from your browser. We operate on a best-effort basis; see the Terms §5 for details.

Who operates IP-Atlas?

Read the About page for the full story of why we built this.