Geo-IP Opslags-API

By-, land- eller ASN-information fra enhver IP med emoji-flag.

Hvad kan du gøre?
Præcis by og koordinater

Breddegrad, længdegrad, region og mere i ét kald.

Få ASN og ISP øjeblikkeligt

Find ejerorganisationen for enhver IP-blok.

Emoji-flag, tidszone og valuta

Perfekt til lokaltilpasning og analyse.

Prøv live
99.9 % Oppetid
84.5ms Svar
20 req/s
0.009 Kreditter / forespørgsel

City Lookup


POST https://api.yeb.to/v1/geoip/city
ParameterTypePåkrævetBeskrivelse
api_key string ja Your API key
ip string valgfri IPv4/IPv6 (defaults to caller IP)

Eksempel

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"
}'

Svareksempel

{
  "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}

Svarkoder

KodeBeskrivelse
200 SuccessForespørgsel behandlet OK.
400 Bad RequestInputvalidering mislykkedes.
401 UnauthorizedManglende / forkert API-nøgle.
403 ForbiddenNøgle inaktiv eller ikke tilladt.
429 Rate LimitFor mange forespørgsler.
500 Server ErrorUventet fejl.

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
ParameterTypePåkrævetBeskrivelse
api_key string ja Your API key
ip string valgfri IPv4/IPv6 (defaults to caller IP)

Eksempel

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"
}'

Svareksempel

{
  "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}

Svarkoder

KodeBeskrivelse
200 SuccessForespørgsel behandlet OK.
400 Bad RequestInputvalidering mislykkedes.
401 UnauthorizedManglende / forkert API-nøgle.
403 ForbiddenNøgle inaktiv eller ikke tilladt.
429 Rate LimitFor mange forespørgsler.
500 Server ErrorUventet fejl.

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
ParameterTypePåkrævetBeskrivelse
api_key string ja Your API key
ip string valgfri IPv4/IPv6 (defaults to caller IP)

Eksempel

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"
}'

Svareksempel

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

Svarkoder

KodeBeskrivelse
200 SuccessForespørgsel behandlet OK.
400 Bad RequestInputvalidering mislykkedes.
401 UnauthorizedManglende / forkert API-nøgle.
403 ForbiddenNøgle inaktiv eller ikke tilladt.
429 Rate LimitFor mange forespørgsler.
500 Server ErrorUventet fejl.

ASN

geoip/asn 0.0010 credits

Parameters

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

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Geo-IP Opslags-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.

Ofte stillede spørgsmål

MaxMind GeoLite2-data er typisk nøjagtige til byniveau for 65-70 % af IPv4-adresser på verdensplan.

Ja. Hver forespørgsel, selv dem der resulterer i fejl, forbruger kreditter. Dine kreditter er bundet til antallet af forespørgsler, uanset succes eller fejl. Hvis fejlen tydeligt skyldes et platformproblem på vores side, gendanner vi de berørte kreditter (ingen kontant refusion).

Kontakt os på [email protected]. Vi tager feedback alvorligt—hvis din fejlrapport eller funktionsanmodning er meningsfuld, kan vi rette eller forbedre API'et hurtigt og give dig 50 gratis kreditter som tak.

Det afhænger af API'et og nogle gange endda af endpointet. Nogle endpoints bruger data fra eksterne kilder, som kan have strengere grænser. Vi håndhæver også grænser for at forhindre misbrug og holde vores platform stabil. Se dokumentationen for den specifikke hastighedsgrænse for hvert endpoint.

Vi opererer med et kreditsystem. Kreditter er forudbetalte, ikke-refunderbare enheder, du bruger på API-kald og værktøjer. Kreditter forbruges FIFO (ældste først) og er gyldige i 12 måneder fra købsdatoen. Dashboardet viser hver købsdato og dens udløb.

Ja. Alle købte kreditter (inklusive brøkdele) er gyldige i 12 måneder fra købet. Ubrugte kreditter udløber automatisk og slettes permanent ved udgangen af gyldighedsperioden. Udløbne kreditter kan ikke gendannes eller konverteres til kontanter eller anden værdi. Overgangsregel: kreditter købt før 22. sep. 2025 behandles som købt den 22. sep. 2025 og udløber den 22. sep. 2026 (medmindre en tidligere udløbsdato var angivet ved købet).

Ja—inden for deres gyldighedsperiode. Ubrugte kreditter forbliver tilgængelige og overføres fra måned til måned, indtil de udløber 12 måneder efter købet.

Kreditter er ikke-refunderbare. Køb kun det, du har brug for—du kan altid fylde op senere. Hvis en platformfejl forårsager en mislykket opkrævning, kan vi gendanne de berørte kreditter efter undersøgelse. Ingen kontant refusion.

Priser er angivet i kreditter, ikke dollars. Hvert endpoint har sin egen pris—se mærket "Kreditter / forespørgsel" ovenfor. Du ved altid præcis, hvad du bruger.
← Tilbage til API'er