Perguntas Frequentes

Tudo sobre geolocalização de IP, detecção de VPN, pesquisas de ASN, limites de requisição e como a API funciona.

Primeiros passos

Uma API gratuita de inteligência de IP. Pesquise qualquer endereço IPv4 ou IPv6 e obtenha país, ASN, ISP, detecção de hospedagem, detecção de VPN, identificação de nó de saída Tor e pontuação de redes abusivas. Uma única resposta JSON. Sem cadastro.
Não. O plano gratuito não exige chave nem cadastro — basta chamar o endpoint (os limites são contados por endereço IP). Para os limites Pro ou Enterprise, envie sua chave no cabeçalho X-API-Key ou como ?api_key=. Você pode emitir uma chave gratuita na hora com POST /v1/keys.
https://ipto.to. Todos os endpoints ficam sob /v1/. O CORS está ativado em todos os endpoints.
GET https://ipto.to/v1/ip — nenhum parâmetro necessário. Retorna seu IP junto com cidade, estado, fuso horário e lat/lon. Ou execute curl ipto.to em um terminal.
Sim. curl ipto.to detecta automaticamente o User-Agent do curl e retorna um JSON compacto para o seu próprio IP, com campos incluindo país, cidade, ASN e clima ao vivo. curl ipto.to/8.8.8.8 faz o mesmo para qualquer IP (sem clima). Wget e HTTPie também funcionam.

Geolocalização de IP

A geolocalização de IP mapeia faixas de IP para a localização física da infraestrutura de rede, não do usuário final. Os provedores roteiam o tráfego por pontos de troca regionais que podem estar a centenas de milhas de distância. A precisão em nível de país é alta. A precisão em nível de cidade diminui para IPs residenciais e móveis.
Quando conectado a uma VPN, seu tráfego sai pelo endereço IP do servidor VPN. O ipto reporta a localização desse servidor de saída, não sua localização física. A flag is_vpn será true nesse caso.
A qualidade dos dados depende de quão precisamente os ISPs e organizações registram seus blocos de IP nos registros WHOIS e de rotas. Grandes provedores de nuvem e ISPs têm registros altamente precisos. Alocações menores ou mais antigas podem ser imprecisas.
Sim. Endereços IPv6 retornam ASN, organização e faixas de IP, além de localização em nível de cidade (cidade, região, CEP, latitude/longitude) do conjunto de dados da MaxMind quando a faixa é coberta, e faixas bogon/privadas são identificadas. A única lacuna: os indicadores de VPN, Tor e abuso são apenas IPv4 por enquanto, pois esses feeds são publicados como faixas IPv4 — em um endereço IPv6 eles retornam false em vez de serem adivinhados.
Um IP bogon (falso) é qualquer endereço que não deveria aparecer como origem na internet pública: loopback (127.x.x.x), faixas privadas RFC 1918 (10.x, 172.16–31.x, 192.168.x), link-local (169.254.x), multicast (224–239.x) e blocos reservados pela IANA. O ipto detecta isso antes de qualquer consulta ao banco de dados e retorna bogon: true com um motivo em bogon_type. Verifique qualquer endereço no verificador de IP bogon.

Inteligência de ameaças

