ipinfo.io dropped free city-level geo; here are your options
If you built anything that maps IP addresses to cities, timezones, or coordinates using ipinfo.io's free tier, you probably noticed the change in 2025. The free Lite plan now returns country-level data only. No city. No region. No coordinates. No timezone. The fields that made it useful for localization, analytics, and fraud detection are gone unless you pay $49/month for the Basic plan.
This guide compares ipinfo.io's current pricing with free alternatives, shows working code you can run in 30 seconds, and is upfront about what each option does and doesn't cover.
What changed at ipinfo.io
Before 2025, ipinfo.io's free tier included city-level geolocation for up to 50,000 requests per
month. You could hit ipinfo.io/json and get back city, region, coordinates, timezone,
and postal code. Many developers hardcoded this into their onboarding flows, analytics pipelines,
and content localization logic.
The restructured pricing looks like this:
- Lite (free): Country code, continent, flag. 1,000 requests/day unauthenticated. No city, region, coordinates, or timezone.
- Basic ($49/mo): City-level geolocation, ASN data. This is the first tier with the fields most developers need.
- Business ($499/mo): Adds VPN/proxy detection, company data, carrier info.
- Enterprise ($999+/mo): Privacy detection, hosted domains, abuse contacts.
If you were using the free tier for city-level lookups, your code now returns incomplete data. The "city" and "region" fields are empty or missing entirely.
Feature comparison: ipinfo.io vs botoi
Here's a side-by-side comparison of what each service offers and at which price tier.
| Feature | ipinfo.io | botoi |
|---|---|---|
| Country-level IP geo | Free (Lite) | Free |
| City, region, coordinates | $49/mo (Basic) | Free (caller IP only) |
| Timezone from IP | $49/mo (Basic) | Free |
| ASN / Org data | $49/mo (Basic) | Free |
| VPN / proxy detection | $499/mo (Business) | Free |
| WHOIS / RDAP lookup | Not offered | Free |
| IP blocklist check | Not offered | Free |
| Bulk IP lookup | $49/mo (Basic, up to 1000) | Free (up to 10 per request) |
| Reverse DNS (PTR) | $499/mo (Business) | Free |
| Arbitrary IP to city | $49/mo (Basic) | Not available |
| Carrier / mobile detection | $499/mo (Business) | Not available |
| Database downloads | $49/mo+ (all paid plans) | Not available |
| Company enrichment | $499/mo (Business) | Not available |
| DNS security (SPF/DMARC/DKIM) | Not offered | Free |
| Email validation | Not offered | Free |
| 150+ developer API endpoints | No (IP data only) | Yes |
The key trade-off: ipinfo.io has a comprehensive IP intelligence database that maps any IP address to a physical location. Botoi returns city-level geo for the caller's own IP using Cloudflare's edge network data, which covers the most common use case (geolocating your own visitors). If you need to look up arbitrary third-party IPs to city level, ipinfo's paid plans or a self-hosted MaxMind database are the right tools.
Try it in 30 seconds
No signup required. These curl commands work immediately against the live API.
Get your IP's geolocation
curl -X POST https://api.botoi.com/v1/ip/lookup \
-H "Content-Type: application/json" Response:
{
"success": true,
"data": {
"ip": "203.0.113.42",
"city": "San Francisco",
"region": "California",
"country": "US",
"countryName": "United States",
"latitude": 37.7749,
"longitude": -122.4194,
"timezone": "America/Los_Angeles",
"postalCode": "94102",
"asn": 13335,
"asnOrg": "Cloudflare, Inc.",
"continent": "NA"
}
} You get city, region, country, coordinates, timezone, postal code, and ASN data in one call. This is the data ipinfo.io now charges $49/month for.
Detect VPNs and proxies
curl -X POST https://api.botoi.com/v1/vpn-detect \
-H "Content-Type: application/json" Response:
{
"success": true,
"data": {
"ip": "203.0.113.42",
"isVpn": false,
"isProxy": false,
"isTor": false,
"isDatacenter": true,
"riskScore": "medium",
"provider": "Cloudflare, Inc."
}
} VPN detection at ipinfo costs $499/month on the Business plan. Botoi includes it in the free tier.
Use it in your app
Here's a practical example: auto-detecting a visitor's timezone and suggesting the right currency during onboarding.
async function getVisitorLocation() {
const res = await fetch("https://api.botoi.com/v1/ip/lookup", {
method: "POST",
headers: { "Content-Type": "application/json" },
});
const { data } = await res.json();
return {
city: data.city,
region: data.region,
country: data.countryName,
coords: [data.latitude, data.longitude],
timezone: data.timezone,
};
}
// Use it in a Next.js API route, Express middleware, etc.
app.get("/onboarding", async (req, res) => {
const location = await getVisitorLocation();
res.json({
suggestedCurrency: currencyForCountry(location.country),
suggestedTimezone: location.timezone,
});
}); Bulk lookup and WHOIS
Need to check multiple IPs at once? The bulk endpoint accepts up to 10 IPs per request:
curl -X POST https://api.botoi.com/v1/ip/bulk \
-H "Content-Type: application/json" \
-d '{
"ips": ["8.8.8.8", "1.1.1.1", "208.67.222.222"]
}' For network ownership details (ASN, organization, CIDR range), use the WHOIS endpoint:
curl -X POST https://api.botoi.com/v1/ip-whois/lookup \
-H "Content-Type: application/json" \
-d '{ "ip": "8.8.8.8" }' Pricing comparison
| Plan | ipinfo.io | botoi |
|---|---|---|
| Free | Country only, 1K req/day | City-level geo, VPN detect, WHOIS, 5 req/min (anon) or 1,000 req/day (free key) |
| Starter / Basic | $49/mo; city geo, ASN, 150K req/mo | $9/mo; all endpoints, higher rate limits |
| Mid-tier | $499/mo; VPN detection, company data | $49/mo; all endpoints, priority support |
| Top tier | $999+/mo; enterprise features, SLA | $199/mo; all endpoints, highest rate limits |
The pricing models are different. ipinfo charges based on which data types you need access to; VPN detection is locked behind the $499/mo Business plan. Botoi gives every endpoint to every plan and charges based on request volume.
What botoi doesn't do
Honesty matters when you're picking infrastructure. Here's where botoi falls short compared to ipinfo.io:
- Arbitrary IP-to-city lookups. Botoi's
/v1/ip/lookupreturns city-level geo for the caller's IP address. It uses Cloudflare'scfobject, which means the geo data comes from Cloudflare's edge node handling your request. You can't pass in a random IP and get back its city. If you need to geolocate IPs from a log file or a list of customer IPs, you need ipinfo's paid plan or a self-hosted MaxMind GeoLite2 database. - Carrier and mobile detection. ipinfo identifies mobile carriers (AT&T, Vodafone, etc.) and connection types. Botoi doesn't offer this.
- Database downloads. ipinfo provides downloadable databases (CSV, MMDB) you can host yourself for zero-latency lookups. Botoi is API-only; there are no offline databases.
- Company enrichment. ipinfo maps IPs to company names, domains, and employee
counts at the Business tier. Botoi has a basic
/v1/companyendpoint but it's not comparable in depth. - Hosted domains. ipinfo can tell you which domains are hosted on a given IP. Botoi doesn't have this feature.
If your use case is "geolocate my own visitors for localization, analytics, or fraud scoring," botoi's free tier covers it. If your use case is "build an IP intelligence platform that maps any IP in the world to a physical location," ipinfo is the better tool.
Beyond IP data
One difference worth noting: ipinfo is a focused IP data provider. Botoi is a developer tools platform with 150+ API endpoints across six categories. When you sign up for a botoi API key, you also get access to:
- QR code and barcode generation
- PDF generation from HTML and Markdown
- Website screenshot capture
- JSON/YAML/CSV transformation
- Email validation and disposable email detection
- DNS security checks (SPF, DMARC, DKIM)
- Hash generation, JWT decoding, cron parsing
- OG image generation, favicon extraction
- PII detection and text processing
If you're already paying for separate services for any of these, consolidating to one API key simplifies your stack. Full endpoint list is in the API documentation.
Key points
- ipinfo.io's 2025 free tier no longer includes city, region, coordinates, or timezone. You need the $49/mo Basic plan for those fields.
-
Botoi's
/v1/ip/lookupreturns city-level geo for the caller's IP at no cost. VPN detection, WHOIS, reverse DNS, and IP blocklist checks are also free. - The main limitation: botoi returns city-level geo for the caller's own IP only, not arbitrary IPs. For third-party IP lookups, you need a dedicated IP database.
- ipinfo is stronger for comprehensive IP intelligence: carrier data, database downloads, company enrichment, hosted domains.
- Botoi is stronger for breadth: 150+ endpoints covering IP data, text processing, image generation, and developer utilities under one API key.
Frequently asked questions
- What's the best free alternative to ipinfo.io?
- Botoi is the closest free replacement for ipinfo.io's old free tier. The /v1/ip/lookup endpoint returns city, region, country, coordinates, timezone, postal code, and ASN data for the caller's IP at no cost. VPN detection, WHOIS, and reverse DNS are also free. For arbitrary IP-to-city lookups (looking up someone else's IP), self-hosted MaxMind GeoLite2 is the best free option since botoi only geolocates the caller's own IP.
- Is there an IP geolocation API that doesn't log requests?
- Botoi's IP lookup endpoints run on Cloudflare Workers and don't persist request bodies, IP addresses, or lookup results to any database. Anonymous requests (no API key) carry no account identifier at all. Only aggregated rate-limit counters and standard edge logs are kept short-term for abuse prevention. If you need a stronger guarantee, self-hosted MaxMind GeoLite2 keeps lookups entirely on your own infrastructure with zero outbound traffic.
- How accurate is botoi's IP API vs ipinfo?
- For the caller's own IP, botoi's city-level accuracy matches ipinfo closely because both ultimately rely on the same upstream geolocation databases (MaxMind, IP2Location) combined with edge network signals. Country accuracy is ~99% for both. City accuracy is ~75-85% for residential IPs and drops for mobile and VPN traffic. The key difference: ipinfo can resolve any IP you pass it, while botoi resolves only the caller's IP using Cloudflare's edge data. For geolocating your own visitors, the accuracy gap is negligible.
- Why did ipinfo.io remove city-level data from the free tier?
- In 2025, ipinfo.io restructured its pricing. The free Lite plan now returns country-level data only (country code, continent, flag). City, region, coordinates, and timezone require the Basic plan at $49 per month. Previously, the free tier included city-level geolocation for up to 50,000 requests per month.
- Can I look up geolocation for any arbitrary IP address for free?
- Botoi's /v1/ip/lookup returns city-level geo for the caller's own IP address. For looking up arbitrary third-party IPs to city level, you need a dedicated IP geolocation database like MaxMind GeoLite2 or ipinfo's paid plans. Botoi's /v1/ip/bulk endpoint accepts up to 10 IPs per request but returns network-level data, not city-level geo for arbitrary IPs.
- How does botoi detect VPNs and proxies for free?
- The /v1/vpn-detect endpoint analyzes the caller's IP and returns boolean flags for VPN, proxy, Tor, and datacenter connections along with a risk score. It runs on Cloudflare Workers, which has built-in signals for identifying non-residential traffic. No API key is required for anonymous access at 5 requests per minute.
- What are the rate limits for botoi's free IP geolocation API?
- Anonymous access (no API key) allows 5 requests per minute across all endpoints. A free API key (no credit card required) provides 1,000 requests per day. Paid plans start at $9 per month for higher rate limits. There are no per-endpoint limits; the rate limit applies across your entire API usage.
Try this API
IP Geolocation API — interactive playground and code examples
More guide posts
Start building with botoi
150+ API endpoints for lookup, text processing, image generation, and developer utilities. Free tier, no credit card.