Jina Reader: como converter páginas em Markdown
Veja como usar o Jina Reader para extrair texto de páginas, o que aconteceu em um teste em polonês e quais limites considerar.
👁 114 leituras
O Jina Reader permite obter o texto de uma página adicionando um prefixo ao endereço dela. Testei esse método em um artigo em polonês com tabelas e vídeos. O teste foi feito em outubro de 2026.
Em resumo
- Para ler uma página pública, você pode usar r.jina.ai sem conta nem chave.
- No teste, os títulos, as tabelas e os links para arquivos de vídeo foram preservados.
- O Reader não assistiu aos vídeos nem criou transcrições.
- É importante separar os limites de velocidade e as regras de tokens do custo por página.
Como funciona o endereço com o prefixo r.jina.ai?
O Reader atua como intermediário entre um site e um aplicativo que precisa do texto da página. Em vez de baixar o código HTML e remover os elementos da interface por conta própria, você chama o endereço do serviço seguido pelo endereço completo da fonte. A resposta pode ser enviada ao navegador, a um script ou a um fluxo de trabalho de IA. O formato mais simples é:
https://r.jina.ai/https://example.com
Isso é útil quando você já sabe qual fonte quer consultar. O Reader não substitui um mecanismo de busca que determine qual documento vale a pena ler. Também não substitui a verificação de que o conteúdo obtido está atualizado e completo. Se a página tiver versões arquivadas ou trechos atualizados, o endereço do serviço, por si só, não resolve a escolha da informação correta.
Para automações, a simplicidade da chamada HTTP é útil. Você pode salvar o resultado junto com o endereço e a data da leitura e só depois enviá-lo ao modelo. Assim, fica claro qual material estava disponível para o agente. Não vale a pena pedir que ele reconstrua de memória uma tabela ausente no resultado da fonte. A ausência deve ficar evidente como uma limitação dos dados.
Em um script, basta fazer uma solicitação HTTP comum. A chave é opcional - sem ela, aplica-se um limite de velocidade menor. Se você tiver uma, mantenha-a em uma variável de ambiente:
import os, requests
url = "https://example.com"
h = {}
key = os.environ.get("JINA_API_KEY")
if key:
h["Authorization"] = f"Bearer {key}"
r = requests.get(
"https://r.jina.ai/" + url,
headers=h, timeout=60)
print(r.status_code)
print(r.text[:2000])
Salve o resultado junto com o endereço e a data da leitura. Em uma consulta futura, o agente poderá usar a cópia salva, em vez de buscar a mesma página outra vez.
Meu teste: artigo, tabelas e endereços de vídeo
Usei o r.jina.ai para obter o artigo indicado sobre Kling, sem uma chave de API. A resposta teve status HTTP 200 e 9.947 caracteres, incluindo os metadados. O texto após o marcador “Conteúdo em Markdown” tinha 9.763 caracteres. Essa contagem considera caracteres Unicode, não bytes, palavras ou tokens. A diferença é importante ao comparar resultados e calcular posteriormente o uso do modelo.
Contei 17 títulos ATX e 2 tabelas no Markdown. Os títulos das seções e a estrutura tabular dos dados foram preservados. O resultado também continha 5 endereços diferentes de arquivos MP4. É um resultado útil para um material em que os vídeos fazem parte dos exemplos: o aplicativo pode, pelo menos, identificar que esses recursos existem.
Mas o endereço de um vídeo não deve ser tratado como um resumo dele. Não assisti aos vídeos, não analisei os quadros nem fiz transcrições. Um modelo que receba apenas o Markdown não deve descrever o que aparece na gravação só porque tem acesso ao nome do arquivo ou à legenda. A análise de conteúdo multimídia exige uma etapa separada.
O tempo medido para a solicitação completa foi de 0,728 s. Foi uma única execução, sem informações sobre o estado do cache do Jina. O resultado se concentrou no conteúdo do artigo e foi mais legível que o Markdown bruto de um teste local sem filtro. Essa observação não comprova uma vantagem em todas as páginas. Em particular, o teste não incluiu sites que exigem login nem interações complexas. O artigo testado estava em polonês; os resultados não são uma avaliação em português.
Leitura grátis, limites e tokens
A documentação informa um limite de 20 solicitações por minuto sem chave. Para chaves dos planos free e paid, indica 500 solicitações por minuto; para o nível premium, 5.000. Uma nova chave recebe inicialmente uma cota de 10 milhões de tokens. Essa cota inicial não é o mesmo que um limite mensal renovável, e o limite de velocidade não garante atendimento irrestrito para qualquer volume de páginas.
O uso pago deve ser avaliado de acordo com as regras atuais da conta e a cobrança por tokens. Não há uma tarifa universal confirmada em USD por página. Um artigo longo e uma página curta de produto podem gerar volumes diferentes. Informar um preço único para um grande conjunto de endereços sem considerar o tamanho do conteúdo daria uma falsa impressão de precisão.
Em uma automação pequena, comece adicionando um limite de velocidade e o tratamento de respostas que indiquem que o limite foi atingido. Não repita as tentativas imediatamente depois de uma recusa. Salve os resultados bem-sucedidos e faça uma nova leitura quando precisar de conteúdo atualizado. Essa abordagem ajuda a controlar o tráfego e a explicar diferenças posteriores entre as respostas do agente.
Quando o Reader basta e quando você precisa de mais?
O Reader serve para um cenário simples: você tem um endereço público conhecido e precisa de texto legível, sem muita configuração. Nesse caso, instalar um navegador local pode ser desnecessário. Mas, se você precisar selecionar elementos da página, preservar uma estrutura personalizada ou controlar com precisão o processo de renderização, uma biblioteca local oferece mais liberdade para criar regras próprias.
O mesmo vale para interações. Ler um documento e preencher um formulário com várias etapas são tarefas diferentes. Um serviço de extração de texto não deve ser tratado como um navegador genérico capaz de executar qualquer ação. A escolha da ferramenta deve depender do que você precisa obter, não apenas da possibilidade de enviar uma solicitação HTTP.
O repositório do Reader usa a licença Apache-2.0. Isso não significa que todas as versões do serviço hospedado estejam livres de limites, nem que os direitos sobre os artigos consultados sejam transferidos ao usuário. A Jina também disponibiliza MCP, o que facilita o uso com clientes de agentes. A integração continua sendo uma forma de acessar recursos, não uma garantia adicional de qualidade das fontes.
Veja a comparação entre Reader, Firecrawl e Crawl4AI e as formas de conectar fontes usando MCP.
Perguntas frequentes
Basta colar qualquer link?
O prefixo facilita a tentativa de leitura de uma página pública, mas não garante acesso a todos os sites. Verifique se o resultado tem trechos ausentes, mensagens de erro ou conteúdo desatualizado.
O Jina Reader analisa vídeos?
No teste descrito, ele preservou os endereços dos arquivos MP4. Isso não equivale a analisar imagens nem a criar uma transcrição. Não é possível descrever com segurança o conteúdo de um vídeo apenas com base no link.
É necessário usar um modelo de linguagem?
Você não precisa conectar um modelo por conta própria para obter o resultado pelo r.jina.ai. O modelo só é necessário se o aplicativo tiver de interpretar, resumir ou comparar o conteúdo obtido.
Fontes
- Jina Reader - documentação e limites - consultado em 2026-10-21.
- Jina Reader - repositório - consultado em 2026-10-21.


