API
Os mesmos dados do site, em JSON ou texto simples. Sem chave, sem conta; aplicam-se limites de utilização razoável.
curl https://ipaddress.co.il/api/v1/my-ip?format=textEndpoints
| Caminho | Descrição | Dados | Limites de pedidos |
|---|---|---|---|
| GET/api/v1/my-ipExperimentar: /api/v1/my-ip | O seu endereço IP (também em texto simples com ?format=text). | Dados próprios | 120 · 240/min |
| GET/api/v1/ip/{address}Experimentar: /api/v1/ip/132.247.0.1 | Dados de rede, encaminhamento, registo e localização de um endereço. | Dados próprios | 30 · 30/min |
| GET/api/v1/ip/geolocation?ip=Experimentar: /api/v1/ip/geolocation?ip=177.224.0.1 | Apenas a localização estimada de um endereço (DB-IP Lite), sempre marcada como estimativa. | Dados próprios | 30 · 30/min |
| GET/api/v1/ip/asn?ip=Experimentar: /api/v1/ip/asn?ip=2001:1208::1 | O AS de origem e o prefixo anunciado de um endereço, e a delegação do registo em que se insere. | Dados próprios | 30 · 30/min |
| GET/api/v1/ip/reverse?ip=Experimentar: /api/v1/ip/reverse?ip=8.8.8.8 | O registo PTR de um endereço público, em tempo real, com confirmação direta. | Consulta em direto | 40 · 60/min |
| GET/api/v1/ip/blacklist?ip=Experimentar: /api/v1/ip/blacklist?ip=8.8.8.8 | Resultados DNSBL em tempo real (SpamCop, PSBL, DroneBL, s5h.net) e a indicação de saída Tor de um endereço público. | Consulta em direto | 40 · 60/min |
POST/api/v1/bulkcurl --data-binary $'1.1.1.1\n9.9.9.9' https://ipaddress.co.il/api/v1/bulk | Até 100 endereços de uma vez (JSON {"addresses": […]} ou um por linha), respondidos apenas a partir dos nossos próprios dados. Nada é guardado. | Dados próprios | 6 · 3/min |
| GET/api/v1/asn/{asn}Experimentar: /api/v1/asn/AS8151 | Titular, registo e prefixos anunciados de um sistema autónomo. | Dados próprios | 30 · 30/min |
| GET/api/v1/network/{cidr}Experimentar: /api/v1/network/132.247.0.0/16 | Uma rede em notação CIDR: tamanho, intervalo, uso especial, quem a anuncia (com RPKI), a delegação no registo e uma estimativa de localização. | Dados próprios | 30 · 30/min |
| GET/api/v1/network/ipv4?cidr=Experimentar: /api/v1/network/ipv4?cidr=192.168.1.37/24 | Cálculo de sub-rede de uma rede IPv4 ou IPv6: rede, broadcast, máscaras, intervalo utilizável e totais. | Dados próprios | 120 · 240/min |
| GET/api/v1/network/ipv6?cidr=Experimentar: /api/v1/network/ipv6?cidr=2001:db8::/48 | Cálculo de sub-rede de uma rede IPv4 ou IPv6: rede, broadcast, máscaras, intervalo utilizável e totais. | Dados próprios | 120 · 240/min |
| GET/api/v1/country/{cc}Experimentar: /api/v1/country/MX | O espaço de endereços e os números AS registados num país, o que as suas redes anunciam, a cobertura RPKI e as principais redes (para IL, também a estimativa por distrito). | Dados próprios | 30 · 30/min |
| GET/api/v1/dns/{domain}?type=A,MXExperimentar: /api/v1/dns/unam.mx?type=A,MX | Registos DNS em direto de um domínio. | Consulta em direto | 40 · 60/min |
| GET/api/v1/dns/propagation?name=&type=Experimentar: /api/v1/dns/propagation?name=unam.mx&type=A | A mesma pergunta DNS feita a vários resolvedores públicos, com cada resposta e se coincidem. | Consulta em direto | 40 · 60/min |
| GET/api/v1/rdap/{query}Experimentar: /api/v1/rdap/AS8151 | Dados de registo do servidor RDAP responsável. | Consulta em direto | 10 · 6/min |
| GET/api/v1/healthExperimentar: /api/v1/health | Estado de funcionamento do serviço. | Dados próprios | 120 · 240/min |
| GET/api/v1/data-statusExperimentar: /api/v1/data-status | Idade e tamanho de cada conjunto de dados. | Dados próprios | 120 · 240/min |
Atalhos em texto simples fora de /api/v1: /raw devolve o seu endereço, /json o mesmo objeto de /my-ip e /country o código do país estimado.
Cada endpoint com caminho tem também uma forma com parâmetros: /ip/lookup?ip=, /asn/lookup?asn=, /dns/lookup?name=, /network/cidr?cidr=. Cada resposta inclui um cabeçalho X-Request-Id.
curl ipaddress.co.il/rawcurl ipaddress.co.il/jsoncurl ipaddress.co.il/countryLimites de pedidos
Os pedidos são limitados por endereço de cliente com um token bucket. Quando o limite é atingido, a API responde 429 com um cabeçalho Retry-After. Os limites são contados em memória com uma chave cifrada que muda diariamente; os endereços não são guardados.
Erros
Os erros usam códigos de estado HTTP e um corpo JSON da forma {"error": {"code": "…", "message": "…"}}.
Versões
Os caminhos em /api/v1/ mantêm a forma das respostas. Podem ser acrescentados campos novos; os existentes não são removidos nem renomeados na v1.
Atribuição
Os dados de localização vêm da DB-IP (CC BY 4.0). Se os mostrar, credite a DB-IP como exige a licença.