Sell to real shoppers, in their own currency.
One lookup per visit says where a shopper is, what currency they pay in and whether the order comes through a proxy pool or a hosting server. A domain lookup says whether their email will ever answer.
- Order #48213203.0.113.24Residential ProxyReview
- Visitor on /shop198.51.100.7Munich, GermanyEURPrices in EUR
- Sign-updeals4u@tempinbox.exampleDisposableRefused
- Order #48214192.0.2.140ISPHome broadbandApproved
The checkout problems one lookup solves.
Card testing
Bots try stolen cards through proxy pools so each attempt looks like a new shopper. Hold orders from proxy exits for review.
Answered byis_resproxyis_dcproxyLocal prices
Shoppers abroad see prices in a currency they don't use. Show their own currency and timezone on the first page they open.
Answered bylocation.currency_codelocation.timezoneThrowaway sign-ups
Coupon hunters sign up again and again with disposable inboxes. Refuse a domain with no mail server or a disposable one.
Answered byhas_mxis_disposableShipping mismatches
An order ships to one country from a connection in another, behind a VPN. Review it when the address disagrees with the shipping country.
Answered bylocation.countryis_vpn
One answer for the order, one for the email.
The country, currency and timezone, Tor, relays and a domain's mail records answer with no key and no daily or monthly cap. Proxy, VPN and hosting flags, the city and postal code, and the disposable flag come with every paid plan, and Pricing lists every field by plan.
location.country, currency_codeThe country and its currency, with the timezone beside them.Unlimitedlocation.city, postal_codeThe city and postal code, to compare with the shipping address.Paid plansis_resproxy, is_mobproxyResidential and mobile proxy exits, with the last day each was seen.Paid plansis_hostingA hosting or cloud server, where checkout bots run.Paid plansis_vpnA commercial VPN's exit, with the service named.Paid planshas_mxWhether the email's domain publishes a mail server.Unlimitedis_disposableA disposable email domain, with the providers behind it.Paid plans
Put the checks where shoppers arrive and pay.
- 01
On the first page
Read the country and currency as the page renders, so prices show in the shopper's own money. Keep their own choice once they make one.
- 02
At sign-up
Look up the email's domain before sending a confirmation. A domain with no mail server, or a disposable one, never reaches your list or your coupons.
- 03
At checkout
Look up the order's address. A proxy exit, or a country that disagrees with the shipping address, goes to review, and a home connection goes straight through.
Start free, then add every field.
The same code runs with no key and with one: without a key it answers the free fields, and an upgrade adds the rest with no change to the code.
- 1
Call it with no key
UnlimitedRun the code on this page as it is, with no account.
- 2
Sign up for a key
No cardYour account's first 100 lookups each day answer every field, so you can try the proxy checks and the disposable flag on real orders.
- 3
Upgrade for every lookup
From $39 a monthEvery paid plan answers every field on every lookup, and takes up to 1,000 lookups in one request.
import { InternetData } from "@internetdata/internetdata";// No key needed. With one, every field answers.const client = new InternetData({ apiKey: process.env.INTERNETDATA_API_KEY });export async function checkOrder(order) {const r = await client.lookup(order.ip);// Proxies, VPNs and hosting answer on a paid plan.if (r.isResproxy || r.isDcproxy || r.isVpn || (r.isHosting && !r.isRelay)|| r.location.country !== order.shipTo.country) {return holdForReview(order);}return approve(order);}
Also available for Web, .NET, Ruby, Rust, Swift, Erlang, Perl and Zig. See all on GitHub →
Common questions
Should every order from a proxy be refused?
Usually not. Hold it for review: a residential proxy exit is often a real household's connection that's also resold. A paid plan's resproxy object says on what share of the last 90 days the address was seen as one, so a rule can weigh it.
Which currency does it answer?
The currency of the country the address is in: its ISO 4217 code, name and symbol, on every plan with no key.
Can it catch a coupon abuser's throwaway email?
Yes, with a domain lookup on a paid plan: is_disposable marks a disposable email domain and names the providers behind it. has_mx, on every plan, says whether the domain publishes a mail server at all.
How close is the city to the shipping address?
Check the country first, then the city: a paid answer's city comes with accuracy_radius, the kilometers around it that hold the true location with 67% confidence.
What about shoppers on mobile data?
A carrier's address answers with its country and network like any other, with is_carrier set on every plan, and a paid plan names the carrier. Only one that's also resold as a proxy answers is_mobproxy.
Other industries
All industries →- FintechOnboarding by country, sanctioned regions and account takeoverlocation.countrylocation.region_codeasn, company
- AdvertisingInvalid traffic, local targeting and business audiencesis_hostingis_dcproxy, is_resproxylocation.country, timezone
- SaaSAccount enrichment, trial abuse and data residencycompanycompany.type, countrylocation.country, continent
Unlimited lookups, no sign-up.
Paste it into a terminal. Any address answers with its country, network, company and hostname, with no key and no daily or monthly cap. ASes and domains answer too.
{"ip": "8.8.8.8","is_bogon": false,"is_tor": false,"is_relay": false,"is_anycast": true,"is_carrier": false,"is_satellite": false,"is_ssh": false,"is_smtp": false,"is_web": true,"is_dns_resolver": true,"is_bittorrent": false,"hostname": "dns.google","location": {"continent": "NA","continent_name": "North America","country": "US","country_name": "United States","timezone": "America/Los_Angeles","currency_code": "USD","currency_name": "Dollar","currency_symbol": "$","flag_emoji": "🇺🇸","flag_unicode": "U+1F1FA U+1F1F8"},"asn": {"asn": 15169,"name": "Google LLC","domain": "google.com","type": "hosting","prefix": "8.8.8.0/24"},"company": {"name": "Google LLC","domain": "google.com"},"tor": {},"relay": {},"abuse": {"email": "network-abuse@google.com"}}
All of the data on a paid plan.
A free API key answers every field for its first 100 lookups each day, with no card.