O ipto mantém um banco de dados de faixas de IP de servidores VPN conhecidos, construído a partir de análise de roteamento BGP e enumeração ativa. Cada IP é verificado contra esse banco de dados na consulta. A atribuição de provedor é derivada da titularidade do ASN: quando um ASN é registrado exclusivamente para um operador de VPN, o provedor é identificado. Teste qualquer IP no verificador de VPN & proxy.
A lista de nós de saída Tor vem da lista oficial em massa de nós de saída do Tor Project em check.torproject.org. Esta é a lista oficial de IPs atualmente capazes de originar tráfego de saída Tor. Ela é atualizada a cada 6 horas.
O IP está dentro de uma faixa de rede que foi sinalizada por múltiplos feeds independentes de inteligência de ameaças como hospedando infraestrutura abusiva: fontes de spam, servidores de comando e controle de malware, relés de botnet ou ferramentas de exploração em massa. Uma pontuação de abuso mais alta significa que mais feeds concordaram de forma independente.
is_datacenter significa que o IP pertence a um provedor de hospedagem, plataforma de nuvem ou CDN. is_residential significa que o IP é classificado como uma conexão de banda larga de consumidor. A maioria dos IPs não é nenhum dos dois — eles pertencem a infraestrutura de ISP que não é nem hospedagem nem residencial.
Sinaliza pontos de saída de proxy conhecidos que não são categorizados como VPN ou Tor. Atualmente limitado aos dados do pipeline de feeds de ameaças. A cobertura é menor do que a detecção de VPN e Tor.

ASN e rede

Um Número de Sistema Autônomo (ASN) é um identificador único para uma rede que gerencia de forma independente suas próprias políticas de roteamento de IP na internet. Exemplos: o Google é AS15169, a Amazon é AS16509. Todo bloco de IP é anunciado por exatamente um ASN. Pesquise qualquer ASN diretamente na ferramenta de pesquisa de ASN.
A categoria da organização que opera o ASN. Valores: hosting (hospedagem em nuvem ou servidor), isp (provedor de internet), business (rede corporativa), education (universidade ou pesquisa), government (governo), mobile (operadora), residential (residencial).
O bloco de IP está registrado para uma operadora móvel. IPs móveis são comumente reatribuídos entre usuários e frequentemente aparecem em localizações geográficas diferentes da sede da operadora.
Sim — GET /v1/asn/:asn/ranges?limit=&offset= retorna as faixas reais (cada uma com código do país e flags de hosting/mobile/residential/bot/blacklist), paginadas em até 200 por requisição. A consulta principal GET /v1/asn/:asn também inclui ip_range_count e um rank — a posição do ASN por tamanho dentro do seu país, por contagem de faixas — sem precisar do endpoint de faixas. Veja a ferramenta de pesquisa de ASN.
GET /v1/asn/:asn/whois retorna o registro do RIR (nome, status, país, datas de registro/última alteração, contatos) via RDAP. GET /v1/asn/:asn/relationships retorna peers, provedores upstream e clientes downstream conhecidos, a partir do conjunto de dados de relações entre ASNs da CAIDA; já GET /v1/asn/:asn/related encontra outros ASNs provavelmente operados pela mesma organização. Os três aparecem juntos na página de pesquisa de ASN.
Sim — Todas as Faixas de IP (GET /v1/ip-ranges) é um diretório navegável de todos os 256 blocos /8 possíveis, permitindo detalhar até /16 e ver as faixas realmente atribuídas e o ASN ao qual cada uma pertence.

Uso da API

O plano gratuito permite 1.000 requisições/dia por endereço IP, sem necessidade de cadastro ou chave. Chaves Pro têm 100.000/dia; o Enterprise é ilimitado. Exceder seu limite retorna HTTP 429. Veja preços para mais detalhes.
Envie via POST um array JSON de strings de IP para /v1/ip/bulk — até 100 por requisição, disponível apenas para Pro/Enterprise (veja preços). A resposta é um objeto indexado por IP. Leituras paralelas de cache tornam isso mais rápido do que chamadas sequenciais. Cada IP conta no seu orçamento diário, assim como uma pesquisa individual.
Adicione ?fields=field1,field2 a qualquer requisição de IP único. Exemplo: /v1/ip/1.1.1.1?fields=ip,country_code,is_vpn,is_tor. O campo ip é sempre incluído.
JSON (padrão), CSV, texto simples, XML e YAML. Adicione ?format=csv, ?format=text, ?format=xml ou ?format=yaml a qualquer requisição de IP único. CSV e texto retornam pares chave/valor simples; XML e YAML preservam objetos aninhados como flags.
Ainda não há um SDK oficial. A API é um endpoint HTTP JSON padrão — qualquer cliente HTTP funciona. Veja a documentação para exemplos em curl, JavaScript, Python, PHP e Go.
Sim — https://ipto.to/mcp é um servidor Model Context Protocol (MCP) que expõe as mesmas consultas como ferramentas chamáveis via JSON-RPC — IP (individual e em lote), ASN com suas faixas/whois/relacionamentos, whois de IP, RPKI, empresa, operadora, domínios hospedados, busca unificada, locais próximos, país, DNS reverso, user-agent, telefone, e-mail, pontuação de fraude, idioma, moeda, clima, marcas e patentes — para que um cliente compatível com MCP possa chamá-las diretamente em vez de fazer requisições HTTP brutas. Usa a mesma X-API-Key e as mesmas regras de limite da API REST.

