AI-TENDER Public API
The Public API from AI-TENDER — 3 operation(s) for public.
The Public API from AI-TENDER — 3 operation(s) for public.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/ai-tender-by:ai-tender-by-public-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: AI-TENDER — открытые закупки Беларуси для машин Public API
version: 1.0.0
summary: Открытые закупки Беларуси и проверка контрагента по УНП. Без ключа.
description: 'Машине отдаётся ровно то, что человек видит на публичной карточке закупки (/zakupka.php), и ни полем больше. Сведения взяты у площадки-первоисточника и показаны как есть. Здесь нет оценок, баллов, «шансов», рекомендаций участвовать и рекомендованных цен — по устройству, а не по недосмотру. Три исхода везде: да / нет / не установлено; «не знаем» не равно «нет». Отказы — RFC 9457 (application/problem+json) с полями why и retryable, тем же языком, что у службы проверки AI-BELARUS. Порядок работы для агентов — /llms.txt.'
contact:
name: ООО «Тендерные машины» — сервис AI-TENDER
url: https://ai-tender.by/
email: info@ai-tender.by
servers:
- url: https://ai-tender.by
tags:
- name: Public
paths:
/api/public/tenders.php:
get:
operationId: listOpenTenders
summary: Лента открытых закупок (срок подачи не прошёл)
description: 'Порядок — по моменту нашей последней сверки закупки с площадкой, затем по id. Запомните поле next и продолжите с него завтра: придёт только сверенное заново или новое. Следующая страница — также в заголовке Link rel="next" (RFC 8288). Повтор с If-None-Match по ETag получает 304 без тела (RFC 9110).'
parameters:
- name: cursor
in: query
required: false
description: Значение next из предыдущего ответа, без изменений.
schema:
type: string
maxLength: 400
pattern: ^[A-Za-z0-9_-]+$
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 500
default: 100
responses:
'200':
description: Страница ленты
headers:
ETag:
schema:
type: string
Link:
description: <…>; rel="next", если есть следующая страница
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/TenderFeed'
'304':
description: Не изменилось с присланного ETag
'400':
$ref: '#/components/responses/Problem'
'429':
$ref: '#/components/responses/Problem'
'503':
$ref: '#/components/responses/Problem'
tags:
- Public
/api/public/tender.php:
get:
operationId: getOpenTender
summary: Одна открытая закупка — наша запись или выпуск OCDS 1.1
description: format=ocds отдаёт OCDS 1.1 release package — только когда у нас есть префикс OCID, выданный Open Contracting Partnership; до этого — 501 ocds_prefix_not_registered, а не выдуманный идентификатор.
parameters:
- name: id
in: query
required: true
description: Идентификатор вида «goszakupki:3653566».
schema:
type: string
maxLength: 200
pattern: ^[a-z_]+:[A-Za-z0-9._:/-]+$
- name: format
in: query
required: false
schema:
type: string
enum:
- json
- ocds
default: json
responses:
'200':
description: Закупка
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TenderEnvelope'
- type: object
description: 'OCDS 1.1 release package: https://standard.open-contracting.org/latest/en/schema/release_package/'
'304':
description: Не изменилось с присланного ETag
'400':
$ref: '#/components/responses/Problem'
'404':
$ref: '#/components/responses/Problem'
'429':
$ref: '#/components/responses/Problem'
'501':
$ref: '#/components/responses/Problem'
'503':
$ref: '#/components/responses/Problem'
tags:
- Public
/api/public/search.php:
get:
operationId: searchOpenTenders
summary: Поиск открытых закупок Беларуси
description: Open public procurements of Belarus (deadline not passed) by words in the title or customer name, or by customer UNP (9 digits); optional region. Ordered by deadline. No scores or advice.
parameters:
- name: q
in: query
required: false
description: Search query string.
schema:
type: string
maxLength: 200
- name: region
in: query
required: false
description: Region filter.
schema:
type: string
maxLength: 100
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 500
default: 100
- name: cursor
in: query
required: false
description: Pagination cursor.
schema:
type: string
maxLength: 400
pattern: ^[A-Za-z0-9_-]+$
responses:
'200':
description: Search results
content:
application/json:
schema:
$ref: '#/components/schemas/TenderFeed'
'400':
$ref: '#/components/responses/Problem'
'429':
$ref: '#/components/responses/Problem'
'503':
$ref: '#/components/responses/Problem'
tags:
- Public
components:
schemas:
TenderFeed:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Tender'
next:
type: string
nullable: true
Problem:
type: object
properties:
type:
type: string
title:
type: string
status:
type: integer
detail:
type: string
instance:
type: string
Tender:
type: object
properties:
id:
type: string
title:
type: string
customer:
type: string
deadline:
type: string
format: date-time
value:
type: number
TenderEnvelope:
type: object
properties:
tender:
$ref: '#/components/schemas/Tender'
ocds:
type: object
responses:
Problem:
description: Standard problem details
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'