{
  "openapi": "3.0.1",
  "info": {
    "title": "Kleinanzeigen Scraper: Past the 1,250 Limit",
    "description": "Every ad of a Kleinanzeigen search, past the 1,250 the site shows, checked against its count. $1.50 per 1,000 ads. Prices, places, sellers; ad pages optional.",
    "version": "0.1",
    "x-build-id": "bswxe0bzVL86CNJI8"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/luzivanlt~kleinanzeigen-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-luzivanlt-kleinanzeigen-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/luzivanlt~kleinanzeigen-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-luzivanlt-kleinanzeigen-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/luzivanlt~kleinanzeigen-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-luzivanlt-kleinanzeigen-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": {
          "searchQueries": {
            "title": "Search words",
            "type": "array",
            "description": "What to search for across all of Germany, one search per line, as you would type it in Kleinanzeigen's search box (up to 100 characters each). The price, seller and ad type filters below apply to these. For a city, a category or other filters, paste a results link under Search links instead. Example: rennrad carbon",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Search links",
            "type": "array",
            "description": "Kleinanzeigen results links, copied from your browser after you set the place, radius, category, price and other filters you want (https://www.kleinanzeigen.de/s-muenchen/rennrad/k0l6411). Each link keeps all of them and is read from its first page. A link to one ad or to a seller's page is refused. Example: https://www.kleinanzeigen.de/s-wohnung-mieten/berlin/c203l3331",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Lowest price (€)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only ads priced at or above this many euros, for the search words above. Search links keep their own price filter. Ads with no price at all (only VB) are left out once a price is set. Example: 100"
          },
          "maxPrice": {
            "title": "Highest price (€)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only ads priced at or below this many euros, for the search words above. Search links keep their own price filter. Ads with no price at all (only VB) are left out once a price is set. Example: 2000"
          },
          "sellerType": {
            "title": "Seller",
            "enum": [
              "all",
              "private",
              "commercial"
            ],
            "type": "string",
            "description": "Private sellers, businesses (dealers, shops and agents), or both (the default), for the search words above. Search links keep their own seller filter. Example: private",
            "default": "all"
          },
          "offerType": {
            "title": "Ad type",
            "enum": [
              "all",
              "offered",
              "wanted"
            ],
            "type": "string",
            "description": "Offers (things for sale, rent or free), wanted ads (people looking for something), or both (the default), for the search words above. Search links keep their own. Example: offered",
            "default": "all"
          },
          "maxAdsPerSearch": {
            "title": "Max ads per search",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop each search after this many ads, from 1 to 50,000 (1,000 by default). Kleinanzeigen's own site shows at most 1,250 ads for one search; this Actor goes past that to the ads Kleinanzeigen counts, so set this above the search's count to get them all. You pay per ad saved, so this also caps what each search costs. Example: 5000",
            "default": 1000
          },
          "includeAdDetails": {
            "title": "Include ad pages",
            "type": "boolean",
            "description": "Also open each ad's own page for its full description, every detail (mileage, rooms, condition…), equipment list, street and map point, all pictures, the seller's name, member-since date, ads online, badges, and a business seller's phone and legal notice. One more page per ad, so a run takes longer. Off by default. Example: true",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}