POST /api/goszakup/tenders/search
Price: 5 credits
Search Kazakhstan public procurement tenders on zakup.gov.kz by name words, number, status, procurement method, purchase type, subject, procurement system, organizer, total price, bid window, results date, financial year and delivery place. Returns the tender summary with organizer, method, price and dates.
Status, method and purchase-type values are the Russian labels the rows carry in `status.name`, `purchase_method.name` and `purchase_type.name`. One filter set reaches at most its first 10,000 rows; narrow by dates or status to see more. Pass `id` to goszakup/tenders for lots, winners, protocols and documents.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)query string nullable — Words of the tender name (examples: "бумага", "ремонт дороги"; minLength: 2)number string nullable — Tender number (examples: "17685590-1", "17685590"; minLength: 1)statuses array — Tender statuses, any of (default: []; one of: "Внесена поправка", "Завершен 1 этап ДТ", "Завершено", "Завершено предварительное обсуждение", "Завершено. Изменена документация", "Заполнение условных скидок", "Идут торги", "Изменена документация", "На обжаловании", "На рассмотрении у оператора", "Ожидание камерального контроля", "Ожидание проведения контроля качества", "Опубликовано", "Опубликовано (дополнение заявок)", "Опубликовано (ожидание проведения аукциона)", "Опубликовано (прием заявок)", "Опубликовано (прием ценовых предложений)", "Опубликовано объявление о торгах", "Опубликовано предварительное обсуждение", "Отказ от закупки", "Отменено", "Отправлено на контроль качества", "Пересмотр итогов", "Подведение итогов", "Принятие решение о пересмотре итогов", "Принятие решения об исполнении уведомления", "Приостановлено", "Проект", "Рассмотрение дополнений заявок", "Рассмотрение замечаний инициатором", "Рассмотрение замечаний оператором", "Рассмотрение заявок", "Утверждение ТД", "Утверждение протокола предварительного обсуждения", "Утверждение решения ОИ", "Формирование протокола допуска", "Формирование протокола итогов", "Формирование протокола преддопуска", "Формирование протокола промежуточных итогов")purchase_methods array — Procurement methods, any of (default: []; one of: "Аукцион", "Аукцион (до 2022)", "Аукцион (не ГЗ)", "Аукцион (не ГЗ) с 2022 г", "Аукцион (с 2022)", "В рамках внутрихолдинговой кооперации", "Второй этап конкурса с использованием рамочного соглашения", "Государственные закупки с применением особого порядка", "Двухэтапный тендер", "Договор на услуги государственного образовательного заказа", "Закупка жилища", "Закупка по государственному социальному заказу", "Запрос ценовых предложений", "Запрос ценовых предложений (не ГЗ new)", "Запрос ценовых предложений на понижение", "Запрос ценовых предложений с ограниченным участием", "Из одного источника (не ГЗ)", "Из одного источника по несостоявшимся закупкам", "Из одного источника по несостоявшимся закупкам не ГЗ", "Из одного источника путем прямого заключения договора", "Из одного источника путем прямого заключения договора (не ГЗ)", "Из одного источника путем прямого заключения договора по питанию обучающихся", "Конкурс по приобретению товаров, связанных с обеспечением питания воспитанников и обучающихся", "Конкурс по приобретению услуг по организации питания воспитанников и обучающихся", "Конкурс по строительству «под ключ»", "Конкурс с использованием рейтингово-балльной системы", "Конкурс с предварительным квалификационным отбором", "Конкурс с применением двухэтапных процедур", "Конкурс с применением специального порядка", "Маркетинговые исследования", "На централизованных торгах электрической энергией", "Открытый конкурс", "Открытый тендер", "Открытый тендер на понижение", "Открытый тендер с ограниченным участием", "Первый этап конкурса с использованием рамочного соглашения", "Тендер", "Тендер по строительству «под ключ»", "Тендер путем проведения конкурентных переговоров", "Тендер с использованием рейтингово-балльной системы", "Тендер с применением особого порядка", "Через товарные биржи", "Электронный магазин", "Электронный магазин (не ГЗ)")purchase_types array — Purchase types, any of (default: []; one of: "ИОИ ПНЗ от КРБС", "ИОИ от Аукцион (не ГЗ)", "ИОИ от ЗЦП", "ИОИ от ЗЦП не ГЗ", "ИОИ от КПКО", "ИОИ от КСП", "ИОИ от Конкурс по приобретению товаров, связанных с обеспечением питания воспитанников и обучающихся", "ИОИ от Конкурс по приобретению услуг по организации питания воспитанников и обучающихся", "ИОИ от Тендера", "ИОИ от аукциона", "ИОИ от гос. соц. зак.", "ИОИ от конкурса", "Первая закупка", "Повторная закупка", "Повторная закупка без изменений КД", "Повторная закупка с изменениями КД")subject string nullable — Subject of the purchase (one of: "goods", "works", "services")system string nullable — Procurement system the tender runs on (one of: "egz", "mitwork", "skk", "epz")organizer_id integer nullable — Organizer id, as in goszakup/organizations (examples: 11409; min: 0)min_price number nullable — Lowest total price, KZT (examples: 1000000; min: 0)max_price number nullable — Highest total price, KZT (examples: 50000000; min: 0)offer_start_from string nullable — Bids open on or after (examples: "2026-09-01")offer_start_to string nullable — Bids open on or before (examples: "2026-09-30")offer_end_from string nullable — Bids close on or after (examples: "2026-09-01")offer_end_to string nullable — Bids close on or before (examples: "2026-09-30")results_from string nullable — Results published on or after (examples: "2026-09-01")results_to string nullable — Results published on or before (examples: "2026-09-30")year integer nullable — Financial year (examples: 2026)among_disabled boolean nullable — Only tenders reserved for organizations of persons with disabilitiesdelivery_kato_id integer nullable — KATO id of a delivery place, as in a lot's `delivery_places` (examples: 18644)sort string — Order of the rows (default: "newest"; one of: "newest", "oldest", "price_desc", "price_asc")offset integer — Rows to skip (default: 0; min: 0; max: 9999)count integer required — Max number of tenders to return (min: 1; max: 1000)@type string (default: "GoszakupTenderSummary")id integer requiredexternal_id integer nullablenumber string nullablename string nullablename_kk string nullableurl string requiredsystem object nullable@type string (default: "GoszakupRef")id integer nullablename string nullablename_kk string nullablestatus object nullable@type string (default: "GoszakupRef")id integer nullablename string nullablename_kk string nullablepurchase_method object nullable@type string (default: "GoszakupRef")id integer nullablename string nullablename_kk string nullablepurchase_type object nullable@type string (default: "GoszakupRef")id integer nullablename string nullablename_kk string nullablepurchase_subject object nullable@type string (default: "GoszakupRef")id integer nullablename string nullablename_kk string nullableorganizer object nullable@type string (default: "GoszakupRef")id integer nullablename string nullablename_kk string nullabletotal_price number nullablelot_count integer nullablepublished_at integer nullableoffer_start_at integer nullableoffer_end_at integer nullableresults_published_at integer nullableis_among_disabled boolean nullableyears array (default: [])422 — A date is not YYYY-MM-DD, the price range is inverted, the year is unknown, or the portal rejected the filter combination 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.