Formatos de resposta

Um recurso de busca, seis formas de escrever a resposta. Escolha com format=; JSON é o padrão e a referência com base na qual os outros são descritos.

formatContent-TypeEstrutura
jsonapplication/jsonUm objeto, com os resultados em um array.
ndjsonapplication/x-ndjsonUm objeto JSON por linha. A primeira linha são os metadados, marcados com "object":"meta".
xmlapplication/xmlO mesmo documento em XML, com as linhas como <result>.
csvtext/csvSeparado por ponto e vírgula, sem linha de cabeçalho.
tsvtext/tab-separated-valuesComo o CSV, separado por tabulação.
txttext/plainUma URL por linha.

jsonl é aceito como outro nome para ndjson.

Qual usar

json para tudo o que cabe na memória. ndjson para o que não cabe: não há array externo pelo qual esperar, os metadados chegam antes das linhas, e quem lê pode começar a processar o primeiro resultado enquanto o restante ainda está chegando. csv, tsv e txt para planilhas, pipelines de shell e para migrar um script das URLs de exportação antigas sem mudar o parser.

ndjson

{"object":"meta","query":"\"angular.min.js\"","page":1,"per_page":2,"total":278,"total_pages":139,"returned":2,"truncated":false,"took_ms":2}
{"domain":"imgbox.com","url":"https://imgbox.com/","rank":4187,"ranked":true}
{"domain":"angularjs.org","url":"https://angularjs.org/","rank":12376,"ranked":true}

Como escolher as colunas

json e xml retornam todos os campos. Já os formatos planos usam por padrão as colunas conhecidas, para que um script vindo das URLs de exportação antigas não precise mudar o parser:

RequisiçãoSaída
format=csvimgbox.com;4187
format=csv&columns=url,rankhttps://imgbox.com/;4187
format=csv&columns=domainimgbox.com
format=txthttps://imgbox.com/
format=csv&snippets=1imgbox.com;4187;the matching text
format=csv&header=1primeiro, uma linha domain;rank
format=csv&delimiter=,imgbox.com,4187

columns funciona em todos os formatos, então format=json com columns=domain retorna objetos só com esse campo.

Detalhes dos formatos planos

Estas são serializações próprias da nova API, não uma reedição das exportações antigas. A estrutura é familiar de propósito, mas só as URLs antigas garantem exatamente os mesmos bytes.

Formatos e erros

csv, tsv e txt são formatos para linhas e nada mais, então pedir um deles em /v1/account resulta em 400 format_not_available. Os próprios erros voltam em JSON, ou em XML se for isso o que foi pedido.

A seguir Cotas e limite de requisições