Geo-IP Opzoek-API

Stad-, land- of ASN-informatie van elk IP-adres, met emoji-vlaggen.

Wat kunt u doen?
Precieze stad & coördinaten

Breedtegraad, lengtegraad, regio en meer in één oproep.

ASN & ISP direct opvragen

Ontdek de eigenaarsorganisatie van elk IP-blok.

Emoji-vlaggen, tijdzone & valuta

Perfect voor lokale personalisatie & analyses.

Live proberen
99.9 % Beschikbaarheid
84.5ms Antwoord
20 req/s
0.009 Credits / verzoek

City Lookup


POST https://api.yeb.to/v1/geoip/city
ParameterTypeVerpl.Beschrijving
api_key string ja Your API key
ip string opt. IPv4/IPv6 (defaults to caller IP)

Voorbeeld

curl -X POST https://api.yeb.to/v1/geoip/city \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "ip": "8.8.8.8"
}'

Antwoordvoorbeeld

{
  "data": {
    "ip": "8.8.8.8",
    "hostname": "dns.google",
    "city": "Mountain View",
    "region": "California",
    "country": "US",
    "loc": "37.3860,-122.0840",
    "timezone": "America/Los_Angeles",
    "country_flag": "🇺🇸",
    "emoji": "🇺🇸"
  }
}
{"error":"GeoIP lookup failed: invalid IP","code":422}

Antwoordcodes

CodeBeschrijving
200 SuccessVerzoek succesvol verwerkt.
400 Bad RequestInvoervalidatie mislukt.
401 UnauthorizedOntbrekende / onjuiste API-sleutel.
403 ForbiddenSleutel inactief of niet toegestaan.
429 Rate LimitTe veel verzoeken.
500 Server ErrorOnverwachte fout.

City

geoip/city 0.0090 credits

Parameters

API Key
query · string · required
IP address
query · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Country Lookup


POST https://api.yeb.to/v1/geoip/country
ParameterTypeVerpl.Beschrijving
api_key string ja Your API key
ip string opt. IPv4/IPv6 (defaults to caller IP)

Voorbeeld

curl -X POST https://api.yeb.to/v1/geoip/country \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "ip": "1.1.1.1"
}'

Antwoordvoorbeeld

{
  "ip": "1.1.1.1",
  "country": "AU",
  "country_name": "Australia",
  "isEU": false,
  "country_flag": "🇦🇺",
  "continent": { "code": "OC", "name": "Oceania" }
}
{"error":"GeoIP lookup failed: private range","code":422}

Antwoordcodes

CodeBeschrijving
200 SuccessVerzoek succesvol verwerkt.
400 Bad RequestInvoervalidatie mislukt.
401 UnauthorizedOntbrekende / onjuiste API-sleutel.
403 ForbiddenSleutel inactief of niet toegestaan.
429 Rate LimitTe veel verzoeken.
500 Server ErrorOnverwachte fout.

Country

geoip/country 0.0050 credits

Parameters

API Key
query · string · required
IP address
query · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

ASN Lookup


POST https://api.yeb.to/v1/geoip/asn
ParameterTypeVerpl.Beschrijving
api_key string ja Your API key
ip string opt. IPv4/IPv6 (defaults to caller IP)

Voorbeeld

curl -X POST https://api.yeb.to/v1/geoip/asn \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "ip": "8.8.4.4"
}'

Antwoordvoorbeeld

{
  "ip":  "8.8.4.4",
  "org": "Google LLC",
  "asn": 15169,
  "network": "8.8.4.0/24"
}
{"error":"GeoIP lookup failed: database missing","code":422}

Antwoordcodes

CodeBeschrijving
200 SuccessVerzoek succesvol verwerkt.
400 Bad RequestInvoervalidatie mislukt.
401 UnauthorizedOntbrekende / onjuiste API-sleutel.
403 ForbiddenSleutel inactief of niet toegestaan.
429 Rate LimitTe veel verzoeken.
500 Server ErrorOnverwachte fout.

ASN

geoip/asn 0.0010 credits

Parameters

API Key
query · string · required
IP address
query · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Geo-IP Opzoek-API — Practical Guide

A hands-on guide to GeoIP in production: what each endpoint does, when you’d use it, the few parameters that matter, and how to read responses to make real decisions (routing, compliance, personalization).

#What GeoIP solves

GeoIP helps you understand who’s connecting — network owner (ASN), country/region, and city-level signals — so you can do geo-based routing, regional compliance, personalization, and abuse controls without friction.

#Endpoints & when to use them

#POST /v1/geoip/asn — ASN Lookup

  • Best for: Network-level decisions (hosting vs ISP vs corporate), bot/automation heuristics, traffic shaping.
  • Output: asn (number), org (owner), and the network CIDR.
  • Tip: Defaults to the caller IP if you don’t pass ip. Great for server-side middleware.

#POST /v1/geoip/country — Country Lookup

  • Best for: Legal gating (GDPR/EU, export controls), pricing localization, content availability.
  • Output: ISO country code + name, isEU, and a continent object.
  • Tip: Keep it simple for edge workers; this is the fastest “allow/deny/route” decision.

#POST /v1/geoip/city — City Lookup

  • Best for: Timezone-aware UX, nearest-PoP routing, language defaults, coarse analytics.
  • Output: city, region, country, timezone, and loc (lat,lng).
  • Tip: Combine with CDN edge headers to avoid extra hops on hot paths.

#Quick start

