{
  "openapi": "3.0.1",
  "info": {
    "title": "Avito Scraper & New-Listing Monitor (avito.ru, Russia)",
    "description": "Avito.ru listings by region, category or search term: price in RUB, city, address, photos, promoted flag and business seller flag. Watch mode returns only listings created since your last check and price drops, never old ads bumped back up. No seller names or phones.",
    "version": "0.1",
    "x-build-id": "z2E7XKLavCp6gXZ8M"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/neverempty~avito-listings-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-neverempty-avito-listings-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/neverempty~avito-listings-monitor/runs": {
      "post": {
        "operationId": "runs-sync-neverempty-avito-listings-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/neverempty~avito-listings-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-neverempty-avito-listings-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchQueries": {
            "title": "Search terms",
            "type": "array",
            "description": "What to search for, one term per line, in Russian or Latin letters (for example iphone 15, велосипед, диван). Each term is searched in every region and category below. Avito sometimes moves a term to its matching category; each row shows the list actually read. Leave empty to list whole categories.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Regions or cities",
            "type": "array",
            "description": "The region or city part of an Avito address, one per line: moskva, sankt-peterburg, ekaterinburg, moskovskaya_oblast, or all for the whole of Russia. Empty means all of Russia. If every search field is empty, the example moskva + kvartiry is used.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "The category part of an Avito address after the region, one per line: kvartiry (apartments), avtomobili (cars), telefony/mobilnye_telefony. Copy it from the address bar on avito.ru. Empty searches all categories.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Search or category URLs",
            "type": "array",
            "description": "Or paste the address of an Avito list page, such as https://www.avito.ru/moskva/kvartiry or https://www.avito.ru/all?q=iphone. Filters inside the path are kept. Addresses with sort, price or filter parameters (s=, pmin=, f=, user=) are refused, because Avito's robots.txt does not allow them.",
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerSearch": {
            "title": "Max listings per search",
            "minimum": 1,
            "maximum": 1500,
            "type": "integer",
            "description": "How many listings to return for each search, from 1 to 1500. Avito shows 50 per page and at most 30 pages (1500 listings) per search. In watch mode, the most rows one check returns per search.",
            "default": 30
          },
          "minPrice": {
            "title": "Min price (RUB)",
            "minimum": 0,
            "type": "integer",
            "description": "Return only listings priced at or above this many rubles. Applied to the pages read (Avito's own price filter is not allowed by its robots.txt). Listings without a shown price are left out when a price range is set. Empty means no minimum."
          },
          "maxPrice": {
            "title": "Max price (RUB)",
            "minimum": 0,
            "type": "integer",
            "description": "Return only listings priced at or below this many rubles. Applied to the pages read. Empty means no maximum."
          },
          "excludePromoted": {
            "title": "Skip promoted listings",
            "type": "boolean",
            "description": "Avito mixes paid promoted listings (XL, highlight, x10 boosts) into every page; they are marked isPromoted. Turn this on to leave them out and keep ordinary listings only. Off by default.",
            "default": false
          },
          "onlyNew": {
            "title": "Watch mode: only new listings and price drops",
            "type": "boolean",
            "description": "Run the same search on a schedule. The first run returns the listings it reads and remembers them. Every later run returns only listings created since the watch started that you have not received yet, and listings whose price went down. A check that finds nothing is charged as one small search-checked event instead of rows.",
            "default": false
          },
          "includePriceDrops": {
            "title": "Watch mode: return price drops",
            "type": "boolean",
            "description": "In watch mode, also return listings you already received when their price went down, with the previous price and the difference. Price rises are remembered but not returned.",
            "default": true
          },
          "watchPages": {
            "title": "Watch mode: pages to read per check",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "How many pages (50 listings each) a watch reads per search on each check, from 1 to 30. Avito does not sort by date here, so a new listing can sit on any page; use a narrow search (a city, a category, more words) so these pages cover the whole list.",
            "default": 4
          },
          "watchName": {
            "title": "Watch name",
            "type": "string",
            "description": "Optional. A name for this watch (letters, digits, dot, dash, underscore). Two schedules with the same search but different names keep separate memories. Empty uses one shared default watch."
          },
          "resetMonitoringState": {
            "title": "Watch mode: forget what was seen",
            "type": "boolean",
            "description": "Start this watch over: the run is treated as the first check again. Off by default.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}