Route players well, and keep bans in place.
Each connection's address says where the player is, whose network they're on and whether they hide behind a VPN, a proxy or a hosting server. Use it to pick their region and to keep banned players and bot farms out.
- Kai joined198.51.100.7Osaka, JapanAsia/TokyoTokyo region
- xAce joined203.0.113.24VPNNordVPNKicked
- farm_0193 joined192.0.2.140HostingKicked
- Mia joined203.0.113.91CarrierT-MobileJoined
Better matches, and bans that stick.
Region routing
Players far from a server lag and leave. Send each to the closest region by the city's coordinates, or by the country.
Answered bylocation.latitudelocation.countryBan evasion
A banned player comes back on a VPN or a fresh proxy address. Check on connect, and the ban holds.
Answered byis_vpnis_resproxyBot farms
Bots run from hosting servers and datacenter proxies, where real players connect from home and mobile lines. Turn them away on connect.
Answered byis_hostingis_dcproxySatellite and mobile players
A geostationary satellite link lags wherever the server is. Spot it and match those players with each other rather than with fiber.
Answered byis_satelliteis_carrier
Where players are, and what they hide behind.
Tor, the country and timezone, and the satellite and carrier flags answer with no key and no daily or monthly cap. VPN, proxy and hosting flags and the city's coordinates come with every paid plan, and Pricing lists every field by plan.
location.country, timezoneThe country and timezone, for regions and event times.Unlimitedlocation.latitude, longitudeThe city's coordinates, with an accuracy radius.Paid plansis_vpnA commercial VPN's exit, with the service named.Paid plansis_resproxySomeone's home connection resold as a proxy.Paid plansis_hosting, is_dcproxyHosting servers and datacenter proxies, where bots run.Paid plansis_satellite, is_carrierSatellite and mobile carrier networks; a paid plan names the operator and a satellite's orbit.Unlimitedis_torA Tor node, from the public Tor set, rebuilt daily.Unlimited
Check each player as they connect.
- 01
On connect
Look up the address before the player spawns, so a banned player on a VPN never reaches the match. The official clients keep each answer for an hour, so a reconnect costs no lookup.
- 02
In matchmaking
Use the city's coordinates, or the country, to pick the nearest region. Group players on satellite links together where you can.
- 03
At account creation
Hold accounts made from hosting servers or datacenter proxies for review. That's where alt and bot accounts come from, not players at home.
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 VPN, proxy and hosting checks on real players.
- 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 onConnect(player) {const r = await client.lookup(player.ip);// VPNs, proxies and hosting answer on a paid plan.if (r.isTor || r.isVpn || r.isResproxy || r.isDcproxy|| (r.isHosting && !r.isRelay)) {return kick(player);}// The coordinates are a paid plan's; the country is every plan's.const { country, latitude, longitude } = r.location;return joinRegion(player, nearestRegion(country, latitude, longitude));}
Also available for Web, .NET, Ruby, Rust, Swift, Erlang, Perl and Zig. See all on GitHub →
Common questions
Can a game server check players without a key?
Yes. Unlimited answers Tor, the country, the timezone and the satellite and carrier flags with no key and no cap, so a server plugin can ship today. VPN and proxy flags take a paid plan's key.
Will players on a mobile hotspot be kicked?
No. A mobile carrier's address answers as ordinary traffic, with is_carrier set on every plan. Only one that's also resold as a proxy answers is_mobproxy, on a paid plan.
Which region does a VPN user belong in?
Where their VPN's server is, since that's where their traffic comes from: the answer's location is the exit's. is_vpn says it's a VPN, so you can ask the player to pick.
Do bans hold across new accounts?
Better than by address alone: a banned player usually comes back through a VPN, a proxy or a hosting server, which a paid plan flags on their first connection.
Can every server keep a local copy?
Yes. The same data comes as databases you license and load into each server, with no call per player; database licenses start at $49 a month.
Other industries
All industries →- StreamingTerritory rights, local blackouts and VPN viewerslocation.countrylocation.region_codelocation.dma_code
- SaaSAccount enrichment, trial abuse and data residencycompanycompany.type, countrylocation.country, continent
- AdvertisingInvalid traffic, local targeting and business audiencesis_hostingis_dcproxy, is_resproxylocation.country, timezone
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.