API de Consulta Geo-IP

Informações de cidade, país ou ASN de qualquer IP, com bandeiras emoji.

O que pode fazer?
Cidade e coordenadas precisas

Latitude, longitude, região e mais numa única chamada.

Obtenha ASN e ISP instantaneamente

Descubra a organização proprietária de qualquer bloco IP.

Bandeiras emoji, fuso horário e moeda

Perfeito para personalização regional e análises.

Experimentar ao vivo
99.9 % Disponibilidade
84.5ms Resposta
20 req/s
0.009 Créditos / requisição

City Lookup


POST https://api.yeb.to/v1/geoip/city
ParâmetroTipoObrig.Descrição
api_key string sim Your API key
ip string opc. IPv4/IPv6 (defaults to caller IP)

Exemplo

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

Exemplo de resposta

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

Códigos de resposta

CódigoDescrição
200 SuccessRequisição processada OK.
400 Bad RequestValidação de entrada falhou.
401 UnauthorizedChave API em falta ou incorreta.
403 ForbiddenChave inativa ou não permitida.
429 Rate LimitDemasiadas requisições.
500 Server ErrorErro inesperado.

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
ParâmetroTipoObrig.Descrição
api_key string sim Your API key
ip string opc. IPv4/IPv6 (defaults to caller IP)

Exemplo

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

Exemplo de resposta

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

Códigos de resposta

CódigoDescrição
200 SuccessRequisição processada OK.
400 Bad RequestValidação de entrada falhou.
401 UnauthorizedChave API em falta ou incorreta.
403 ForbiddenChave inativa ou não permitida.
429 Rate LimitDemasiadas requisições.
500 Server ErrorErro inesperado.

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
ParâmetroTipoObrig.Descrição
api_key string sim Your API key
ip string opc. IPv4/IPv6 (defaults to caller IP)

Exemplo

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

Exemplo de resposta

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

Códigos de resposta

CódigoDescrição
200 SuccessRequisição processada OK.
400 Bad RequestValidação de entrada falhou.
401 UnauthorizedChave API em falta ou incorreta.
403 ForbiddenChave inativa ou não permitida.
429 Rate LimitDemasiadas requisições.
500 Server ErrorErro inesperado.

ASN

geoip/asn 0.0010 credits

Parameters

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

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

API de Consulta Geo-IP — 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.

Perguntas Frequentes

Os dados MaxMind GeoLite2 são tipicamente precisos ao nível da cidade para 65-70% dos endereços IPv4 em todo o mundo.

Sim. Cada requisição, mesmo as que resultam em erros, consome créditos. Seus créditos estão vinculados ao número de requisições, independentemente de sucesso ou falha. Se o erro for claramente devido a um problema da plataforma do nosso lado, restauraremos os créditos afetados (sem reembolsos em dinheiro).

Contacte-nos em [email protected]. Levamos o feedback a sério—se o seu relatório de bug ou pedido de funcionalidade for significativo, podemos corrigir ou melhorar a API rapidamente e conceder-lhe 50 créditos gratuitos como agradecimento.

Depende da API e às vezes até do endpoint. Alguns endpoints usam dados de fontes externas, que podem ter limites mais rigorosos. Também aplicamos limites para prevenir abusos e manter a nossa plataforma estável. Consulte a documentação para o limite específico de cada endpoint.

Operamos com um sistema de créditos. Créditos são unidades pré-pagas e não reembolsáveis que gasta em chamadas API e ferramentas. Os créditos são consumidos por FIFO (os mais antigos primeiro) e são válidos por 12 meses a partir da data de compra. O painel mostra cada data de compra e a sua expiração.

Sim. Todos os créditos comprados (incluindo saldos fracionários) são válidos por 12 meses a partir da compra. Créditos não utilizados expiram automaticamente e são permanentemente eliminados no final do período de validade. Créditos expirados não podem ser restaurados ou convertidos em dinheiro ou outro valor. Regra de transição: créditos comprados antes de 22 de set. de 2025 são tratados como comprados em 22 de set. de 2025 e expiram em 22 de set. de 2026 (salvo indicação de expiração anterior na compra).

Sim—dentro do período de validade. Os créditos não utilizados permanecem disponíveis e são transferidos de mês para mês até expirarem 12 meses após a compra.

Os créditos são não reembolsáveis. Compre apenas o que precisa—pode sempre recarregar depois. Se um erro da plataforma causar uma cobrança falhada, podemos restaurar os créditos afetados após investigação. Sem reembolsos em dinheiro.

Os preços são definidos em créditos, não em dólares. Cada endpoint tem o seu próprio custo—veja o selo "Créditos / requisição" acima. Saberá sempre exatamente quanto está a gastar.
← Voltar às APIs