Полная документация по REST API для автоматизации работы с объявлениями Авито.
Для работы с API необходимо получить персональный API-ключ. Ключ используется для ценового анализа и получения номера телефона.
https://spfa.ru/api/balance/
Бесплатно
Возвращает текущий баланс вашего аккаунта. Списание средств при вызове метода не происходит.
{
"api_key": "ваш_api_key"
}
{
"success": true,
"balance": 9745.49
}
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
api_key |
string | да | Ваш API-ключ |
Content-Type:
application/jsonhttps://spfa.ru/api/phone/
💰 ₽/успешный
Возвращает номера телефонов продавцов Авито по списку ID объявлений. Баланс списывается только за успешно полученные номера. Метод доступен только после реального пополнения баланса.
{
"api_key": "ваш_api_key",
"ads": [
"7385509771",
"4464666650",
"4539040010"
]
}
{
"success": true,
"results": [
{
"ad_id": "7385509771",
"phone": "+79587478634"
},
{
"ad_id": "4464666650",
"phone": null
},
{
"ad_id": "4539040010",
"phone": "80123456784"
}
],
"meta": {
"ads": 3,
"success": 2,
"time_sec": 2.49
}
}
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
api_key |
string | да | Ваш API-ключ |
ads |
array[string] | да | Список ID объявлений Авито (до 50 шт) |
Content-Type:
application/jsonphone возвращается как
nullhttps://spfa.ru/api/batch_lookup/
💰 ₽/объявление
Асинхронный анализ цен для списка объявлений. Создаёт задание и возвращает task_id
для отслеживания статуса.
{
"api_key": "ваш_api_key",
"region": "all",
"queries": [
"https://www.avito.ru/2522985321",
"2522985322"
]
}
{
"success": true,
"task_id": "3f2a7c9b-1234-4f67-a0b1-abcdef123456"
}
https://spfa.ru/api/batch_lookup/<task_id>/
{
"success": true,
"status": "RUNNING",
"results": null
}
{
"success": true,
"status": "SUCCESS",
"results": [...],
"price_per_ad": "0.50",
"total_cost": "1.00",
"billed": true
}
https://spfa.ru/api/cookies/
💰 ₽/шт
Возвращает готовые к использованию cookies и user-agent для стабильного парсинга Авито. Каждый cookies работает до 12 часов с момента получения (если пользоваться разблокировкой и изменять ip). Обязательно реализуйте в своём клиенте разблокировку cookies (метод ниже)
{
"api_key": "ваш_api_key",
"full_format": false,
}
{
"success": true,
"results": {
"id": 89,
"cookies": {
"as": "MHDjU2lzC95PvYwXaXML3g",
"_csrf": "TfiOg3Gz..."
},
"user_agent": "Mozilla/5.0 (Windows NT 10.0...",
"mobile": false
}
}
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
api_key |
string | да | Ваш API-ключ |
full_format |
boolean | нет |
Формат возвращаемых cookies.
По умолчанию false
|
{
"success": false,
"message": "Сервис временно недоступен"
}
{
"success": false,
"message": "Нет свободных прокси"
}
full_format: false) — содержит
только ключевые cookies для обычного парсинга: f, ft, srv_id...
full_format: true) — возвращает все
cookies, которые были сохранены (подходит для специфических сценариев)
https://spfa.ru/api/cookies/mobile/
💰 ₽/шт
Создаёт новые мобильные cookies с использованием переданного прокси и возвращает их вместе
с мобильным user-agent. http прокси передаётся в авторизованном формате с символом @.
Публичные прокси не принимаются
{
"api_key": "ваш_api_key",
"proxy": "login:password@host:port"
}
{
"success": true,
"results": {
"id": 90,
"cookies": {
"srv_id": "...",
"f": "..."
},
"user_agent": "Mozilla/5.0 (Linux; Android ... Mobile ...)",
"fingerprint": {
"client": "curl_cffi",
"impersonate": "chrome131_android",
"headers": {
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
"accept-language": "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7",
"cache-control": "no-cache",
"pragma": "no-cache",
"referer": "https://www.avito.ru/",
"sec-ch-ua": "\"Not=A?Brand\";v=\"99\", \"Google Chrome\";v=\"131\", \"Chromium\";v=\"131\"",
"sec-ch-ua-mobile": "?1",
"sec-ch-ua-platform": "\"Android\"",
"user-agent": "Mozilla/5.0 (Linux; Android ... Mobile ...)"
}
},
"mobile": true
}
}
Объект fingerprint нужно использовать вместе с
cookies и user_agent: поле impersonate
задаёт профиль браузера для curl_cffi, а headers
содержит полный набор заголовков созданной мобильной сессии.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
api_key |
string | да | Ваш API-ключ |
proxy |
string | да | Прокси в формате login:password@host:port |
proxy отсутствует или не содержит символ @, API вернёт
ошибку 400. Ошибки API-ключа или баланса возвращаются с кодами
401 или 403.
https://spfa.ru/api/unblock/
Бесплатно
Обновляет ранее приобретённые cookies. Метод доступен в течение 12 часов после покупки и при передаче API-ключа возвращает актуальные значения cookies владельцу.
api_key пока необязателен, чтобы вы
успели обновить свои клиенты. Без него запрос будет выполнен, но cookies в ответе не будут
возвращены. В будущем передача api_key станет обязательной.
{
"id": 87,
"api_key": "ваш_api_key",
"proxy": "login:password@host:port"
}
{
"success": true,
"results": {
"id": 87,
"cookies": {
"srv_id": "...",
"f": "..."
}
}
}
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
id |
integer | да | ID cookies из ответа метода получения cookies |
api_key |
string | пока нет | API-ключ владельца cookies. Только при его передаче ответ содержит cookies. В будущем параметр станет обязательным. |
proxy |
string | нет | Прокси, который нужно использовать при обновлении cookies |
success: true - это значит, что у нас он прошел все процессы разблокировки.
При наличии корректного API-ключа владельцу возвращается последняя сохранённая версия.
Без API-ключа успешный ответ имеет вид {"success": true}.
{
"success": false,
"message": "Прошло уже больше 12 часов..."
}
{
"success": false,
"message": "Cookie не найден"
}
https://spfa.ru/api/avito-url/
Бесплатно
Преобразует ссылку веб-страницы поиска Avito в готовую ссылку
https://m.avito.ru/api/11/items с соответствующими параметрами поиска.
API-ключ SPFA для этого метода не требуется.
{
"url": "https://www.avito.ru/all/telefony?..."
}
{
"success": true,
"api_url": "https://m.avito.ru/api/11/items?..."
}
curl -X POST https://spfa.ru/api/avito-url/ \
-H "Content-Type: application/json" \
-d '{"url":"https://www.avito.ru/all/telefony?..."}'
| Код | Описание |
|---|---|
200 | Ссылка успешно преобразована |
400 | Некорректный JSON или ссылка не относится к Avito |
429 | Превышен лимит: 2 запроса в минуту с одного IP |
502 | Avito вернул ошибку или ответ без URI |
503 | Нет доступных прокси |
| Метод | Эндпоинт | HTTP метод | Стоимость | Лимиты |
|---|---|---|---|---|
| 💰 Баланс | /api/balance/ |
POST | Бесплатно | 6 запросов в минуту |
| 📞 Телефоны | /api/phone/ |
POST | ₽/успешный | 50 объявлений/запрос |
| 📊 Анализ цен | /api/batch_lookup/ |
POST | ₽/объявление | 5 объявлений/запрос |
| 🍪 Cookies | /api/cookies/ |
POST | ₽/шт | Нет ограничений |
| 📱 Mobile Cookies | /api/cookies/mobile/ |
POST | ₽/шт | Нет ограничений |
| 🔗 Web → API URL | /api/avito-url/ |
POST | Бесплатно | 2 запроса в минуту с IP |
| 🔄 Разблокировка | /api/unblock/ |
POST | Бесплатно | В течение 12 часов (до 16 запросов в минуту) |