{
  "openapi": "3.0.1",
  "info": {
    "title": "Marktplaats Scraper",
    "description": "Scrape Marktplaats.nl, 2dehands.be and 2ememain.be listings by keyword, category, postcode and price. Get prices, condition, seller, location, photos, attributes and full descriptions. Export JSON, CSV or Excel.",
    "version": "1.0",
    "x-build-id": "CFdW4Q1riy1oGwanf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parsebird~marktplaats-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parsebird-marktplaats-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/parsebird~marktplaats-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parsebird-marktplaats-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/parsebird~marktplaats-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parsebird-marktplaats-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": {
          "platform": {
            "title": "Site",
            "enum": [
              "marktplaats.nl",
              "2dehands.be",
              "2ememain.be"
            ],
            "type": "string",
            "description": "Choose the marketplace. All three sites share the same listing format.",
            "default": "marktplaats.nl"
          },
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "Enter one or more keywords, the same as typing in the site's search box (e.g. iphone 15, bakfiets, eettafel). Each keyword is a separate search. Leave empty to browse a whole category.",
            "items": {
              "type": "string"
            }
          },
          "categoryId": {
            "title": "Category",
            "enum": [
              "",
              "1",
              "31",
              "91",
              "2600",
              "48",
              "201",
              "289",
              "1744",
              "322",
              "378",
              "1098",
              "395",
              "239",
              "445",
              "1099",
              "504",
              "1032",
              "565",
              "621",
              "1776",
              "678",
              "728",
              "1784",
              "1826",
              "356",
              "784",
              "820",
              "1984",
              "1847",
              "167",
              "856",
              "895",
              "976",
              "537",
              "1085",
              "428"
            ],
            "type": "string",
            "description": "Limit the search to one main category. The IDs are the same on all three sites.",
            "default": ""
          },
          "subcategoryId": {
            "title": "Subcategory ID",
            "type": "string",
            "description": "Optional. Enter a subcategory ID to narrow the category, e.g. 96 for BMW inside Auto's. Needs a Category. Every result has a categoryId field you can reuse here."
          },
          "postcode": {
            "title": "Postcode",
            "type": "string",
            "description": "Enter a Dutch or Belgian postcode as the centre of the search, e.g. 1012AB (Amsterdam) or 2000 (Antwerpen)."
          },
          "distanceKm": {
            "title": "Distance (km)",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Search radius around the postcode in kilometres. Used only with a postcode. 0 = no limit.",
            "default": 0
          },
          "minPrice": {
            "title": "Min price (€)",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings priced at or above this amount in euros. Listings without a price (bidding only, see description) are left out when a price filter is set."
          },
          "maxPrice": {
            "title": "Max price (€)",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings priced at or below this amount in euros."
          },
          "condition": {
            "title": "Condition",
            "type": "array",
            "description": "Keep only listings in these conditions. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "new",
                "like_new",
                "used",
                "refurbished",
                "not_working"
              ],
              "enumTitles": [
                "New (Nieuw)",
                "As good as new (Zo goed als nieuw)",
                "Used (Gebruikt)",
                "Refurbished",
                "Not working (Niet werkend)"
              ]
            }
          },
          "offeredSince": {
            "title": "Listed since",
            "enum": [
              "",
              "today",
              "yesterday",
              "week"
            ],
            "type": "string",
            "description": "Keep only recently placed listings.",
            "default": ""
          },
          "delivery": {
            "title": "Delivery",
            "enum": [
              "",
              "pickup",
              "shipping"
            ],
            "type": "string",
            "description": "Keep only listings offered for pickup or with shipping.",
            "default": ""
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "newest",
              "oldest",
              "price_asc",
              "price_desc"
            ],
            "type": "string",
            "description": "Order of the results.",
            "default": "relevance"
          },
          "maxItems": {
            "title": "Max listings",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of listings to save in total, shared across all search queries. Marktplaats shows about 2,500 results per search. Ask for more and the Actor reads the results in price order to go past that limit.",
            "default": 100
          },
          "scrapeDetails": {
            "title": "Scrape listing details",
            "type": "boolean",
            "description": "Open each listing page to add the full description, specifications table, posting date, view and favourite counts, bids, seller type, shipping options and all photos. Slower than search data alone.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy is used by default. When requests get refused, the Actor changes IP and moves to residential proxy on its own.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}