# ASN
curl -X POST "https://api.yeb.to/v1/geoip/asn" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -d '{ "ip": "8.8.4.4" }'
# Country
curl -X POST "https://api.yeb.to/v1/geoip/country" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -d '{ "ip": "1.1.1.1" }'
# City
curl -X POST "https://api.yeb.to/v1/geoip/city" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -d '{ "ip": "8.8.8.8" }'

#Parameters that actually matter

ParamTypeRequiredPractical guidance
api_key string Yes Your API credential. Prefer a server-side secret or signed edge token.
ip string No IPv4/IPv6. If omitted, the service uses the caller’s IP (handy for server-to-server requests).

#Reading & acting on responses

#ASN Lookup — interpretation

{
  "ip":  "8.8.4.4",
  "org": "Google LLC",
  "asn": 15169,
  "network": "8.8.4.0/24"
}
  • org — owner name you can show in admin/audit UIs.
  • asn — useful for allow/deny lists, bot heuristics, or prioritizing traffic from major ISPs/CDNs.
  • network — CIDR range to cache or apply rules on (rate-limits, exemptions).

#Country Lookup — interpretation

{
  "ip": "1.1.1.1",
  "country": "AU",
  "country_name": "Australia",
  "isEU": false,
  "country_flag": "🇦🇺",
  "continent": { "code": "OC", "name": "Oceania" }
}
  • country/country_name — drive content, taxes, or legal disclaimers.
  • isEU — immediate GDPR-related branching without maintaining your own country list.
  • continent — coarse routing or analytics bucketing.

#City Lookup — interpretation

{
  "data": {
    "ip": "8.8.8.8",
    "hostname": "dns.google",
    "city": "Mountain View",
    "region": "California",
    "country": "US",
    "loc": "37.3860,-122.0840",
    "timezone": "America/Los_Angeles",
    "country_flag": "🇺🇸",
    "emoji": "🇺🇸"
  }
}
  • timezone — default scheduling UI, email send windows, or cron-like tasks per user.
  • loc — approximate coordinates, good enough for nearest datacenter or store finder default.
  • hostname — sometimes reveals corporate/ISP hints helpful in fraud pipelines.

#Practical recipes

  • Compliance gating: If country.isEU → enable consent flows; if not, use lighter banners.
  • Routing: Resolve PoP by continent.code (e.g., NA/EU/APAC) and fall back to city if ambiguous.
  • Abuse control: Down-rank traffic from hosting ASNs during signup; boost residential ISPs.
  • UX defaults: Use timezone to pre-fill user settings; offer override in profile.

#API Changelog

2025-10-20
Improved IPv6 coverage and cleaner continent object for country responses; added hostname to city payload.
2025-10-12
Hardened proxy detection for “caller IP” mode and better 4xx messages on private/reserved ranges.
2025-10-05
Initial stable release of /geoip/asn, /geoip/country, and /geoip/city.

Veelgestelde vragen

MaxMind GeoLite2-gegevens zijn doorgaans nauwkeurig op stadsniveau voor 65-70% van de IPv4-adressen wereldwijd.

Ja. Elk verzoek, zelfs die met fouten, verbruikt credits. Uw credits zijn gekoppeld aan het aantal verzoeken, ongeacht succes of falen. Als de fout duidelijk te wijten is aan een platformprobleem aan onze kant, herstellen we de getroffen credits (geen geldteruggave).

Neem contact met ons op via [email protected]. We nemen feedback serieus—als uw bugrapport of functieverzoek zinvol is, kunnen we de API snel repareren of verbeteren en u 50 gratis credits geven als dank.

Het hangt af van de API en soms zelfs van het endpoint. Sommige endpoints gebruiken gegevens van externe bronnen, die strengere limieten kunnen hebben. We handhaven ook limieten om misbruik te voorkomen en ons platform stabiel te houden. Raadpleeg de documentatie voor de specifieke limiet van elk endpoint.

We werken met een creditsysteem. Credits zijn vooruitbetaalde, niet-restitueerbare eenheden die u besteedt aan API-aanroepen en tools. Credits worden verbruikt volgens FIFO (oudste eerst) en zijn geldig voor 12 maanden vanaf de aankoopdatum. Het dashboard toont elke aankoopdatum en de vervaldatum.

Ja. Alle gekochte credits (inclusief fractionele saldi) zijn geldig voor 12 maanden na aankoop. Ongebruikte credits verlopen automatisch en worden permanent verwijderd aan het einde van de geldigheidsperiode. Verlopen credits kunnen niet worden hersteld of omgezet in contant geld of andere waarde. Overgangsregel: credits gekocht vóór 22 sep. 2025 worden behandeld als gekocht op 22 sep. 2025 en verlopen op 22 sep. 2026 (tenzij een eerdere vervaldatum werd vermeld bij aankoop).

Ja—binnen hun geldigheidsperiode. Ongebruikte credits blijven beschikbaar en worden van maand tot maand overgedragen totdat ze 12 maanden na aankoop verlopen.

Credits zijn niet-restitueerbaar. Koop alleen wat u nodig heeft—u kunt altijd later bijvullen. Als een platformfout een mislukte afschrijving veroorzaakt, kunnen we de getroffen credits herstellen na onderzoek. Geen geldteruggave.

Prijzen worden vastgesteld in credits, niet in dollars. Elk endpoint heeft zijn eigen kosten—zie de badge "Credits / verzoek" hierboven. U weet altijd precies wat u uitgeeft.
← Terug naar API's