Apinoa Docs

Search

Get one Yandex results page, with every block in page order.

View raw .mdx
GET | POST /v1/yandex/search

Send parameters as a query string with GET, or as a JSON body with POST. Both are equivalent.

Request

curl "https://gateway.apinoa.com/v1/yandex/search?q=moscow+kremlin&type=images" \
  -H "x-api-key: $APINOA_API_KEY"

Parameters

ParameterTypeRequiredNotes
countryenumThe market, as an ISO 3166 country code. US RU TR KZ BY UA UZ DE GB FR
cursorstringThe previous page's cursor. Pass it alone for the next page.
deviceenumWhich page to read: the desktop (default) or the mobile one. desktop mobile
imagestringAn image URL: a reverse-image search instead of q (type=image).
langenumInterface language: en (yandex.com, the default) or ru (yandex.ru). en ru
limitinteger 1–100Results wanted (default 20, at most 100). More than one page is charged per page.
qstringThe query, search operators included.
timeRangeenumOnly results from this past period. hour day week month year
typeenumWhat to search: news, images, videos, or image for a reverse-image search. Yandex's web results are not offered. news images videos image

The same parameters, and every response type, are in the OpenAPI document.

Response

Returns ResultsPage in data. A real response, shortened: arrays keep their first entries and long text is cut.

{
  "success": true,
  "data": {
    "engine": "yandex",
    "query": "moscow kremlin",
    "type": "images",
    "outcome": "results",
    "country": "US",
    "lang": "en",
    "device": "desktop",
    "page": 1,
    "items": [
      {
        "type": "image",
        "imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/DSC07437-%D0%9C%D0%BE%D1%81%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9_%D0%9A%D1%80%D0%B5%D0%BC%D0%BB%D…",
        "thumbnail": "https://avatars.mds.yandex.net/i?id=0478d2b2c1e3bc635da290a7ec93ed7a8389541d-4568991-images-thumbs&n=13",
        "width": 1280,
        "height": 854,
        "title": "Кремль - Википедия",
        "url": "https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B5%D0%BC%D0%BD%D0%B8%D0%BA",
        "source": "ru.wikipedia.org",
        "ext": {
          "id": "c13a461cad3531a9d14e15d194b1f453",
          "snippet": "Кремль — Википедия",
          "copies": [
            {
              "url": "https://day.ru/public/styles/1920x1080_16_9_watermark/public/image/2026-07/screenshot_8.jpg.webp?itok=tgB7-t6o",
              "width": 1920,
              "height": 1080,
              "bytes": 239798
            },
            {
              "url": "https://apostrophe.ua/uploads/image/a2d88e4418642f7271777de4cf54216f.jpg",
              "width": 1500,
              "height": 1001,
              "bytes": 1802215
            }
          ]
        },
        "rank": 1
      },
      {
        "type": "image",
        "imageUrl": "https://cdn.culture.ru/c/367836.jpg",
        "thumbnail": "https://avatars.mds.yandex.net/i?id=8b172529aea8e52da70a8539d9ee647e8646aea7-5338433-images-thumbs&n=13",
        "width": 1350,
        "height": 900,
        "title": "Музеи Московского Кремля: история основания, экспозиции, соборы на территории Кр",
        "url": "https://www.culture.ru/materials/94949/muzei-moskovskogo-kremlya-chto-i-gde?7",
        "source": "culture.ru",
        "ext": {
          "id": "e07ff0761619f4d6f544159823e1163d",
          "snippet": "Telegram.",
          "copies": [
            {"url": "https://cdn.culture.ru/c/367836.jpg", "width": 1350, "height": 900, "bytes": 152243},
            {
              "url": "https://moscowrussian.com/images/kremlin-church.jpg",
              "width": 1200,
              "height": 800,
              "bytes": 263551
            }
          ]
        },
        "rank": 2
      },
      {
        "type": "image",
        "imageUrl": "https://news.store.rambler.ru/img/b4d984f9a02f4f2f79bdc5a25fec1378?img-format=avif&img-1-resize=width:1280",
        "thumbnail": "https://avatars.mds.yandex.net/i?id=2a6a772473ef11a574759d3c2ef99700d60d3073-12935885-images-thumbs&n=13",
        "width": 1280,
        "height": 720,
        "title": "Что посмотреть в Московском Кремле: краткая история, достопримечательности и цен",
        "url": "https://weekend.rambler.ru/tourism/56962355-chto-posmotret-v-moskovskom-kremle-kratkaya-istoriya-dostoprimechatelnosti-i-tseny-na-ekskursii/",
        "source": "weekend.rambler.ru",
        "ext": {
          "id": "19300ddc2386aec2e7a879ec0a199c96",
          "snippet": "© yulenochekk/iStock.com",
          "copies": [
            {
              "url": "https://www.his-j.com/oe/up_img/LED0097/Tr00100420201016215043586.jpg",
              "width": 4774,
              "height": 3106,
              "bytes": 5002584
            },
            {
              "url": "https://cdn1.img.spnfa.ir/img/03/76/037659_0:139:3147:1909_1920x0_80_0_0_8aabe5681b4393b85463dc85a65e816a.jpg",
              "width": 1920,
              "height": 1080,
              "bytes": 373184
            }
          ]
        },
        "rank": 3
      }
    ],
    "fetchedAt": "2026-10-30T01:00:16.470Z"
  }
}

Errors

StatusCodeMeaning
400INVALID_CURSORThe cursor is not one this operation returned. Start again without it.
400INVALID_PARAMSA parameter is missing, unknown or out of range, or the engine does not take it. The message names it.
401UNAUTHORIZEDThe x-api-key header is missing, or the key is revoked or unknown.
402INSUFFICIENT_BALANCEThe balance does not cover this call. Top up in the dashboard.
429MARKETPLACE_SATURATEDToo many concurrent calls. Retry after the Retry-After seconds.
502UPSTREAM_ERRORThe engine answered with something unusable. Retry with backoff.
503SERVICE_UNAVAILABLEA temporary failure. Retry with backoff.

Every code is listed in Errors. Failed calls are not billed.

Pricing

Price $0.0012 per call, plus $0.0012 for each extra call it makes — at most 4 more, so $0.006 in total. List price; the rate steps down above 1,000 calls a day.

Notes

  • Pass type: Yandex's web results are not offered. News comes from Yandex's Russian news edition and takes no country or lang.
  • type=image with an image URL instead of q runs a reverse-image search.
  • limit above one page reads further pages, one unit each.

On this page