{
"data": [
{
"value": "4010.00",
"raw_text": "4,010.00"
}
],
"validation": {
"status": "ok",
"reason": "no_reference",
"value": 4010,
"model_value": 4010,
"raw_text": "4,010.00",
"reference": null,
"change_pct": null,
"suspect_pct": 10,
"reject_pct": 30,
"on_page": true,
"votes": [],
"mode": "shadow",
"reference_source": null
}
}
curl --location --request GET 'https://zylalabs.com/api/14423/ai+web+extraction+api/36427/extract+from+page?url=https://www.investing.com/commodities/gold&parse_description=Current gold futures price as a plain number, in a field called value&expiration_seconds=600&raw_text=true&value_field=value&last_value=4012.5&max_chars=6000' --header 'Authorization: Bearer YOUR_API_KEY'
{
"data": [
{
"value": 4066.5
}
],
"validation": {
"status": "ok",
"reason": "no_reference",
"value": 4066.5,
"model_value": 4066.5,
"raw_text": null,
"suspect_pct": 10,
"reject_pct": 30,
"on_page": null,
"votes": [],
"mode": "shadow"
}
}
curl --location --request GET 'https://zylalabs.com/api/14423/ai+web+extraction+api/36428/extract+from+screenshot?url=https://www.investing.com/commodities/gold&llm_instructions=Current gold price in USD as a number, in a field called value&expiration_seconds=600&value_field=value&last_value=4012.5' --header 'Authorization: Bearer YOUR_API_KEY'
Após se cadastrar, cada desenvolvedor recebe uma chave de acesso à API pessoal, uma combinação única de letras e dígitos para acessar nosso endpoint de API. Para autenticar com a AI Web Extraction API basta incluir seu token Bearer no cabeçalho Authorization.
| Cabeçalho | Descrição |
|---|---|
Authorization
|
Obrigatório
Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito.
|
Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento.
(Economize 2 meses com cobrança anual 🎉)
AI Web Extraction API turns any public web page into structured JSON. Send a URL and say in plain language what you need, for example current gold futures price as a number, in a field called value. The service fetches the page, prunes it, asks a large language model for exactly those fields and returns them as JSON.
Language models misread pages: they drop a decimal point (27015 instead of 270.15), pick a neighbouring row, or echo a number from the instruction. Every numeric answer is therefore checked before it is returned:
last_value if you send yours).The result comes in a validation object: status (ok, suspect, rejected or unchecked), reason, raw_text exactly as written on the page, on_page, and the thresholds used. The check is informational: you always receive the answer and decide what to do with it. The same pipeline runs in production on hundreds of thousands of extractions per month for commodity, metal and index prices.
Both accept an optional cache window (expiration_seconds, default 10 minutes), your own reference value (last_value) and the name of the field that holds the number when the answer has several (value_field).
Request: the URL of a gold futures quote page and parse_description=Current gold futures price as a plain number, in a field called value
{
"data": [{ "value": "4010.00", "raw_text": "4,010.00" }],
"validation": {
"status": "ok", "reason": "no_reference",
"value": 4010.0, "raw_text": "4,010.00", "on_page": true,
"suspect_pct": 10.0, "reject_pct": 30.0
}
}
Name the fields you want back and be specific about which number: "the Last Price in the quote header, keeping its decimal point, in a field called value" works better than "the price". Do not put example numbers or ranges in the instruction: if the data is missing, a model tends to return the example.
Um objeto JSON com duas partes: dados, os campos que você pediu na sua instrução, e validação, uma verificação do valor numérico principal (status ok, suspeito, rejeitado ou não verificado, o motivo, o texto bruto conforme escrito na página e os limites usados)
Em linguagem simples, através de parse_description (ponto de extremidade de texto) ou llm_instructions (ponto de extremidade de captura de tela). Nomeie os campos que deseja de volta, por exemplo "nome do produto, preço em USD como um número e disponibilidade, em campos chamados nome, preço e em_estoque"
Use Extrair da Página por padrão é mais rápido e funciona no texto da página Mude para Extrair de Captura de Tela quando os dados só aparecem uma vez que a página é renderizada como gráficos widgets tabelas em canvas ou aplicativos pesados em JavaScript
Se o número está realmente escrito na página (on_page), se parece uma mudança decimal (x10, x100) e quão longe ele se moveu do último valor aceito para a mesma URL e instrução Você sempre recebe a resposta o status informa quanto confiar nela
Sim envie last_value com o último número que você armazenou para esse URL e instrução e a validação compara com ele em vez do histórico de serviços Use value_field quando sua resposta tiver vários números
Não A página e a resposta são reutilizadas para a mesma URL e instrução enquanto forem mais jovens que expiration_seconds (padrão 600 segundos) Envie 0 para forçar uma nova obtenção
Extrair da Página lê o texto renderizado pelo servidor Para conteúdo que só aparece depois que a página executa seus scripts use Extrair da Captura de Tela que renderiza a página em um navegador antes de lê-la
A resposta vem com erro verdadeiro e uma mensagem descrevendo o problema (página bloqueada, tempo limite, erro a montante) A chamada não é contada como bem-sucedida
Nomeie os campos que você deseja de volta e diga qual número você quer dizer "o Último Preço no cabeçalho da citação, mantendo seu ponto decimal, em um campo chamado valor" Evite números ou faixas de exemplo na instrução quando os dados estiverem ausentes, um modelo tende a retornar o exemplo
Não O bloco de validação é informativo você sempre recebe o valor extraído mais o status a razão e se o texto bruto foi encontrado na página Rejeite ou tente novamente do seu lado com base no status quando o número é importante