O que lançamos este mês: geocodificação, IP, fuso horário e mais
Um resumo do trabalho recente em toda a API: novos hosts de compatibilidade, consultas de fuso horário e altitude mais rápidas, recursos no painel e mais visibilidade sobre a cota.
O Nominatim roda com dados do OpenStreetMap e há muito tempo é a escolha padrão de equipes que queriam uma opção de geocodificação sem uma licença comercial atrelada. As políticas de uso de uma instância pública compartilhada podem tornar esse arranjo menos confiável à medida que o tráfego cresce, e é aí que um host compatível e com controle de cota se torna útil.
Nosso host compatível com o Nominatim reproduz exatamente os parâmetros de requisição e o corpo de resposta do serviço original, exceto os textos de direitos autorais, termos e privacidade, que são do próprio My Geocode. Requisições montadas no formato do Nominatim podem ser enviadas ao nosso host sem alteração, com a resposta retornada no mesmo formato que o código de interpretação existente já espera.
A autenticação segue aqui também nossos quatro métodos habituais: cabeçalho X-API-Key, cabeçalho Authorization: Bearer, HTTP Basic auth com a chave como nome de usuário ou parâmetro de consulta. Como a instância pública do Nominatim normalmente não exige chave nenhuma, adicionar uma aqui também significa ganhar uma cota dedicada e rastreável, em vez de compartilhar um recurso público sem gestão.
Os preços são os mesmos de todos os outros hosts e endpoints que operamos. Qualquer endereço recebe 2.500 requisições gratuitas por dia sem precisar de chave, contadas por rede. Uma chave adiciona suas próprias 2.500 requisições gratuitas por dia além disso. Além das duas cotas, o crédito pré-pago custa € 0,0001 por requisição, ou um pacote Unlimited cobre tudo por € 50 por mês.
Uma instância pública compartilhada precisa se proteger com políticas de uso que são, por necessidade, conservadoras, já que ela não consegue distinguir de antemão o tráfego de um chamador do de outro. Uma chave muda isso: o uso de uma conta é medido em relação à sua própria cota, independentemente do que mais esteja acontecendo no serviço naquele dia, o que é uma garantia diferente da que um recurso compartilhado pode oferecer, por mais generosa que seja sua política declarada.
Os cabeçalhos de cota vêm em todas as respostas deste host, o que é uma mudança significativa em relação a uma instância pública compartilhada sem visibilidade por chamador: X-Quota-Limit, X-Quota-Used, X-Quota-Free-Remaining, X-Quota-Network-Used e X-Credits-Remaining estão todos incluídos, então você sempre sabe exatamente onde está, em vez de tentar adivinhar uma política de uso não publicada.
Para projetos que querem mais do que a resposta compatível retorna por padrão, adicionar mg_extras=1 à requisição, ou um cabeçalho X-MG-Extras, acrescenta campos extras opcionais por cima, sem alterar o formato base a menos que você peça.
Para quem não tem certeza de como uma migração vai se comportar em um determinado país ou região, a página de cobertura em /coverage/ documenta em detalhes onde há dados de geocodificação disponíveis, o que é uma primeira parada sensata antes de apontar tráfego de produção para qualquer host novo, no formato do Nominatim ou não.
O host está documentado em /compatibility/nominatim/, e as orientações gerais sobre como trocar de provedor estão em /docs/compatibility/. Para quem depende hoje de uma instância pública do Nominatim, isso oferece o mesmo formato de requisição com uma cota dedicada e cabeçalhos de cota claros.