Geo-IP-haku-API — Kaupunki, maa & ASN mistä tahansa IP:stä | YEB

Ratkaise välittömästi mikä tahansa IPv4- tai IPv6-osoite kaupungiksi, maaksi, koordinaateiksi, aikavyöhykkeeksi ja ASN/ISP-tiedoiksi. Sisältää emoji-liput ja korkean tarkkuuden geopaikannusdatan.

Mitä voit tehdä?
Tarkka kaupunki ja koordinaatit

Leveysaste, pituusaste, alue ja muuta yhdellä kutsulla.

Hae ASN ja ISP välittömästi

Selvitä minkä tahansa IP-lohkon omistava organisaatio.

Emoji-liput, aikavyöhyke ja valuutta

Täydellinen paikallistamiseen ja analytiikkaan.

Kokeile livenä
99.9 % Käytettävyys
84.5ms Vastaus
20 req/s
0.009 Krediitit / pyyntö

City Lookup


POST https://api.yeb.to/v1/geoip/city
ParametriTyyppiVaadittuKuvaus
api_key string kyllä Your API key
ip string valinnainen IPv4/IPv6 (defaults to caller IP)

Esimerkki

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

Vastausesimerkki

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

Vastauskoodit

KoodiKuvaus
200 SuccessPyyntö käsitelty OK.
400 Bad RequestSyötteen validointi epäonnistui.
401 UnauthorizedAPI-avain puuttuu tai on väärä.
403 ForbiddenAvain ei-aktiivinen tai ei sallittu.
429 Rate LimitLiian monta pyyntöä.
500 Server ErrorOdottamaton virhe.

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
ParametriTyyppiVaadittuKuvaus
api_key string kyllä Your API key
ip string valinnainen IPv4/IPv6 (defaults to caller IP)

Esimerkki

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

Vastausesimerkki

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

Vastauskoodit

KoodiKuvaus
200 SuccessPyyntö käsitelty OK.
400 Bad RequestSyötteen validointi epäonnistui.
401 UnauthorizedAPI-avain puuttuu tai on väärä.
403 ForbiddenAvain ei-aktiivinen tai ei sallittu.
429 Rate LimitLiian monta pyyntöä.
500 Server ErrorOdottamaton virhe.

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
ParametriTyyppiVaadittuKuvaus
api_key string kyllä Your API key
ip string valinnainen IPv4/IPv6 (defaults to caller IP)

Esimerkki

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

Vastausesimerkki

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

Vastauskoodit

KoodiKuvaus
200 SuccessPyyntö käsitelty OK.
400 Bad RequestSyötteen validointi epäonnistui.
401 UnauthorizedAPI-avain puuttuu tai on väärä.
403 ForbiddenAvain ei-aktiivinen tai ei sallittu.
429 Rate LimitLiian monta pyyntöä.
500 Server ErrorOdottamaton virhe.

ASN

geoip/asn 0.0010 credits

Parameters

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

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Geo-IP-haku-API — Kaupunki, maa & ASN mistä tahansa IP:stä | YEB — 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.

Usein kysytyt kysymykset

MaxMind GeoLite2 -data on tyypillisesti kaupunkitasolla tarkkaa 65–70 %:lle IPv4-osoitteista maailmanlaajuisesti.

Kyllä. Jokainen pyyntö, myös virheelliset, kuluttaa krediittejä. Krediittisi on sidottu pyyntöjen määrään riippumatta onnistumisesta tai epäonnistumisesta. Jos virhe johtuu selvästi alustamme ongelmasta, palautamme vaikutetut krediitit (ei käteispalautuksia).

Ota meihin yhteyttä osoitteessa [email protected]. Otamme palautteen vakavasti—jos virheraporttisi tai ominaisuuspyyntösi on mielekäs, voimme korjata tai parantaa API:a nopeasti ja myöntää sinulle 50 ilmaista krediittiä kiitokseksi.

Se riippuu API:sta ja joskus jopa endpointista. Jotkut endpointit käyttävät ulkoisten lähteiden dataa, joilla voi olla tiukemmat rajat. Asetamme myös rajoja väärinkäytön estämiseksi ja alustamme vakauden ylläpitämiseksi. Tarkista dokumentaatiosta kunkin endpointin tarkka raja.

Toimimme krediittijärjestelmällä. Krediitit ovat ennakkoon maksettuja, ei-palautettavia yksiköitä, joita käytät API-kutsuihin ja työkaluihin. Krediitit kulutetaan FIFO-periaatteella (vanhimmat ensin) ja ne ovat voimassa 12 kuukautta ostopäivästä. Hallintapaneeli näyttää kunkin oston päivämäärän ja vanhenemisen.

Kyllä. Kaikki ostetut krediitit (mukaan lukien osittaiset saldot) ovat voimassa 12 kuukautta ostosta. Käyttämättömät krediitit vanhenevat automaattisesti ja poistetaan pysyvästi voimassaolokauden lopussa. Vanhentuneita krediittejä ei voi palauttaa tai muuntaa rahaksi tai muuksi arvoksi. Siirtymäsääntö: ennen 22.9.2025 ostetut krediitit käsitellään kuin ne olisi ostettu 22.9.2025, ja ne vanhenevat 22.9.2026 (ellei ostossa ilmoitettu aikaisempaa vanhenemista).

Kyllä—voimassaolokauden sisällä. Käyttämättömät krediitit pysyvät saatavilla ja siirtyvät kuukaudesta toiseen, kunnes ne vanhenevat 12 kuukautta oston jälkeen.

Krediitit ovat ei-palautettavia. Osta vain tarvitsemasi—voit aina ladata lisää myöhemmin. Jos alustavirhe aiheuttaa epäonnistuneen veloituksen, voimme palauttaa vaikutetut krediitit tutkimuksen jälkeen. Ei käteispalautuksia.

Hinnat on asetettu krediiteissä, ei dollareissa. Jokaisella endpointilla on oma hintansa—katso "Krediitit / pyyntö" -merkki yllä. Tiedät aina tarkalleen, mitä käytät.
← Takaisin API:hin