IP intelligence API
Know who is behind every IP address.
One request tells you if an IP is a VPN, a proxy, a Tor exit or a data centre. You also get the VPN provider and the evidence behind each flag.
# Check one IP address $ curl https://api.litedar.com/v1/ip/… \ -H "Authorization: Bearer $LITEDAR_KEY"
const url = "https://api.litedar.com/v1/ip/…"; const res = await fetch(url, { headers: AUTH }); const ip = await res.json();
import requests url = "https://api.litedar.com/v1/ip/…" ip = requests.get(url, headers=AUTH).json()
Signals in every response
- VPN
- Proxy
- Tor exit
- Private relay
- Data centre
- Abuse
- IPv4 + IPv6
Product
Every flag, with the evidence behind it.
No black-box score. Each answer gives simple flags, a published score, and the reason for each flag.
Yes or no, per signal
VPN, proxy, Tor, private relay, hosting and abuse. null means that we do not check this signal yet.
Score and level
A 0–100 score from a published rule, and a level: low, medium or high. You choose the action.
Why we say so
Provider, claimed location, confidence, kind of evidence, listed range, and the first and last date we saw it.
Network and location
ASN, AS name and route. Country, region, city and coordinates, with the source.
// Loading…
Use cases
One API for every IP decision.
The same fields serve sign-up, age checks, checkout, streaming and games. You write the rule for your risk.
Sign-up abuse
Stop bulk fake accounts from VPNs, proxies and data centres.
if (ip.is_anonymous || ip.is_hosting) challengeSignup()Age assurance
Ask for an age check when a user hides behind a VPN. Private relay keeps the user's region, so iPhone users pass.
if (ip.is_vpn || ip.is_proxy || ip.is_tor) requireAgeCheck()Fraud and payments
Add IP signals to checkout rules and cut card testing.
if (ip.risk.level === "high") require3DS()Streaming
Show only the licensed catalogue when a viewer appears from a VPN server.
if (ip.is_vpn || ip.is_proxy) limitCatalogue()Gaming
Stop banned players who come back through a VPN or Tor.
if ((ip.is_vpn || ip.is_tor) && wasBanned(user)) denyJoin()E-commerce
Stop one person from claiming a promo code a hundred times.
if (ip.risk.level !== "low") limitPromo()Designed for developers
One endpoint. Five minutes to ship.
Send a GET request with your key. Get JSON back. That is the whole integration.
- Get a keySign up and copy your key. No call, no contract.
- Call the APIFrom your back end, at sign-up, login or checkout.
- Write your ruleBlock, challenge or flag. You decide.
/v1/ip/{ip}/v1/ip/batch up to 1,000 IPs, paid plans| Field | Type | Meaning |
|---|---|---|
is_vpn, is_proxy, is_tor, is_relay, is_hosting, is_abuser | boolean | null | One flag per signal. null: not checked yet. |
is_anonymous | boolean | True if VPN, proxy, Tor or relay is true. |
risk.score | 0–100 | Score from a published rule. |
risk.level | string | low, medium or high. |
detections[].type | string | vpn, proxy, tor, relay, hosting or abuse. |
detections[].provider | string | null | The VPN, proxy or network brand. |
detections[].provider_location | object | null | The location that the VPN provider claims. |
detections[].confidence | string | high, medium or low, from a written rule. |
detections[].evidence[] | object[] | Kind of evidence and the listed range. |
detections[].first_seen, last_seen | date | First and last day we saw it. |
network.asn, as_name, route | integer, string | Network owner. |
location.* | string, number | Country, region, city, lat, lon, source. |
upgrade_for | string[] | Free plan only: the paid fields that it leaves out. |
Playground
Try any IP address.
Same response as the API. You get 10 full lookups a day. After that you see the free-plan fields.
// The response shows here.
Pricing
Start with every field for 14 days. No card.
After the trial you keep a free plan. Upgrade from the dashboard when you need more. Cancel at any time.
Starter
For a growing app.
$49/mo
Billed monthly
100,000 lookups / month
Join the waiting list- Every field: provider name, evidence, confidence, dates
- City and coordinates
- Batch endpoint, 1,000 IPs per call
- Overage $0.60 / 1,000
Growth
For sign-up and checkout at scale.
$149/mo
Billed monthly
500,000 lookups / month
Join the waiting list- Everything in Starter
- Overage $0.40 / 1,000
Business
For high-traffic platforms.
$499/mo
Billed monthly
2,000,000 lookups / month
Join the waiting list- Everything in Growth
- Overage $0.30 / 1,000
Enterprise
For platforms and data partners.
Custom
Annual contract
Custom volume
Contact us- Everything in Business
- Data licence
- SLA
- Accuracy details under NDA
Free 14-day trial with every field. Then 5,000 lookups / month with the flags, the risk score, the network and the country. No card.
Join the waiting listPrices in USD. Every paid plan has a 99.9% uptime target and a public status page. Every plan scales with overage, with no sales call.
Free tools
Free checks for you and your users.
FAQ
Questions from developers.
How is this different from an IP geolocation API?
Geolocation tells you where an address is. Litedar tells you what kind of address it is: a home connection, or a VPN, proxy, Tor exit or data centre. Location fields are included.
Can I block VPN users, or only flag them?
Both. Litedar gives flags, a score and a level. You write the rule: block, ask for a second factor or send the request to manual review.
What does the free plan include?
Each new account gets 14 days with every field. After that, the free plan gives 5,000 lookups a month with the flags, the risk score, the network and the country. The response lists the paid fields in upgrade_for.
Why is a flag sometimes null?
null means that we do not check that signal yet, for example residential proxies. false means that we checked and found nothing. We never show "clean" when we do not know.
Do you support IPv6?
Yes. Every field works for IPv4 and IPv6 addresses.
When can I get a key?
The API is in development. Join the waiting list and we will send you a key when it opens.
Ship IP checks this month.
Join the waiting list. We send you a key and a 14-day trial when the API opens.
- Self-serve keysNo sales call. Copy your key and start.
- Pay as you growPlans from $49 a month, with overage. Cancel at any time.