How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Avito ApplicationAccess API

Для работы с API приложений от лица пользователя есть возможность получить токен через Authorization Code механизм протокола OAuth2. Для этого в первую очередь нужно зарегистрировать приложение на https://developers.avito.ru/applications. После успешной регистрации ваше приложение получит возможность работать с API Авито от лица пользователя (если последний выдаст на это разрешение).Подробнее об Authorization Code флоу протокола OAuth2 можно почитать [в статье](https://www.digitalocean.com/community/tutorials/oauth-2-ru). Процесс работы с этим флоу в API Авито отличается только незначительными деталями – ниже по шагам описан процесс интеграции.### Шаг 1: Регистрация приложенияРегистрируем приложение через https://developers.avito.ru/application. Для регистрации нужно указать:* Имя приложения, которое будет выводиться пользователям в форме подтверждения прав* Redirect URI - адрес, на который сайт Авито средиректит пользователя после подтверждения прав* Скоупы, которые необходимы вашему приложению (подробнее о доступных скоупах ниже)* Описание приложения - для каких целей вы планируете использовать доступ к даннымВ данный момент мы регистрируем только доверенные приложения от наших партнеров.Скоупы определяют права, на которые ваше приложение сможет рассчитывать после подверждения авторизации пользователем. Доступные скоупы:* messenger:read: Чтение сообщений в мессенджере Авито* messenger:write: Модифицирование сообщений в мессенджере Авито* user_balance:read: Получение баланса пользователя* job:write: Изменение объявлений вертикали Работа* job:cv: Получение информации резюме* job:vacancy: Работа с вакансиями* job:applications: Получение информации об откликах на вакансии* user_operations:read: Получение истории операций пользователя* user:read: Получение информации о пользователе* autoload:reports: Получение отчетов Автозагрузки* items:info: Получение информации об объявлениях* items:apply_vas: Применение дополнительных услуг* short_term_rent:read: Получение информации об объявлениях краткосрочной аренды* short_term_rent:write: Изменение объявлений краткосрочной аренды* stats:read: Получение статистики объявлений### Шаг 2: Ссылка с кодом авторизацииСначала пользователю предоставляется ссылка следующего вида:```https://avito.ru/oauth?response_type=code&pro_users_flow=true&client_id=&scope=messenger:read,messenger:write```### Шаг 3: Пользователь авторизует приложениеПользователь переходит по ссылке на Авито, аутентифицируется при необходимости, затем подтверждает выдачу необходимых прав вашему приложению.### Шаг 4: Приложение получает код авторизацииЕсли пользователь выбирает "Авторизовать приложение", Авито перенаправляет пользовательский агент (браузер) по URI перенаправления (Redirect URI), который был задан на этапе регистрации приложения и добавляет в него параметр `code`. Например, если при регистрации в качестве Redirect URI был указан адрес `https://example.com/callback/avito`, то мы перенаправим пользователя на:```https://example.com/callback/avito?code=```### Шаг 5: Приложение запрашивает токен доступаПриложение запрашивает токен доступа у API Авито путём отправки авторизационного кода и аутентификационной информации (включая секрет приложения). Ниже представлен пример POST-запроса для получения access token:``` curl -L -X POST 'https://api.avito.ru/token/' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'grant_type=authorization_code' \ --data-urlencode 'client_id=' \ --data-urlencode 'client_secret=' \ --data-urlencode 'code='```### Шаг 6: Приложение получает токен доступаЕсли авторизация прошла успешно, API возвращает токен доступа (а также токен для обновления токена доступа - refresh token). Весь ответ сервера может выглядеть следующим образом:```{ "access_token": "", "expires_in": 86400, "refresh_token": "", "scope": "messenger:read,messenger:write", "token_type": "Bearer"}```Приложение сохраняет access_token и refresh_token.### Шаг 7: Приложение делает запросы к API c токеном доступаДалее приложение может выполнять запросы к API с заголовком `Authorization: Bearer `### Шаг 8: Приложение обновляет access_tokenВремя действия access token ограничено - 24 часа с момента его получения. После этого вам необходимо получить новый токен.После истечения срока действия токена доступа все запросы к API с его использованием будут возвращать код ошибки 403. Сохраненный refresh token может быть использован для получения нового токена доступа от авторизационного сервера.Ниже представлен пример POST-запроса, использующего refresh token для обновления токена доступа:``` curl -L -X POST 'https://api.avito.ru/token/' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'grant_type=refresh_token' \ --data-urlencode 'client_id=' \ --data-urlencode 'client_secret=' \ --data-urlencode 'refresh_token='```В ответ приложение получит точно такой же JSON, как и при обмене code на access token. При этом будет получен не только новый access_token, но и новый refresh_token. Обновите оба значения в своей базе данных.### Дополнительный параметр stateДля того чтобы защитить данные пользователей мы крайне рекомендуем использовать параметр state. Этот параметр позволяет защититься от CSRF-атак и восстановить состояние вашего приложения на момент начала авторизации. Подробнее, зачем нужен параметр state, можно прочитать [тут](https://auth0.com/docs/protocols/oauth2/oauth-state).Для того, чтобы использовать state – просто включите его в начальный URL:```https://avito.ru/oauth?response_type=code&pro_users_flow=true&client_id=&scope=messenger:read,messenger:write&state=```В итоге state будет содержаться в финальном Redirect URI, на который Авито перенаправляет пользователя после подтверждения прав доступа. Например, если при регистрации в качестве Redirect URI был указан адрес `https://example.com/callback/avito`, то мы перенаправим пользователя на:```https://example.com/callback/avito?code=&state=```Не передавайте чувствительные данные в открытом виде в этом параметре. Генерируйте уникальное временное значение state в вашем приложении.

