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 в вашем приложении.

Operations 2

POST /token‎ Получение access token #
POST /token‎‎ Обновление access token #

Documentation

📖
Documentation
https://developers.avito.ru/api-catalog/accounts-hierarchy/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/ads/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/auction/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/auth/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/autoload/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/autostrategy/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/autoteka/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/avito-promo/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/calltracking/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/cpa/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/cpxpromo/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/delivery-sandbox/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/item/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/job/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/messenger/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/order-management/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/promotion/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/ratings/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/realty-reports/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/sbc-gateway/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/stock-management/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/str/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/tariff/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/trxpromo/documentation
📖
Documentation
https://developers.avito.ru/api-catalog/user/documentation

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/avito-applicationaccess-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

avito-applicationaccess-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: supportautoload@avito.ru
  description: 'Получение и обновление авторизационных токенов для персональной авторизации и авторизации приложений

    **Авито API для бизнеса предоставляется согласно Условиям использования.**'
  title: Авторизация Application Access API
  version: '1'
servers:
- url: https://api.avito.ru/
tags:
- description: Для работы с API приложений от лица пользователя есть возможность получить токен через Authorization Code механизм протокола OAuth2.
  name: ApplicationAccess
  x-displayName: Авторизация для приложений
paths:
  /token‎:
    post:
      description: Получения временного ключа для авторизации запроса от лица пользователя
      operationId: getAccessTokenAuthorizationCode
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetTokenOAuthRequest'
      responses:
        '200':
          content:
            application/json:
              example:
                access_token: kChqt9ewQNAcwgbHp4yFd5
                expires_in: 86400
                refresh_token: QNAcwgbHQNAcwgbHkChqt9ewQNAcwgbHp4yFd5
                scope: messenger:read,messenger:write
                token_type: Bearer
              schema:
                properties:
                  access_token:
                    description: Ключ для временной авторизации в системе
                    type: string
                  expires_in:
                    description: Время жизни ключа в секундах
                    format: int32
                    type: number
                  refresh_token:
                    description: Ключ для обновления токена доступа
                    type: string
                  scope:
                    description: Полученный скоуп
                    type: string
                  token_type:
                    description: Тип ключа авторизации
                    type: string
                type: object
          description: Успешный ответ
      summary: Получение access token
      tags:
      - ApplicationAccess
  /token‎‎:
    post:
      description: Обновление временного ключа для авторизации запроса от лица пользователя
      operationId: refreshAccessTokenAuthorizationCode
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/RefreshRequest'
      responses:
        '200':
          content:
            application/json:
              example:
                access_token: 5dFy4pHbgwcANQwe9tqhCk
                expires_in: 86400
                refresh_token: 5dFy4pHbgwcANQwe9tqhCkHbgwcANQHbgwcANQ
                scope: messenger:read,messenger:write
                token_type: Bearer
              schema:
                properties:
                  access_token:
                    description: Новый ключ для временной авторизации в системе
                    type: string
                  expires_in:
                    description: Время жизни ключа в секундах
                    format: int32
                    type: number
                  refresh_token:
                    description: Новый ключ для обновления токена доступа
                    type: string
                  scope:
                    description: Полученный скоуп
                    type: string
                  token_type:
                    description: Тип ключа авторизации
                    type: string
                type: object
          description: Успешный ответ
      summary: Обновление access token
      tags:
      - ApplicationAccess
components:
  schemas:
    RefreshRequest:
      properties:
        client_id:
          type: string
        client_secret:
          type: string
        grant_type:
          default: refresh_token
          description: Тип OAuth flow. Строка refresh_token
          type: string
        refresh_token:
          type: string
      required:
      - grant_type
      - client_id
      - client_secret
      - refresh_token
      type: object
    GetTokenOAuthRequest:
      properties:
        client_id:
          type: string
        client_secret:
          type: string
        code:
          type: string
        grant_type:
          default: authorization_code
          type: string
      required:
      - grant_type
      - client_id
      - client_secret
      - code
      type: object
  securitySchemes:
    AuthorizationCode:
      description: Это API использует OAuth 2 с механизмом authorization_code. Используйте его для доступа к данным других пользователей при разработке стороннего приложения. [Подробнее](#tag/ApplicationAccess)
      flows:
        authorizationCode:
          authorizationUrl: https://avito.ru/oauth
          scopes:
            autoload:reports: Получение отчетов Автозагрузки
            items:apply_vas: Применение дополнительных услуг
            items:info: Получение информации об объявлениях
            job:applications: Получение информации об откликах на вакансии
            job:cv: Получение информации резюме
            job:vacancy: Работа с вакансиями
            job:write: Изменение объявлений вертикали Работа
            messenger:read: Чтение сообщений в мессенджере Авито
            messenger:write: Модифицирование сообщений в мессенджере Авито
            short_term_rent:read: Получение информации об объявлениях краткосрочной аренды
            short_term_rent:write: Изменение объявлений краткосрочной аренды
            stats:read: Получение статистики объявлений
            user:read: Получение информации о пользователе
            user_balance:read: Получение баланса пользователя
            user_operations:read: Получение истории операций пользователя
          tokenUrl: https://api.avito.ru/token
      type: oauth2
    ClientCredentials:
      description: Это API использует OAuth 2 с механизмом client_credentials. Используйте его для доступа к возможностям своей личной учетной записи. [Подробнее](#tag/Access)
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: https://api.avito.ru/token
      type: oauth2