Dados

O conjunto de dados de ASN/faixas de IP é atualizado diariamente às 04:00 UTC. A geolocalização em nível de cidade combina duas fontes independentes em suas próprias programações — IP2Location mensalmente, MaxMind semanalmente — então a precisão pode melhorar entre as atualizações de ASN. Os feeds de ameaças (VPN, Tor, abuso) sincronizam a cada 6 horas. O TTL do cache de borda é de 5 minutos.
Reunimos informações de vários provedores de dados importantes do setor, atualizados diariamente. A detecção de VPN usa inteligência de faixas derivada de BGP. Os dados de nós Tor vêm do registro oficial do Tor Project e de listas de relés verificadas. As redes abusivas usam inteligência de blacklist de múltiplas fontes corroboradas entre si.
A detecção de VPN e Tor tem alta cobertura para os principais provedores e todos os nós de saída confirmados. Serviços de VPN menores ou mais novos que alugam espaço de IP de ASNs de hospedagem genéricos podem não ser identificados pelo nome do provedor. A pontuação de abuso usa corroboração entre feeds — uma rede precisa de 3 ou mais fontes independentes para aparecer no nível Médio, e 8 ou mais fontes para o Crítico.

Novos recursos

abuse_score é uma pontuação de severidade de 1–10 baseada em corroboração entre feeds: quantas fontes independentes de ameaças sinalizam a mesma rede. threat_type nomeia qual categoria disparou a sinalização — tor_exit, vpn, ou abuser. risk_tier agrupa a pontuação em crítico (8–10), alto (5–7) ou médio (3–4). Experimente uma verificação ao vivo no verificador de abuso de IP.
Sim. Qualquer resposta com um país resolvido inclui currency_code e exchange_rate_usd — uma taxa de referência diária cobrindo 154 moedas mundiais. Moedas fora dessa lista retornam null para a taxa.
Cada resposta com dados de país inclui languages (idiomas oficiais falados), tld (domínios de topo de código de país), capital, e borders (códigos ISO dos países vizinhos) — útil para localizar conteúdo ou construir formulários sensíveis ao país sem uma segunda chamada de API.
GET /v1/ip/:ip/hostname realiza uma pesquisa PTR ao vivo via DNS-over-HTTPS e retorna { ip, hostname }. É uma única pesquisa sob demanda, não um banco de dados de enumeração de domínios em cache — hostname é null se não existir registro PTR. Também há uma ferramenta no navegador em /reverse-dns-lookup.
Sim. GET /v1/datasets/:kind retorna exportações em CSV para asn, ranges e geo-city — os mesmos conjuntos de dados que a API consulta internamente, atualizados na mesma programação. geo-city aceita um parâmetro opcional ?source=primary (padrão) ou ?source=secondary, já que os dados em nível de cidade são combinados de duas fontes independentes com cobertura diferente.
Uma chave Pro libera um limite de 100.000 requisições/dia e a pesquisa em massa (POST /v1/ip/bulk, até 100 IPs por requisição) — a pesquisa em massa não está disponível no plano Gratuito. O Enterprise (requisições ilimitadas) adiciona um SLA personalizado e suporte dedicado. A precisão de cidade/CEP/lat-lon está incluída em todos os planos, inclusive no Gratuito. POST /v1/keys emite uma chave do plano Gratuito (1.000 requisições/dia, rastreamento de uso via GET /v1/keys/usage?key=X) — veja preços para fazer upgrade.
Ambos, quando geo_precision permitir. Seu próprio IP (GET /v1/ip) sempre recebe dados em nível de cidade a partir da rede de borda pela qual você está se conectando. Pesquisas de IP explícitas (GET /v1/ip/:ip) recebem dados em nível de cidade quando aquele IP está dentro da cobertura do conjunto de dados de cidade; caso contrário, geo_precision cai para country e cidade/estado/lat/lon retornam null.
Add ?lang= to any request with one of: pt, fr, de, zh-TW, ko, zh-CN, ja-JP, es-ES, ar-SA, hi-IN (en is the default). This localizes country_name and continent into the target language. Field names and threat data stay in English regardless of locale.

