{
  "openapi": "3.0.1",
  "info": {
    "title": "Mobile.bg Scraper: Cars, Trucks & Motorcycles in Bulgaria",
    "description": "Scrape mobile.bg, Bulgaria's largest vehicle marketplace: cars, SUVs, trucks, buses, motorcycles, machinery, parts and dealers with EUR price, mileage, fuel, power, photos, price history and new-listing monitoring. No login, no proxy. Export JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "ZcXPw7SPqMcB6vmku"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/recordsdata~mobile-bg-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-recordsdata-mobile-bg-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/recordsdata~mobile-bg-scraper/runs": {
      "post": {
        "operationId": "runs-sync-recordsdata-mobile-bg-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/recordsdata~mobile-bg-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-recordsdata-mobile-bg-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": {
          "mode": {
            "title": "What to collect",
            "enum": [
              "search",
              "urls",
              "dealers",
              "sitemap"
            ],
            "type": "string",
            "description": "search = vehicle ads for the section and filters below. urls = listing addresses, listing numbers, result pages and dealer sites you list. dealers = the dealer directory with showroom address, stock counts and opening hours. sitemap = listings added or changed since a date, straight from the site index.",
            "default": "search"
          },
          "maxItems": {
            "title": "Maximum items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stops after this many rows (all record types together). Free plans are limited to 10 items per run. The site shows at most 3,000 results per search; larger requests are split by make, model, year and price automatically.",
            "default": 50
          },
          "section": {
            "title": "Section",
            "enum": [
              "cars",
              "buses",
              "trucks",
              "motorcycles",
              "agricultural",
              "industrial",
              "forklifts",
              "caravans",
              "boats",
              "trailers",
              "bicycles",
              "parts",
              "accessories",
              "tires"
            ],
            "type": "string",
            "description": "Which part of the site to search. Cars and SUVs is the default. Parts, accessories and tires are filtered by the vehicle they fit (next field), category and price only.",
            "default": "cars"
          },
          "forVehicle": {
            "title": "Parts fit this vehicle type",
            "enum": [
              "cars",
              "buses",
              "trucks",
              "motorcycles",
              "agricultural",
              "industrial",
              "forklifts",
              "caravans",
              "boats",
              "trailers",
              "bicycles"
            ],
            "type": "string",
            "description": "Only for the sections Parts, Accessories and Tires: the kind of vehicle the items are for.",
            "default": "cars"
          },
          "make": {
            "title": "Make",
            "type": "string",
            "description": "Make as written on the site, for example BMW, Mercedes-Benz, Volkswagen, Honda or Scania. Case does not matter. An unknown make is reported with close suggestions. Empty means every make.",
            "default": ""
          },
          "model": {
            "title": "Model",
            "type": "string",
            "description": "Model of the make above, for example 320, Golf or Vitara. Needs a make. A model that does not exist for the make is reported with examples. Empty means every model.",
            "default": ""
          },
          "category": {
            "title": "Body type or category",
            "type": "string",
            "description": "Category of the section: for cars sedan, hatchback, station wagon, suv, coupe, convertible, minivan, van, pickup or limousine; for motorcycles for example scooter, chopper, enduro, naked or ATV; for farm machinery, construction machinery, forklifts, caravans, boats, trailers and bicycles the category name in English (tractor, excavator, motor-yacht, semi-trailer, mountain) or the site label; for parts the part category as listed on the site. Bulgarian site labels work too. Empty means every category.",
            "default": ""
          },
          "yearFrom": {
            "title": "Year from",
            "minimum": 0,
            "maximum": 2100,
            "type": "integer",
            "description": "Only vehicles produced in this year or later. 0 or empty means no limit."
          },
          "yearTo": {
            "title": "Year to",
            "minimum": 0,
            "maximum": 2100,
            "type": "integer",
            "description": "Only vehicles produced in this year or earlier. 0 or empty means no limit."
          },
          "priceMin": {
            "title": "Minimum price (EUR)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only ads priced at or above this amount in euro, for example 5000. 0 or empty means no limit."
          },
          "priceMax": {
            "title": "Maximum price (EUR)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only ads priced at or below this amount in euro, for example 20000. 0 or empty means no limit."
          },
          "mileageMax": {
            "title": "Maximum mileage (km)",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Only vehicles with at most this odometer reading, for example 150000. 0 or empty means no limit."
          },
          "powerMin": {
            "title": "Minimum power (hp)",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Only engines of at least this many horsepower. 0 or empty means no limit."
          },
          "powerMax": {
            "title": "Maximum power (hp)",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Only engines of at most this many horsepower. 0 or empty means no limit."
          },
          "engineSizeMin": {
            "title": "Engine size from (cc)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Only engines of at least this size in cubic centimetres, for example 1600. 0 or empty means no limit."
          },
          "engineSizeMax": {
            "title": "Engine size to (cc)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Only engines of at most this size in cubic centimetres, for example 2000. 0 or empty means no limit."
          },
          "euroClassMin": {
            "title": "Euro emission class (this or newer)",
            "minimum": 0,
            "maximum": 6,
            "type": "integer",
            "description": "Only vehicles meeting Euro class N or newer, 1 to 6. 0 or empty means no limit."
          },
          "fuelType": {
            "title": "Fuel type",
            "enum": [
              "any",
              "petrol",
              "diesel",
              "electric",
              "hybrid",
              "plug-in-hybrid",
              "gas",
              "hydrogen"
            ],
            "type": "string",
            "description": "Fuel of the engine.",
            "default": "any"
          },
          "transmission": {
            "title": "Transmission",
            "enum": [
              "any",
              "manual",
              "automatic",
              "semi-automatic"
            ],
            "type": "string",
            "description": "Gearbox type.",
            "default": "any"
          },
          "color": {
            "title": "Colour",
            "enum": [
              "any",
              "white",
              "black",
              "silver",
              "grey",
              "light-grey",
              "dark-grey",
              "graphite",
              "blue",
              "light-blue",
              "dark-blue",
              "red",
              "dark-red",
              "burgundy",
              "green",
              "yellow",
              "orange",
              "brown",
              "beige",
              "gold",
              "bronze",
              "purple",
              "pink",
              "cream",
              "pearl",
              "metallic"
            ],
            "type": "string",
            "description": "Body colour as listed by the site.",
            "default": "any"
          },
          "region": {
            "title": "Region",
            "enum": [
              "any",
              "blagoevgrad",
              "burgas",
              "varna",
              "veliko-tarnovo",
              "vidin",
              "vratsa",
              "gabrovo",
              "dobrich",
              "dupnitsa",
              "kardzhali",
              "kyustendil",
              "lovech",
              "montana",
              "pazardzhik",
              "pernik",
              "pleven",
              "plovdiv",
              "razgrad",
              "ruse",
              "silistra",
              "sliven",
              "smolyan",
              "sofia",
              "stara-zagora",
              "targovishte",
              "haskovo",
              "shumen",
              "yambol",
              "abroad"
            ],
            "type": "string",
            "description": "Province where the vehicle is offered (Sofia covers the capital and its province). Outside Bulgaria lists vehicles located abroad.",
            "default": "any"
          },
          "condition": {
            "title": "Condition",
            "enum": [
              "any",
              "new",
              "damaged",
              "for-parts"
            ],
            "type": "string",
            "description": "Any returns every ad. New, Damaged and For parts are the site's own condition filters.",
            "default": "any"
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "any",
              "dealer",
              "private"
            ],
            "type": "string",
            "description": "Dealers keeps ads of businesses, Private keeps ads of private sellers (their names and phones are never output). Checked on every row.",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "relevance",
              "price-asc",
              "year-desc",
              "mileage-asc",
              "last-2-days"
            ],
            "type": "string",
            "description": "Order of the results. Newest first is best for monitoring.",
            "default": "newest"
          },
          "startUrls": {
            "title": "Addresses",
            "type": "array",
            "description": "urls mode. Listing addresses (www.mobile.bg/obiava-...), result pages with filters (www.mobile.bg/obiavi/...), dealer sites (name.mobile.bg) and dealer directory pages (www.mobile.bg/dealers). Listing numbers can go in the next field.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "listingIds": {
            "title": "Listing numbers",
            "type": "array",
            "description": "urls mode. The number after \"obiava-\" in a listing address, for example 11699738500190247. A letter or digit followed by 12 to 18 digits.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "dealerQuery": {
            "title": "Dealer name contains",
            "type": "string",
            "description": "dealers mode. Keeps only dealers matching this text (the site's own dealer search). Empty means every dealer.",
            "default": ""
          },
          "dealerCity": {
            "title": "Dealer town",
            "type": "string",
            "description": "dealers mode. Keeps only dealers in this town, written as on the site in Latin letters, for example Sofia, Plovdiv or Varna. Empty means every town.",
            "default": ""
          },
          "includeDealerListings": {
            "title": "Include the vehicles of each dealer",
            "type": "boolean",
            "description": "On: after each dealer record, also read that dealer's own vehicle listings (each one is a vehicle record).",
            "default": false
          },
          "modifiedSince": {
            "title": "Changed since (sitemap mode)",
            "type": "string",
            "description": "sitemap mode. Listings added or edited since this moment, as 2026-10-19 or 2026-10-19T08:00:00Z. Empty means the last 24 hours. Every listing is read in full.",
            "default": ""
          },
          "sitemapSections": {
            "title": "Sections (sitemap mode)",
            "type": "array",
            "description": "sitemap mode. Sections to keep. Leave empty for every section.",
            "items": {
              "type": "string",
              "enum": [
                "cars",
                "buses",
                "trucks",
                "motorcycles",
                "agricultural",
                "industrial",
                "forklifts",
                "caravans",
                "boats",
                "trailers",
                "bicycles",
                "parts",
                "accessories",
                "tires"
              ],
              "enumTitles": [
                "Cars and SUVs",
                "Buses and vans",
                "Trucks",
                "Motorcycles and ATVs",
                "Agricultural machinery",
                "Industrial machinery",
                "Forklifts",
                "Caravans and motorhomes",
                "Boats and yachts",
                "Trailers",
                "Bicycles",
                "Parts",
                "Accessories",
                "Tires and wheels"
              ]
            },
            "default": []
          },
          "fetchDetails": {
            "title": "Read every listing page (full detail)",
            "type": "boolean",
            "description": "Off: one row per ad from the result list (price, year, mileage, fuel, transmission, region, first photos). On: also opens each ad page for body type, drive, power, euro class, VIN, equipment, all photos, video, full description, views, last edit time and the dealer address and map position. Slower and billed as a detail record.",
            "default": false
          },
          "includePriceHistory": {
            "title": "Include price history",
            "type": "boolean",
            "description": "On: for every ad also reads its price history and adds one price-history record per price step (implies reading the listing page).",
            "default": false
          },
          "includeContactDetails": {
            "title": "Include dealer contact details",
            "type": "boolean",
            "description": "Adds the business phone of dealerships and keeps phone numbers inside their descriptions. Private seller names, phones and emails are never output.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new listings (monitor)",
            "type": "boolean",
            "description": "Skips every listing seen in an earlier run with the same monitor name, so scheduled runs return only what is new.",
            "default": false
          },
          "trackPriceChanges": {
            "title": "Report price changes",
            "type": "boolean",
            "description": "Needs Only new listings. A listing seen before with a price at least 2 percent different comes back with the previous price, the change and the change in percent.",
            "default": false
          },
          "resetSeen": {
            "title": "Forget seen listings",
            "type": "boolean",
            "description": "Clears the memory of the monitor name before this run.",
            "default": false
          },
          "stateKey": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of the memory used by Only new listings. Use one name per saved search. Empty derives a name from your filters.",
            "default": ""
          },
          "maxConcurrency": {
            "title": "Parallel page reads",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "How many listing pages are read at the same time (1 to 5). Requests are paced to about four per second in total, so a higher value adds little.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. Empty means direct requests, which work. Add a proxy only if your own network needs one."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}