Client API (ДВ-Тендер)
Документация для интеграции вашего сервиса с ДВ-Тендер: получение карточек тендеров, шаблонов поиска, избранного и меток.
Базовый URL: https://www.dv-tender.ru/api/tenders/get/
Как пользоваться
- Базовый путь:
api/tenders/get/ - Только метод
GET - Ответ по умолчанию — JSON (UTF-8). Для XML: заголовок
Accept: application/xml
Успешный ответ:
{
"success": true,
"data": { },
"_meta": { }
}
_meta есть только у списков с пагинацией (и содержит в том числе
применённый sort).
Ошибка:
{
"success": false,
"message": "Описание ошибки",
"code": 0
}
400— неверные параметры (в т.ч. недопустимыйsort)401— нет или неверный ключX-API-KEY403— API недоступен по тарифу или исчерпан дневной лимит404— ресурс не найден
Сортировка списков
Параметр sort — у template/{id}, favorites,
tag/{id}.
| Эндпоинт | Дефолт |
|---|---|
template/{id} |
new-first |
favorites |
first-changed |
tag/{id} |
new-first |
Стандартные значения (как в ЛК):
new-first— сначала новыеold-first— сначала старыеfirst-changed— сначала с изменениямиcheap-top— по убыванию ценыexpensive-top— по возрастанию цены
Авторизация
В каждом запросе передавайте API-ключ в заголовке:
X-API-KEY: <ваш_ключ>
Ключ выдаётся в личном кабинете: Профиль → Интеграции → API
(/profile/api). Там же — дневной лимит и журнал запросов.
- Лимит общий для всех ключей клиента, сутки по Москве (сброс в 00:00)
- Списывается только успешный ответ (
2xx), кромеapi/tenders/get/info - В ответе: заголовки
X-RateLimit-LimitиX-RateLimit-Remaining
curl -s -H "X-API-KEY: YOUR_API_KEY_HERE" \
"https://www.dv-tender.ru/api/tenders/get/info"
Справочник методов
Все запросы — GET, ключ в заголовке X-API-KEY.
info— лимит и статус ключа (лимит не списывается){id}— полная карточка тендера по IDeis/{number}— полная карточка по номеру ЕИС или площадкиtemplates— список шаблоновtemplate/{id}?page=1&sort=new-first— тендеры по шаблонуfavorites?page=1&sort=first-changed— избранное; опциональноaccount_idtags— список метокtag/{id}?page=1&sort=new-first— тендеры с меткой- Сортировка (
sort) — стандартные алиасы ЛК
Полный URL: https://www.dv-tender.ru/api/tenders/get/<метод>
Эндпоинты
Лимит и ключ
GET api/tenders/get/info — лимит не списывается.
curl -s -H "X-API-KEY: YOUR_API_KEY_HERE" \
"https://www.dv-tender.ru/api/tenders/get/info"
{
"success": true,
"data": {
"client_id": 1,
"current_api_key": "YOUR_API_KEY_HERE",
"daily_limit": 1000,
"used_today": 51,
"remaining": 949,
"resets_at": "2026-07-17T00:00:00+03:00",
"api_keys": [
{
"is_active": 1,
"created_at": "2026-06-04 17:10:54",
"key_preview": "YOUR_API_KEY_HERE"
}
]
}
}
Карточка тендера по ID
GET api/tenders/get/{id}
updated_at — дата последнего изменения (Y-m-d) или
null. files.archive — ссылка на ZIP документов
(ключ для скачивания не нужен).
curl -s -H "X-API-KEY: YOUR_API_KEY_HERE" \
"https://www.dv-tender.ru/api/tenders/get/987654"
{
"success": true,
"data": {
"id": 92747611,
"url": "https://www.dv-tender.ru/tender/92747611",
"dts": "2026-06-01",
"dte": "2026-06-01",
"dte-formatted": "2026-06-01 11:00:00",
"updated_at": "2026-06-03",
"price": {
"value": 0,
"currency": "RUB",
"amounts": []
},
"type": "commerce",
"stage": "Завершён",
"is_plans": false,
"smp": false,
"place": "г. Новоалтайск, г. Кемерово",
"regions": ["Алтайский край", "Кемеровская область"],
"cities": ["Кемерово город"],
"branches": ["Овощи, Фрукты, в том числе консервированные, Сухофрукты"],
"placement": {
"title": "Прочее",
"source": "Стандартные торги"
},
"customer": {
"name": "ООО Мария-РА",
"inn": "",
"contacts": {
"person": "",
"phone": "",
"email": ""
}
},
"descr": "Дополнительные торги Фрукты - Овощи",
"positions": [
{
"name": "ОВОЩИ КАРТОФЕЛЬ ФАС. 2.5КГ",
"unit": "шт",
"price": null,
"classifier": null
}
],
"favoritesAvailable": false,
"customerAvailable": true,
"tagsAvailable": true,
"commentsAvailable": true,
"inFavorites": false,
"eis": "",
"etp": ["800638306"],
"links": [],
"files": {
"archive": "https://www.dv-tender.ru/integration/files-archive?t=...",
"items": [
{
"title": "Извещение.pdf",
"link": "https://example.com/file.pdf",
"size": "245 Kb",
"created_at": "2026-06-01 10:00:00"
}
]
}
}
}
Карточка по номеру ЕИС / площадки
GET api/tenders/get/eis/{number}
number — номер из ЕИС или с торговой площадки (как в поиске на сайте).
Возвращается один тендер; формат ответа такой же, как у карточки по ID.
curl -s -H "X-API-KEY: YOUR_API_KEY_HERE" \
"https://www.dv-tender.ru/api/tenders/get/eis/800638306"
{
"success": true,
"data": {
"id": 92747611,
"url": "https://www.dv-tender.ru/tender/92747611",
"dts": "2026-06-01",
"dte": "2026-06-01",
"dte-formatted": "2026-06-01 11:00:00",
"updated_at": "2026-06-03",
"eis": "",
"etp": ["800638306"]
}
}
Список шаблонов
GET api/tenders/get/templates
curl -s -H "X-API-KEY: YOUR_API_KEY_HERE" \
"https://www.dv-tender.ru/api/tenders/get/templates"
{
"success": true,
"data": [
{
"id": 1,
"name": "Все тендеры",
"shared": 0
},
{
"id": 2,
"name": "Все тендеры2",
"shared": 0
}
]
}
Тендеры по шаблону
GET api/tenders/get/template/{id}?page=1&sort=new-first — по 100 записей на страницу.
Параметр sort — см. Сортировка списков
(по умолчанию new-first).
curl -s -H "X-API-KEY: YOUR_API_KEY_HERE" \
"https://www.dv-tender.ru/api/tenders/get/template/101?page=1&sort=cheap-top"
{
"success": true,
"data": [
{
"id": 92822826,
"url": "https://www.dv-tender.ru/tender/92822826",
"dts": "2026-06-01",
"dte": "2026-06-10 17:00:00",
"price": {
"value": 1500000,
"currency": "RUB"
},
"place": "Волгоградская обл",
"regions": "Волгоградская область"
}
],
"_meta": {
"totalCount": 250,
"pageCount": 3,
"currentPage": 1,
"perPage": 100,
"sort": "cheap-top"
}
}
Избранное
GET api/tenders/get/favorites?account_id=5001&page=1&sort=first-changed —
без account_id берётся аккаунт по умолчанию.
Параметр sort — см. Сортировка списков
(по умолчанию first-changed).
curl -s -H "X-API-KEY: YOUR_API_KEY_HERE" \
"https://www.dv-tender.ru/api/tenders/get/favorites?account_id=5001&page=1&sort=cheap-top"
{
"success": true,
"data": [
{
"id": 92633254,
"url": "https://www.dv-tender.ru/tender/92633254",
"dts": "2026-05-27 11:31:29",
"dte": "2026-05-29 16:00:00",
"price": {
"value": 0,
"currency": "RUB"
},
"place": "Архангельская обл",
"regions": "Архангельская область"
}
],
"_meta": {
"totalCount": 13,
"pageCount": 1,
"currentPage": 1,
"perPage": 100,
"sort": "cheap-top"
}
}
Метки
GET api/tenders/get/tags
curl -s -H "X-API-KEY: YOUR_API_KEY_HERE" \
"https://www.dv-tender.ru/api/tenders/get/tags"
{
"success": true,
"data": [
{ "id": 2351, "name": "Тест" },
{ "id": 405, "name": "Проверка" }
]
}
Тендеры по метке
GET api/tenders/get/tag/{id}?page=1&sort=new-first
Параметр sort — см. Сортировка списков
(по умолчанию new-first).
curl -s -H "X-API-KEY: YOUR_API_KEY_HERE" \
"https://www.dv-tender.ru/api/tenders/get/tag/55?page=1&sort=cheap-top"
{
"success": true,
"data": [
{
"id": 62414710,
"url": "https://www.dv-tender.ru/tender/62414710",
"dts": "2022-09-05 16:45:14",
"dte": "2022-09-08 17:00:00",
"price": {
"value": 220000,
"currency": "RUB"
},
"place": "Георгиевский район, станица Георгиевская",
"regions": "Ставропольский край"
}
],
"_meta": {
"totalCount": 4,
"pageCount": 1,
"currentPage": 1,
"perPage": 100,
"sort": "cheap-top"
}
}
Форматы данных
Полная карточка
Используется в {id} и eis/{number}. Поле data — один объект.
id,url— идентификатор и ссылка на карточку на сайтеdts,dte,dte-formatted— даты начала и окончанияupdated_at— дата последнего изменения (Y-m-d) илиnullprice—value,currency,amountstype,stage,is_plans,smp— тип и статусplace,regions,cities,branches— география и отраслиplacement—title,source(площадка / источник)customer—name,inn,contacts(person,phone,email)descr,positions[]— описание и позиции (name,unit,price,classifier)eis,etp,links— номера и внешние ссылкиfiles— документы (см. ниже)
Краткий формат (списки)
Используется в template/{id}, favorites, tag/{id}.
Поле data — массив объектов:
id,urldts,dteprice—value,currencyplace,regions
Для полных данных запросите карточку по id или eis/{number}.
Документы (files)
archive— одноразовая ссылка на ZIP всех файлов; заголовокX-API-KEYпри скачивании не нуженitems[]— отдельные файлы:title,link,size,created_at
Пагинация и сортировка (_meta)
В списках с постраничной выдачей (шаблон, избранное, метки):
totalCount— всего записейpageCount— число страницcurrentPage— текущая страница (с1)perPage— размер страницы (100 записей)sort— применённый алиас сортировки
Параметры запроса: page (по умолчанию 1),
sort — см. Сортировка списков.
С чего начать
- Проверить ключ и лимит —
GET .../info - Получить шаблоны —
GET .../templates - Тендеры по шаблону —
GET .../template/{id}?page=1&sort=new-first - Полная карточка —
GET .../{id}илиGET .../eis/{number} - Избранное и метки —
favorites?sort=first-changed,tags,tag/{id}?sort=new-first
Каждый успешный запрос (кроме info) расходует один запрос из дневного лимита.
Следите за заголовками X-RateLimit-Remaining и полем remaining в
ответе info.