Além do IP: identidade, fraude e dados de referência

Sim — GET /v1/email/:email verifica a sintaxe, faz uma consulta ao vivo de registro MX e detecta domínios descartáveis/temporários com base em uma lista de bloqueio sincronizada. Gratuito, sem cadastro. Experimente o Verificador de Email.
Sim — GET /v1/phone/:number analisa qualquer número em formato E.164 ou nacional quanto à validade, país, região e tipo de linha (móvel, fixa ou VoIP) usando um conjunto de dados de operadoras MCC/MNC sincronizado. Experimente o Verificador de Número de Telefone.
GET /v1/fraud-score combina sinais de ameaça de IP, entregabilidade de email, validade de telefone e detecção de bot por User-Agent em uma única pontuação de risco unificada de 0–100 — algo que nenhuma das principais APIs isoladas de inteligência de IP oferece. As quatro entradas são opcionais; um sinal que você não envia simplesmente fica ausente, não é pontuado como limpo. Experimente o Verificador de Pontuação de Fraude.
Sim — GET /v1/language identifica o idioma de qualquer texto entre 76 idiomas por meio de análise local de frequência de trigramas. Nenhum texto é enviado a terceiros ou a um modelo de IA, e nada é registrado. Experimente o Detector de Idioma.
Sim — GET /v1/currency/convert e GET /v1/currency/rates expõem o mesmo feed diário de taxas de câmbio que já alimenta o exchange_rate_usd em toda pesquisa de IP/país, cobrindo 154 moedas, além de GET /v1/currency/history para taxas históricas de 90 dias. Experimente o Conversor de Moeda.
Sim — GET /v1/weather retorna as condições atuais para qualquer nome de lugar, código postal ou par de coordenadas; adicione &detail=1 para uma perspectiva horária e uma previsão de 3 dias. Tanto o widget de clima do próprio IP na página inicial quanto a ferramenta Consulta de Clima o utilizam.
Sim — GET /v1/trademark/:serial faz proxy da API TSDR do USPTO para o status ao vivo do processo pelo número de série de 8 dígitos. O texto de status do processo é uma obra do governo dos EUA e de domínio público, então toda resposta traz um campo source/attribution; dados de logo/imagem da marca ficam deliberadamente fora do escopo. A pesquisa por número de registro não é suportada — apenas o caminho por número de série é documentado pelo USPTO atualmente. Experimente a ferramenta Pesquisa de Marca Registrada.
Sim — GET /v1/patent/:number faz proxy da API ao vivo Patent File Wrapper do USPTO para o status de concessão pelo número de patente de utilidade de 7-8 dígitos. A cobertura começa em pedidos depositados em 2001, e os dados são de tramitação/bibliográficos (data de depósito, status, inventores, advogado responsável) — não um grafo de citações, família de patentes ou campo de status jurídico como o Lens.org, Espacenet ou Google Patents mostram. Patentes de design, de planta e de reemissão ainda não são suportadas. Experimente a ferramenta Pesquisa de Patente.

