{
  "openapi": "3.0.1",
  "info": {
    "title": "Mobile.de Scraper — Vehicle Inventory Monitor",
    "description": "Scrape public Mobile.de vehicle listings from search or listing URLs. Get prices, mileage, specs, sellers, images, and monitored inventory price changes.",
    "version": "1.0",
    "x-build-id": "0v2NPkLanjmHOLJW3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~mobile-de-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-mobile-de-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/khadinakbar~mobile-de-scraper/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-mobile-de-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/khadinakbar~mobile-de-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-mobile-de-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",
        "required": [
          "startUrls"
        ],
        "properties": {
          "dataSource": {
            "title": "Data source",
            "enum": [
              "browser",
              "officialApi"
            ],
            "type": "string",
            "description": "Use this to choose the authorized retrieval path. Choose browser for a public Mobile.de results or listing URL, or officialApi only when the actor owner has configured authorized Mobile.de Search API credentials. It defaults to browser and never falls back between modes. This is not a way to supply credentials in the input.",
            "default": "browser"
          },
          "startUrls": {
            "title": "Mobile.de results or listing URLs",
            "type": "array",
            "description": "Use this when you already have a Mobile.de URL for the selected data source. In browser mode pass a public results or listing URL such as {\"url\":\"https://suchen.mobile.de/auto/gebrauchtwagen.html\"}; in officialApi mode pass only a documented services.mobile.de Search API search or ad URL. At least one valid URL is required and the advanced-search form is not a result page. This is not a free-text vehicle query and it does not accept URLs from other marketplaces.",
            "default": [
              {
                "url": "https://suchen.mobile.de/auto/gebrauchtwagen.html"
              }
            ],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxResults": {
            "title": "Maximum vehicle listings",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Use this to set the maximum number of vehicle records written to the dataset. Enter an integer such as 25. It defaults to 25 and accepts 1 through 500. This is not a page count; the actor stops before charging more listing events than this limit.",
            "default": 25
          },
          "includeDetails": {
            "title": "Include vehicle detail pages",
            "type": "boolean",
            "description": "Use this when you need listing descriptions, equipment, extra images, and seller fields in addition to search-card data. Set true or false, for example true. It defaults to true and detail enrichment is billed only after a detail page is fetched successfully. This is not required for a fast price-and-mileage-only search export.",
            "default": true
          },
          "responseFormat": {
            "title": "Response format",
            "enum": [
              "concise",
              "detailed"
            ],
            "type": "string",
            "description": "Use this to choose the amount of optional text and media included in each vehicle record. Choose concise or detailed, for example concise. It defaults to concise so AI agents receive compact records, while detailed adds description, equipment, more images, and public phone data when available. This does not change the core price, mileage, registration, and seller fields.",
            "default": "concise"
          },
          "monitoringKey": {
            "title": "Inventory monitoring key",
            "type": "string",
            "description": "Use this when repeated runs should compare a specific Mobile.de search over time. Enter a stable label such as berlin-bmw-inventory. It is optional and creates state only for the same key, with lowercase letters, numbers, and hyphens retained. This is not a Mobile.de seller ID or a dataset ID."
          },
          "changesOnly": {
            "title": "Return only new or price-changed listings",
            "type": "boolean",
            "description": "Use this when a scheduled inventory-monitoring run should omit listings whose price did not change. Set true only with a monitoring key, for example true. It defaults to false so an initial run returns all matching vehicles. This does not detect removed ads because Mobile.de result coverage can vary by search and region.",
            "default": false
          },
          "proxyCountry": {
            "title": "Residential proxy country",
            "enum": [
              "DE",
              "AT",
              "BE",
              "CH",
              "FR",
              "NL"
            ],
            "type": "string",
            "description": "Use this to select the country for the actor-managed residential browser session. Choose a supported ISO code such as DE. It defaults to DE; AT, BE, CH, FR, and NL are also supported for regional results. This setting is ignored in officialApi mode and is not a vehicle location filter, which belongs in the selected source URL itself.",
            "default": "DE"
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}