Форматы ответа

Один поисковый ресурс и шесть вариантов записи ответа. Формат выбирается параметром format=; по умолчанию - JSON, и остальные описаны через него.

formatContent-TypeВид
jsonapplication/jsonОдин объект, результаты - в массиве.
ndjsonapplication/x-ndjsonПо одному объекту JSON на строку. Первая строка - метаданные с пометкой "object":"meta".
xmlapplication/xmlТот же документ в XML, строки - элементы <result>.
csvtext/csvРазделитель - точка с запятой, без строки заголовка.
tsvtext/tab-separated-valuesКак CSV, но с табуляцией.
txttext/plainПо одному URL на строку.

jsonl принимается как другое имя ndjson.

Какой выбрать

json - для всего, что помещается в память. ndjson - для всего, что не помещается: нет внешнего массива, которого надо дождаться, метаданные приходят раньше строк, и обработку первого результата можно начать, пока остальные ещё идут. csv, tsv и txt - для таблиц, конвейеров в командной строке и для переноса скрипта со старых адресов выгрузки без переделки парсера.

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}

Выбор колонок

json и xml возвращают все поля. Плоские форматы по умолчанию выдают привычный набор, так что скрипту, который переходит со старых адресов выгрузки, не нужно менять парсер:

ЗапросВывод
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=1первой идёт строка domain;rank
format=csv&delimiter=,imgbox.com,4187

columns работает для любого формата, так что format=json с columns=domain вернёт объекты только с этим полем.

Особенности плоских форматов

Это собственная сериализация нового API, а не переиздание старых выгрузок. Вид намеренно сделан привычным, но точное совпадение байт в байт обещают только старые адреса.

Форматы и ошибки

csv, tsv и txt предназначены только для строк выдачи, поэтому запрос такого формата к /v1/account даёт 400 format_not_available. Сами ошибки приходят в JSON или в XML, если был запрошен он.

Далее Лимиты и ограничения частоты