Titularidade, roteamento e lugares

Uma única requisição — GET /v1/search/:query. Ela detecta se você digitou um IP, ASN, código de país, email ou número de telefone, e então distribui a consulta no lado do servidor para todas as verificações relevantes (pesquisa de IP, RPKI, empresa, whois, operadora, domínios hospedados, lugares) em paralelo. Uma única pesquisa consome apenas uma requisição do seu orçamento diário de limite de taxa, não uma por recurso.
Sim — GET /v1/ip/:ip/rpki (e a forma explícita GET /v1/rpki?asn=&prefix=) resolve a validação de origem de rota ao vivo via RIPEstat, que agrega dados de ROA de todos os cinco RIRs. O status é sempre valid, invalid ou unknown — nunca inferido a partir de outro sinal. Experimente o Validador RPKI.
GET /v1/ip/:ip/company combina dados de registrante RDAP com o próprio nome da organização do ASN do IP em uma única confiança categórica (alta/média/baixa/nenhuma) — um único veredito de "quem é o dono disso". GET /v1/ip/:ip/whois retorna o próprio registro RDAP subjacente: o bloco de rede, o tipo de alocação, as datas de registro e todo contato de registrante/administrador/abuso registrado, mais próximo da saída clássica do WHOIS. Experimente IP para Empresa ou IP Whois.
Melhor esforço, e apenas para IPs já classificados como redes móveis. GET /v1/ip/:ip/carrier faz uma correspondência aproximada do nome da organização do ASN com um diretório de operadoras MCC/MNC restrito ao país do IP. Não há, propositalmente, um único campo carrier: "X" — um nome isolado seria interpretado como uma afirmação ao vivo por assinante que os dados não conseguem sustentar honestamente. Experimente a ferramenta IP para Operadora Móvel.
GET /v1/ip/:ip/hosted-domains encontra domínios através do hostname de DNS reverso do IP e dos registros de transparência de certificados (crt.sh) — não é uma pesquisa geral de IP reverso. O próprio campo limitations da resposta explica exatamente o que ela estruturalmente não consegue ver: IPs sem registro PTR, domínios não relacionados em hospedagem compartilhada e domínios que nunca foram registrados em CT. Experimente Domínios Hospedados.
GET /v1/places/:ip faz a geocodificação reversa da localização em nível de cidade já existente de um IP, e então retorna pontos de interesse nas proximidades (restaurantes, parques, escolas, transporte público), pontos turísticos notáveis, dados locais de criminalidade quando há uma fonte disponível (apenas Reino Unido e EUA), e uma estimativa opcional de trajeto de carro sob demanda quando você fornece um destino. Experimente Lugares.
connection_type em GET /v1/ip/:ip é um único rótulo de melhor esforço — mobile, datacenter ou unknown — derivado da mesma classificação de ASN que o objeto flags. Ele substitui a detecção de conexão baseada em contagem de dispositivos/NAT, que não é algo que um Cloudflare Worker consegue observar (sem acesso a pacotes TCP/IP brutos) — então, em vez de simular isso, ASNs não classificados retornam honestamente unknown.

Inteligência telefônica premium (consulta de operadora e portabilidade)