Avito ApplicationAccess API is one of 51 APIs that Avito publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include ApplicationAccess. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 2 operations across 2 paths, and defines 2 schemas. It is described by OpenAPI 3.2.0, at version 1.

Requests are made against a single base URL, https://api.avito.ru/.

2 operations 2 paths 2 schemas 2 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1
Base URL
https://api.avito.ru/
Authentication
OAuth 2.0, OAuth 2.0
Resource Areas
1

Authentication & Security 2

Avito ApplicationAccess API declares 2 security schemes for authenticating requests. It supports OAuth 2.0 (AuthorizationCode) using the authorizationCode flow, exposing 1 scope. It supports OAuth 2.0 (ClientCredentials) using the clientCredentials flow.

  • AuthorizationCode — Это API использует OAuth 2 с механизмом authorizationcode. Используйте его для доступа к данным других пользователей при разработке стороннего приложения. [Под…
  • ClientCredentials — Это API использует OAuth 2 с механизмом clientcredentials. Используйте его для доступа к возможностям своей личной учетной записи. [Подробнее](tag/Access)

Paths & Operations 2

Across 2 paths, the API surfaces 2 operations — 2 POST. Each is listed below with its method, path, parameters, and response codes.

ApplicationAccess 2

Для работы с API приложений от лица пользователя есть возможность получить токен через Authorization Code механизм протокола OAuth2. Для этого в первую очередь нужно зарегистриров…

POST
/token‎
Получение access token
getAccessTokenAuthorizationCode body → 200
POST
/token‎‎
Обновление access token
refreshAccessTokenAuthorizationCode body → 200

Schemas 2

The contract defines 2 schemas that model the data the API accepts and returns. The most detailed are GetTokenOAuthRequest (4 properties), RefreshRequest (4 properties). Each schema is shown below with its type and property counts.

RefreshRequest
object
4 properties 4 required
GetTokenOAuthRequest
object
4 properties 4 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

avito-applicationaccess-api-openapi.yml Raw ↑

Other APIs Avito publishes across the network.

Avito Access API
Avito Ads API
Avito Auction API
Avito Authorization API
Avito Autoload API
Avito Autostrategy API
Avito balance API
Avito Call API
Avito Calltracking API
Avito Chat API
Avito CheckAhUserV1 API
Avito CheckAhUserV2 API
Where this information came from

This is an independent, third-party profile of Avito ApplicationAccess API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.