{
  "openapi": "3.0.1",
  "info": {
    "title": "Avito Scraper",
    "description": "Avito scraper (парсер Авито): Avito.ru listings by Russian search term, category, city or pasted search link. Each row has the title, price in roubles, category, city and address, seller name and private or business, publish date and photos. A chosen region is a real filter. $0.30 per 1,000 ads.",
    "version": "0.1",
    "x-build-id": "BmhUoGUUUciJCFZG7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dami_studio~avito-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dami_studio-avito-listings-scraper",
        "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/dami_studio~avito-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dami_studio-avito-listings-scraper",
        "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/dami_studio~avito-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dami_studio-avito-listings-scraper",
        "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": {
          "query": {
            "title": "Search terms",
            "type": "string",
            "description": "What to search for, in Russian, for example \"iphone 15\", \"диван\", \"велосипед\". Leave empty to browse a whole category."
          },
          "queries": {
            "title": "More search words",
            "type": "array",
            "description": "Optional. More searches, one per line, each run like the one above in every region and category you set. The same listing found twice is returned and charged once.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Avito search URLs",
            "type": "array",
            "description": "Optional. Paste Avito search or category URLs instead of filling in the fields above, e.g. https://www.avito.ru/moskva/avtomobili?cd=1&pmin=500000. Every filter in a pasted link is kept, its sort order included. A seller type or price bound you fill in below replaces the link's own for that one filter.",
            "items": {
              "type": "string"
            }
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "any",
              "private",
              "company"
            ],
            "type": "string",
            "description": "Return only private sellers or only businesses (shops, dealers, agencies). The actor also checks every row and drops the ones that do not match, dropped rows are never charged."
          },
          "localOnly": {
            "title": "Stay inside the chosen region",
            "type": "boolean",
            "description": "On by default. Avito treats a region as a relevance boost rather than a filter: on page 50 of a Moscow search, most listings are actually from Kaluga, Tver and Smolensk. This keeps results to the chosen region. Turn it off to get Avito's default mixed results."
          },
          "region": {
            "title": "Region or city",
            "type": "array",
            "description": "Avito region, by English name (\"Moscow\", \"Saint Petersburg\", \"Kazan\"), Russian name (\"Москва\"), or the slug from an Avito URL (\"moskva\", \"sankt-peterburg\", \"moskovskaya_oblast\"). Leave empty for the whole of Russia. Add several to run one search per region.",
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Category",
            "type": "array",
            "description": "Avito category by English name (\"cars\", \"phones\", \"furniture\", \"jobs\", \"flats\", \"flats for sale\", \"flats to rent\", \"rooms\", \"houses\"), Russian name (\"автомобили\"), or the slug from an Avito URL (\"avtomobili\", \"kvartiry/prodam\" to buy, \"kvartiry/sdam\" to rent). Leave empty to search every category.",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "default",
              "newest",
              "cheapest",
              "expensive"
            ],
            "type": "string",
            "description": "Avito's own ordering. \"Default\" is its relevance ranking, which puts promoted listings first. A pasted link that already has a sort keeps its own."
          },
          "minPrice": {
            "title": "Minimum price (RUB)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional lower price bound, in roubles."
          },
          "maxItems": {
            "title": "Maximum listings",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "How many listings to return in total across all searches. Each returned listing is one charged result. Up to 5,000 listings per search (100 pages of 50). Add regions, price bands or sub-categories to go past that."
          },
          "maxPagesPerSearch": {
            "title": "Pages per search",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Optional. Each search stops after this many pages of 50 listings, from 1 to 100. Leave it empty to let a search run until \"Maximum listings\"."
          },
          "maxPrice": {
            "title": "Maximum price (RUB)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional upper price bound, in roubles."
          },
          "flagUnderpriced": {
            "title": "Flag underpriced listings",
            "type": "boolean",
            "description": "Off by default. When on, each listing gets isUnderpriced and priceVsMedian: how far its price sits from the median of the other listings in the same search, priced the same way (a monthly rent is only compared with rents). A listing 20% or more under the median is flagged. It needs at least 10 priced listings in that search; with fewer, both fields are null. Same price per listing either way.",
            "default": false
          },
          "skipNegotiablePrice": {
            "title": "Leave out listings with no price",
            "type": "boolean",
            "description": "Off by default. Some ads show no number for the price, only \"Цена договорная\" (price by agreement). They come back with price empty (null), Avito's text in priceText and priceNegotiable true. Turn this on to leave them out: they are not returned, not charged and do not count toward Maximum listings.",
            "default": false
          },
          "excludeListingIds": {
            "title": "Skip these listings",
            "type": "array",
            "description": "Listings to leave out, by id (the listingId column) or ad link. They are not returned, not charged and do not count toward the maximum.",
            "items": {
              "type": "string"
            }
          },
          "skipFromDataset": {
            "title": "Skip the listings in an earlier run",
            "type": "string",
            "description": "Pick the dataset of one of your earlier runs. Every listing in it is skipped: not returned, not charged, not counted toward the maximum. Up to 200,000 rows are read from it. If the dataset can't be read, the run stops before searching, with nothing charged."
          },
          "trackChanges": {
            "title": "Track changes since the last run",
            "type": "boolean",
            "description": "Adds changeType (new, changed, unchanged), changedFields, lastRunPrice, firstSeenAt and lastSeenAt to every listing, and writes a free row for each listing the last run returned that is gone now. Each tracked listing is billed as an add-on on top of the listing itself.",
            "default": false
          },
          "trackingKey": {
            "title": "Name for this tracked search",
            "type": "string",
            "description": "Optional. Runs that share a name share one history, whatever their inputs. Leave it empty and the history follows the searches themselves."
          },
          "notionConnector": {
            "title": "Notion connector (optional)",
            "type": "string",
            "description": "Optional. Writes each listing the run delivers as a page into your Notion when the run finishes, up to 100 a run. Authorize a Notion connector once in Settings, API & Integrations, MCP connectors, then pick it here. The listings are in the dataset either way."
          },
          "notionParentId": {
            "title": "Notion target data source ID",
            "type": "string",
            "description": "Optional. The Notion data source ID of the database to write into, used only with a Notion connector. Leave it empty to create the pages privately in your workspace."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. Leave this alone unless you need the run to go out through a particular network. Your own proxy servers are used exactly as given."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}