Trusted IP data and domain intelligence.
Geolocation, anonymity, ownership, network, service and domain data for any IP address, AS or domain. Ask the API about one, or download the databases and query them yourself.
| start_ip | end_ip | provider | confidence | last_seen |
|---|---|---|---|---|
| 216.131.87.112 | 216.131.87.127 | ipvanish | high | 2026-09-08 |
| 208.85.18.71 | 208.85.18.71 | tunnelbear | high | 2026-09-07 |
| 187.13.129.184 | 187.13.129.187 | nordvpn | high | 2026-09-07 |
| 172.235.240.0 | 172.235.240.11 | metrovpn_net | medium | 2026-09-04 |
| 95.170.13.20 | 95.170.13.23 | pingvpn_pingsecure | low | 2026-06-16 |
Look up any address, range, network or country.
Every database answers for one address: where it is, who announces and registered it, whether it hides someone, and what answers on it. Ranges, AS numbers and countries open their own pages of networks, prefixes and providers.
The same answers as JSON: swap the site for api.internetdata.io in any page's address.
One API for addresses, networks and domains.
One GET answers an IP address, an AS or a domain. Unlimited needs no key and has no cap; a paid plan answers every field, and a free account tries them, 100 lookups a day.
curl "https://api.internetdata.io/146.70.116.130"
GET /8.8.8.8GET /AS15169GET /example.comGET /myipPOST /batch{"ip": "146.70.116.130","is_bogon": false,"is_tor": false,"is_relay": false,"is_anycast": false,"is_carrier": false,"is_satellite": false,"is_ssh": false,"is_smtp": false,"is_web": false,"is_dns_resolver": false,"is_bittorrent": false,"tor": {},"relay": {},"location": {"continent": "EU","continent_name": "Europe","country": "AT","country_name": "Austria","timezone": "Europe/Vienna","currency_code": "EUR","currency_name": "Euro","currency_symbol": "€","flag_emoji": "🇦🇹","flag_unicode": "U+1F1E6 U+1F1F9"},"asn": {"asn": 9009,"name": "M247 Europe SRL","domain": "m247global.com","type": "hosting","prefix": "146.70.116.0/24"},"company": {"name": "M247 LTD Vienna Infrastructure","domain": "m247.ro"},"hostname": "","abuse": {"email": "abuse@m247.ro"}}
Which providers we track.
All major VPN and proxy providers, covered deeply.
Every record behind an address.
The registries, operators' own RWHOIS servers, the routing table and our own scans, resolved to the address.
- Used byAPNIC and Cloudflare DNS Resolver project · cloudflare.comHostingIP Company
- Announced byAS13335 Cloudflare, Inc. · 1.1.1.0/24RPKI validIP ASN
- AS recordCLOUDFLARENET · ARINASN Whois
- Registered toAPNIC Research and Development · APNIC-LABS · APNICIP Whois
- Reassigned toNo reassignment publishedIP RWHOIS
- Abuse contacthelpdesk@apnic.netIP Abuse Contact
- Reverse DNSone.one.one.oneIP RDNS
What kind of network it is.
Mobile carrier space with its MCC and MNC, satellite internet space, anycast ranges and CDN edge space, each told apart.
Every address, placed on the map.
Continent, country, region and city for every range, with the city's timezone and postal code, and an accuracy radius for each.
What every address runs.
The SSH, mail and web servers that answer on the open internet, with their banners, certificates and fingerprints, every DNS resolver, and every address a BitTorrent client runs on, from our own measurement.
Every registered domain, and its DNS.
Each domain registered under the generic top-level domains and under .ee, .fr, .nu, .se and .sk and those in use under the other country codes, one name per row, the A, AAAA, MX, NS and CNAME records domains resolve to, a file per record type, and the domains hosted on every IP address.
Or hold the data: four calls.
The same clients wrap the database API: fetch the current build and the digests to verify it against, then query it in your own systems, with no request per address.
database.list()database.metadata(id)database.download(id, fmt, path)database.checksums(id, fmt)import osfrom internetdata import InternetDataclient = InternetData(os.environ["INTERNETDATA_API_KEY"])# what is in today's build, without moving the filemeta = client.database.metadata("vpn_ip_v1")client.database.download("vpn_ip_v1", "mmdb", "./vpn_ip_v1.mmdb")sums = client.database.checksums("vpn_ip_v1", "mmdb")print(meta.updated, meta.entries, sums["sha256"])
Free, unlimited lookups. Every field on a paid plan.
Compare plans and licenses →No key or card needed
- Unlimited lookups
- Try every field, 100 a day
- Location, ASN and service flagsPlus company, abuse email and hostname
- Database downloadsThe Open databases
- Support
Billed monthly
- 250,000 lookups a month
- Then $0.18 per 1,000 lookups
- All our data fieldsAnonymity, city, WHOIS, services and domains
- Database downloadsThe Open databases
- Support48-hour response time
Billed monthly
- 2,000,000 lookups a month
- Then $0.14 per 1,000 lookups
- All our data fieldsAnonymity, city, WHOIS, services and domains
- Database downloadsThe Open databases
- Support24-hour response time
Billed monthly
- 5,000,000 lookups a month
- Then $0.10 per 1,000 lookups
- All our data fieldsAnonymity, city, WHOIS, services and domains
- Database downloadsThe Open databases
- Support12-hour response time
Annual, priced to your volume
- Custom lookup volume
- Negotiated overage rate
- All our data fieldsAnonymity, city, WHOIS, services and domains
- Database downloadsEvery database, licensed per database
- Priority supportNamed contact and agreed response times
No key or card needed
- Unlimited lookups
- Try every field, 100 a day
- Location, ASN and service flagsPlus company, abuse email and hostname
- Database downloadsThe Open databases
- Support
$390.00 billed yearly · save $78.00
- 250,000 lookups a month
- Then $0.18 per 1,000 lookups
- All our data fieldsAnonymity, city, WHOIS, services and domains
- Database downloadsThe Open databases
- Support48-hour response time
$1,990.00 billed yearly · save $398.00
- 2,000,000 lookups a month
- Then $0.14 per 1,000 lookups
- All our data fieldsAnonymity, city, WHOIS, services and domains
- Database downloadsThe Open databases
- Support24-hour response time
$3,990.00 billed yearly · save $798.00
- 5,000,000 lookups a month
- Then $0.10 per 1,000 lookups
- All our data fieldsAnonymity, city, WHOIS, services and domains
- Database downloadsThe Open databases
- Support12-hour response time
Annual, priced to your volume
- Custom lookup volume
- Negotiated overage rate
- All our data fieldsAnonymity, city, WHOIS, services and domains
- Database downloadsEvery database, licensed per database
- Priority supportNamed contact and agreed response times
Database licenses start at $49 a month, each database priced on its own. The licenses
Is there a lookup API?
Yes, at api.internetdata.io: any IP address, AS or domain as JSON, with no key needed on Unlimited and every field on a paid plan. The API page has the endpoints and limits.
How often is the data rebuilt?
Daily for most databases, and weekly for IP RWHOIS, IP RDNS, SSH IP, SMTP IP, DNS Resolver IP, Web IP, Domain List, Domain DNS and IP Hosted Domains. Ask /api/v2/database/metadata before you fetch and it answers updated and entries, so a build is only pulled when it is worth pulling.
Are any of the databases free?
Yes: Tor IP, Relay IP, IP ASN, ASN, IP Country, IP Timezone, IP Country Flag, IP Country Currency, Anycast IP, Bogon IP and Bogon ASN are free with an account, under CC BY-SA 4.0, and download from the console as soon as you sign up.
Can we see the data before we commit?
Yes. Every database's page shows real rows from it, and on a licensed one Download sample gets you a file cut from the current build, or for Residential Proxy IP and Mobile Proxy IP asks us for a slice. An evaluation license puts the full build in your hands for a fixed period under NDA, then converts into whichever license fits.
Can we resell or embed the data?
Yes, under a redistribution license. Your license type shows against each database you hold in the console: Evaluation, Standard or Redistribution.
Do the MMDB files work with our existing readers?
Yes, through a reader's generic lookup: they're MaxMind DB files, so libmaxminddb and the maxminddb libraries open them, and each database's docs name its fields. A GeoIP2 reader's city() or country() expects MaxMind's own field layout, which ours doesn't follow.
What happens when a classification is wrong?
Send the address and what you observed. Corrections are investigated against the raw observations and, where we agree, land in the next build, and we tell you which build carries the change.
Test the real build first.
An evaluation license puts a full current build in your hands, with no sampling, so you can measure it against your own traffic before anyone talks about terms.