Destaques
Existem duas formas adequadas para uma página de verificação terminar: você obtém a página por trás dela ou não paga por isso. Esta semana, Reddit, eBay e sites protegidos pela Imperva passaram a seguir essa regra. As recargas agora também podem ser compradas automaticamente antes que um job longo fique sem saldo. E uma resposta "Invalid API key" sempre significa que a chave está realmente errada. A maior parte disso já está no changelog; aqui está o resumo da semana em um só lugar.
Novidades
Páginas de verificação do Reddit, eBay e Imperva
O Reddit responde a requests de vários endereços com uma breve verificação em JavaScript, uma página simples intitulada apenas "Reddit", antes de exibir qualquer conteúdo. O Proxy Finder e o Auto agora concluem essa verificação na mesma saída e entregam a página solicitada. A cobrança é feita pelo preço normal por página, como qualquer outra requisição.
O eBay às vezes responde a um request frio por um anúncio com uma página de interrupção própria, que executa uma verificação no navegador antes de seguir para o anúncio. O Browser agora aguarda esse processo e retorna o anúncio. Mas, se o eBay recusar de qualquer forma, você recebe a página de verificação de volta, sem cobrança.
A página de desafio da Imperva, a página de incidente e a página de interrupção agora estão na nossa lista de páginas de verificação conhecidas. Single, Browser e Proxy Finder identificam essas páginas no header X-FourA-Check-Page e não as cobram. O Auto trata esses casos como uma falha: quando uma sessão salva encontra uma delas, ele continua buscando a página real em vez de entregar a verificação.
A referência de verificações de sites lista todos os sistemas que reconhecemos e como cada endpoint lida com eles. Se uma página de verificação já foi parar nos seus dados parecendo uma resposta real (escrevemos sobre como isso acontece), agora são três sites a menos onde isso pode ocorrer.
Recargas que se compram sozinhas
Se o seu plano permite recargas, a seção Billing no Dashboard agora pode comprá-las para você. Você escolhe quando ela é acionada: com 80, 85, 90 ou 95% do limite utilizado. Você também define quanto cada recarga adiciona e quantas vezes ela pode ser executada em um período de faturamento. Cada compra é lançada no seu cartão salvo, gera uma fatura própria e envia um e-mail para você.
Uma cobrança que falhar não será tentada novamente. A regra é pausada, e o diálogo exibe a data e o motivo: um cartão recusado, por exemplo, ou um banco que exigiu a confirmação do pagamento. Corrija o problema e salve a regra para reativá-la.
Mantenha o limite por período baixo. Ele existe para evitar que um job fora de controle continue comprando durante a noite e não deve ser usado como controle de orçamento. O guia de recarga automática explica cada configuração.
"Invalid API key" significa a chave
Um erro 401 com "Invalid API key" agora sempre significa que verificamos sua chave e a recusamos. Assim, seu client pode parar imediatamente. Se não pudermos confirmar uma chave momentaneamente, uma chave validada nos últimos 10 minutos continua funcionando. Caso contrário, você recebe um 503 com API key check temporarily unavailable e Retry-After: 5, e nada é cobrado.
Essa distinção facilita o tratamento:
import time
import requests
for attempt in range(3):
r = requests.post(
"https://api.foura.ai/api/single",
headers={"X-API-Key": "pk_live_..."},
json={"url": "https://example.com/data"},
)
if r.status_code == 401:
raise SystemExit(r.json()["error"]) # the key is wrong: fix it, don't retry
if r.status_code == 503 and "Retry-After" in r.headers:
time.sleep(int(r.headers["Retry-After"]))
continue
break
A referência de erros cobre os quatro tipos de 503 e o que cada um espera de você.
Documentação e blog em Markdown
Adicione .md a qualquer página de documentação ou post do blog, ou solicite com Accept: text/markdown, e você receberá Markdown limpo que um assistente de IA pode ler sem o conteúdo restante da página. As páginas inicial, de preços, API, porta de proxy e MCP também possuem versões em Markdown, e o llms.txt vincula cada página pelo seu endereço em Markdown. Cada página de documentação e post também traz um botão Copiar como Markdown, com Abrir no ChatGPT e Abrir no Claude ao lado.
(Este resumo não é exceção. Adicione .md ao final da sua URL.)
Correções menores
- Deixe a página de cadastro aberta na etapa "verifique seu e-mail" e você receberá apenas o e-mail de verificação solicitado, sem repetições enquanto a aba aguarda. A opção de reenviar e-mail nessa etapa envia outra cópia quando você precisar.
- A visão geral do painel ajusta seus painéis à sua tela, de modo que cada linha permaneça completa em qualquer largura. Os números de tráfego e tempo são arredondados para caber em suas células, com o valor exato visível ao passar o cursor. O número do Auto exibe sua cor verde nos cards de Requests e Credits, e a visão geral de exemplo de uma nova conta agora inclui o Auto.
- As páginas de documentação traduzidas usam as mesmas âncoras de seção das versões em inglês, garantindo que links de seção e o sumário levem ao cabeçalho correto em todos os 13 idiomas. Os cabeçalhos nas documentações e posts traduzidos agora também estão traduzidos.
- O cabeçalho do blog agora tem link para Comparisons, onde cada post compara a FourA com um provedor específico em termos de preço. O cabeçalho se ajusta a qualquer tela, de um celular pequeno a um monitor ultrawide.
Por baixo do capô
Novas conexões na porta de proxy agora são distribuídas por todos os nossos servidores, exatamente como as chamadas de API já fazem. Um servidor cuja porta de proxy ou API pare de responder sai de rotação automaticamente e retorna assim que estiver saudável. Não há nada a alterar no seu cliente ou no seu nome de usuário de proxy.
Cada página de verificação que aprendemos a identificar é um 200 a menos sobre o qual seu parser precisa duvidar.