is_aiGPTBot · ClaudeBotAI crawlers & agents
Training crawlers, AI search and retrieval fetchers, and AI agents, from OpenAI and Anthropic to Perplexity and Mistral.
IPAPI.GR · IP intelligence API GET ipapi.gr/api/lookup/{ip|domain}
Geolocation, ISP and ASN for any IPv4, IPv6 address or domain, plus AI, crawler and scanner flags that tell you which requests come from known AI crawlers, search crawlers and internet scanners.
Example addresses · all covered operators
is_crawlertrue
is_aitrue
is_crawlertrue
is_scannertrue
{ "ip": "8.8.8.8", "country": "United States", "country_code": "US", "region": "California", "city": "Mountain View", "latitude": 37.4056, "longitude": -122.0775, "timezone": "America/Los_Angeles", "isp": "Google LLC", "organization": "Google LLC", "asn": "15169", "zipcode": "94043", "risk": { "is_ai": false, "is_crawler": false, "is_scanner": false } }
Live counter 653.902.597 lookups answered by the API so far
01 · The response
Every lookup returns the same predictable, normalized shape: ISO country codes, IANA timezones, clean ASNs.
{ "ip": "8.8.8.8", "country": "United States", "country_code": "US", "region": "California", "city": "Mountain View", "zipcode": "94043", "latitude": 37.4056, "longitude": -122.0775, "timezone": "America/Los_Angeles", "isp": "Google LLC", "organization": "Google LLC", "asn": "15169", "risk": { "is_ai": false, "is_crawler": false, "is_scanner": false } }
02 · Bot signals
Three yes/no flags tell you when a request comes from a known AI crawler, search crawler or internet scanner, so you can allow, throttle or filter it before it skews your analytics.
is_aiGPTBot · ClaudeBotTraining crawlers, AI search and retrieval fetchers, and AI agents, from OpenAI and Anthropic to Perplexity and Mistral.
is_crawlerGooglebot · YandexBotSearch engines, SEO and site-audit tools, uptime monitors, feed readers and web archives: the real Googlebot, not a scraper borrowing its name.
is_scannerCensys · ShodanResearch and attack-surface scanning projects that probe the whole internet, so their hits stay out of your alerts.
03 · How it works
Validate the input. Domains are resolved to their address.
Find the country, region, city, coordinates, timezone and network for the address.
Return ISO country codes, IANA timezones and clean ASNs in one predictable shape.
Tell whether the address belongs to a known AI crawler, search crawler or internet scanner.
Send one JSON response. Fields with no answer say "No Data" instead of guessing.
04 · Integrate
One endpoint, one query parameter. Create up to 20 API keys per account (one per app or server), all sharing your daily allowance.
GET https://ipapi.gr/api/lookup/{ip-or-domain}?key=YOUR_API_KEY
curl "https://ipapi.gr/api/lookup/8.8.8.8?key=YOUR_API_KEY"
const res = await fetch(
"https://ipapi.gr/api/lookup/8.8.8.8?key=" + process.env.IPAPI_KEY
);
const data = await res.json();
console.log(data.country_code, data.asn, data.risk?.is_ai);
import os, requests
r = requests.get(
"https://ipapi.gr/api/lookup/8.8.8.8",
params={"key": os.environ["IPAPI_KEY"]},
timeout=5,
)
data = r.json()
print(data["country_code"], data["asn"])
resp, err := http.Get(
"https://ipapi.gr/api/lookup/8.8.8.8?key=" + os.Getenv("IPAPI_KEY"),
)
if err != nil { log.Fatal(err) }
defer resp.Body.Close()
var data map[string]any
json.NewDecoder(resp.Body).Decode(&data)
fmt.Println(data["country_code"], data["asn"])
$key = getenv('IPAPI_KEY');
$json = file_get_contents("https://ipapi.gr/api/lookup/8.8.8.8?key={$key}");
$data = json_decode($json, true);
echo $data['country_code'], ' ', $data['asn'];
05 · Use cases
risk.is_ai
Detect AI crawlers
Spot GPTBot, ClaudeBot, PerplexityBot and AI agents by address, not by a user agent anyone can copy.
risk.is_crawler
Verify search bots
Tell real Googlebot and Bingbot from scrapers that borrow their names.
risk.is_scanner
Filter internet scanners
Keep Shodan, Censys and research scans out of your alerts and analytics.
country · city · asn
Geolocate visitors
Localise content, default currency and timezone, and enrich logs. Free plan.
06 · Plans
To try it and for small projects
0 €/ month
For production traffic
29,00 €/ month, VAT included
is_ai, is_crawler and is_scanner on every lookupLess or more volume, same bot flags
from 9,00 €/ month, VAT included
07 · Questions
More in the FAQ and the documentation, or see how we compare.
1.000 requests a day with full location and network data for IPv4, IPv6 and domains, up to 20 API keys, and no card to sign up. The bot flags come with every paid plan, from 9,00 € a month (VAT included). You can see them for free in the IP lookup.
Any public IPv4 or IPv6 address, or a domain name. Domains are resolved and the resulting address is looked up.
is_ai is true when the address belongs to a known AI crawler or agent operator, is_crawler for a known search or other crawler, and is_scanner for a known internet scanner. A user agent alone never sets a flag, and false is not proof of a human. The bot signals page lists every covered operator.
IP geolocation is approximate: country is the most reliable field, while city and coordinates point to an area, never a street address. Fields with no answer say "No Data" instead of guessing.
Requests above the limit are refused until the allowance resets at midnight UTC. Paid plans raise the limit, up to 1.000.000 requests a day on Scale. See the plans.
Every price includes VAT. You can upgrade at any time from the pricing page or your dashboard, and cancel anytime: the plan then runs to the end of the period you paid for. A first purchase can be refunded within 14 days. See subscriptions and billing.
Connectivo, a business registered in Greece, in the European Union. Your account data is handled under the GDPR, as set out in the privacy policy. More on the about page.
Get started
GET ipapi.gr/api/lookup/8.8.8.8?key=…Or start with the documentation and code examples.