POST /api/yandexmaps/organizations/search
Price: 20 credits
Search Yandex Maps organizations by query or category within a geo area: organization cards with title, rating, categories, address, coordinates, working hours and features, filterable by rating, price band, open-now, good-place, photos and extra category-specific filters, ordered by relevance or by rating.
Search Yandex Maps organizations by text (query or category like 'кофейня') inside a geo area (geo='213/moscow'). Each result is a full organization card (title, rating, categories, address, coordinates, working_hours, features). Narrow with rating_threshold, price_category, open_now, good_place, has_photo, or pass extra category-specific filters via the filters map. Order with sort (relevance by default, or by rating).
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)text string required — Search query or category (examples: "кофейня", "ресторан"; minLength: 1)count integer required — Max number of results to return (min: 1)geo string — Geo permalink in '{geoId}/{citySlug}' form bounding the search area (default: "213/moscow"; examples: "213/moscow", "2/saint-petersburg")latitude number nullable — Latitude of the search center (min: -90; max: 90)longitude number nullable — Longitude of the search center (min: -180; max: 180)zoom integer nullable — Map zoom level controlling the search radius (min: 1; max: 21)rating_threshold string nullable — Keep only organizations rated at or above this value (one of: "gt3.0", "gt3.5", "gt4.0", "gt4.5", "gt4.7", "gt4.9")price_category string nullable — Keep only organizations in this price band (one of: "price_cheap", "price_reasonable", "price_expensive", "price_very_expensive")open_now boolean — Keep only organizations open at the moment (default: false)good_place boolean — Keep only organizations marked as a good place (default: false)has_photo boolean — Keep only organizations that have photos (default: false)sort string — Result ordering — relevance (default) or by rating (default: "default"; one of: "default", "rating")filters object nullable — Extra category-specific filters as a map of filter id to value, e.g. {"wi_fi": true, "type_cuisine": "italian_cuisine"}. Boolean true selects a toggle filter. (examples: {"breakfast":true,"wi_fi":true})* union@type string (default: "YandexMapsOrganization")id string requiredalias string nullabledescription string nullableurl string nullablerating number nullablerating_count integer nullablereview_count integer nullablecategories array (default: [])@type string (default: "YandexMapsCategory")id string nullablename string nullablealias string nullabletype string nullablephones array (default: [])website string nullableaddress string nullablefull_address string nullableadditional_address string nullablepostal_code string nullablelocality string nullablecountry string nullablelatitude number nullablelongitude number nullableimage string nullablephoto_count integer nullablephotos array (default: [])working_status string nullableworking_time_text string nullableis_open_now boolean nullableworking_hours array (default: [])@type string (default: "YandexMapsWorkingHours")day string requiredis_open boolean (default: false)intervals array (default: [])features array (default: [])@type string (default: "YandexMapsFeature")id string requiredname string nullabletype string nullablevalue union nullableis_important boolean (default: false)metro array (default: [])@type string (default: "YandexMapsNearbyPlace")id string nullablename string nullabletype string nullabledistance string nullabledistance_value number nullablecolor string nullablestops array (default: [])@type string (default: "YandexMapsNearbyPlace")id string nullablename string nullabletype string nullabledistance string nullabledistance_value number nullablecolor string nullablelinks array (default: [])@type string (default: "YandexMapsLink")type string nullableurl string nullableawards array (default: [])chain string nullableis_verified boolean nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — The entity was not found, or a precondition failed Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.