Sim, como uma camada premium sobre a verificação local sempre gratuita. GET /v1/phone/:number continua executando primeiro a validação local gratuita (formato, região, tipo de linha — inalterado, veja a pergunta anterior) e, se o orçamento permitir, adiciona ao vivo carrier, original_carrier, is_ported, uma classificação phone_type, e uma phone_region (localidade) e country_prefix do nosso provedor de consulta de operadoras em tempo real. Um nome de exibição completo country_name é incluído independentemente do nível, e é localizado via ?lang=/Accept-Language exatamente como o campo country_name de qualquer outro endpoint — verifique lang/lang_source na resposta para ver qual idioma foi realmente aplicado. O campo source da resposta indica qual nível respondeu: "premium" ou "local".
100 consultas premium por endereço IP por mês no plano Free, 1.000/mês por chave de API no Pro, e 5.000/mês no Enterprise — veja preços. Isso é adicional ao orçamento local gratuito existente para telefone (100/dia no Free), que não tem limite mensal próprio.
Nada quebra. GET /v1/phone/:number volta sem problemas para o mecanismo local gratuito pelo resto do mês — você ainda recebe uma resposta 200 completa com dados de formato, região e tipo de linha, apenas sem os campos ao vivo carrier/is_ported (que então retornam null e source: "local"). Sem erros, sem necessidade de cadastro para continuar usando o plano gratuito.
São duas classificações independentes de dois mecanismos diferentes, mantidas separadas propositalmente. line_type vem da verificação local sempre gratuita (o próprio enum dessa verificação, ex. MOBILE, FIXED_LINE, PREMIUM_RATE). phone_type só aparece quando source é "premium" e usa as próprias categorias do provedor de consulta de operadoras: mobile, fixed_line, voip, toll_free, premium_rate, shared_cost, personal_number, pager, uan, voicemail, ou unknown. premium_rate merece atenção especial se você estiver usando isso para sinais de fraude — números de tarifa premium (cobrados a uma taxa por minuto mais alta que uma linha comum) são um vetor comum de fraude internacional de compartilhamento de receita (IRSF), e este endpoint expõe essa classificação diretamente, em vez de apenas sinalizar VoIP.
Somente quando uma consulta premium realmente é executada (ou seja, seu orçamento mensal da pergunta anterior não está esgotado) — a verificação local gratuita nunca sai dos próprios Cloudflare Workers do ipto.to. Quando uma consulta premium é executada, o número é enviado ao nosso provedor de consulta de operadoras apenas para responder a essa solicitação; não armazenamos a chave de API do provedor em nenhum lugar acessível publicamente, e conforme a política padrão de registro do ipto.to (veja Sobre) também não registramos o histórico de consultas.

Conta, limites e privacidade

Todos os dias às 00:00 UTC. Uma requisição acima do limite retorna HTTP 429 com um cabeçalho Retry-After e um campo retry_after_seconds informando exatamente quanto falta para a janela ser redefinida.
Chame POST /v1/keys para uma chave gratuita instantânea ou entre — entrar cria automaticamente uma conta no plano gratuito e mostra sua chave e seu uso no painel. Pro e Enterprise são upgrades em preços.
No cabeçalho X-API-Key (preferível, pois query strings podem acabar em logs) ou como ?api_key= na URL. Requisições com chave são contadas no orçamento dessa chave, e não no do seu IP. Veja o uso de uma chave com GET /v1/keys/usage?key=X.
Quase sempre. Uma busca na barra de busca ou uma chamada de ferramenta MCP conta como uma requisição, mesmo que se desdobre em várias verificações no servidor. Chamadas em lote são cobradas por item — cada IP em POST /v1/ip/bulk e cada número em uma consulta telefônica em lote conta individualmente. Locais próximos e consultas telefônicas premium também têm orçamentos próprios além do geral.
Não. O ipto não registra os endereços IP que você consulta, não guarda histórico de consultas nem cria perfis; apenas contagens agregadas de requisições são mantidas para planejamento de capacidade. O histórico de busca e as consultas favoritas da página inicial ficam somente no seu navegador. Detalhes na página de privacidade.
Sim. A API tem CORS habilitado, é versionada em /v1/ e retorna JSON estável. O plano gratuito é voltado a uso individual e leve (1.000 requisições/dia); para tráfego de produção, use uma chave Pro (100.000/dia) ou Enterprise (ilimitado, com SLA personalizado). Veja preços e a página de status para a saúde em tempo real.