{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Marketplace Scraper",
    "description": "Scrape Facebook Marketplace listings by keyword, vehicle make, link, or listing URL in any city: title, price, location, photos, seller, posting date, plus full description, vehicle specs, and dealership contacts. No login. Export JSON, CSV, Excel.",
    "version": "1.0",
    "x-build-id": "Unb0pdilelssugpVi"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parsebird~facebook-marketplace-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parsebird-facebook-marketplace-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~facebook-marketplace-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parsebird-facebook-marketplace-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~facebook-marketplace-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parsebird-facebook-marketplace-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": {
          "keywordSearches": {
            "title": "Search by keyword",
            "type": "array",
            "description": "Add one row per search: what you are looking for and where. Location accepts a city name (Toronto, Austin, Texas), a postal code, coordinates such as 43.65,-79.38, or the city part of a Marketplace link (sanfrancisco from facebook.com/marketplace/sanfrancisco).",
            "items": {
              "type": "object",
              "properties": {
                "query": {
                  "title": "Search for",
                  "type": "string",
                  "description": "Words to search, e.g. sectional sofa",
                  "editor": "textfield"
                },
                "location": {
                  "title": "Location",
                  "type": "string",
                  "description": "City, postal code, or Marketplace city slug",
                  "editor": "textfield"
                }
              },
              "required": [
                "query",
                "location"
              ]
            }
          },
          "vehicleSearches": {
            "title": "Search vehicles",
            "type": "array",
            "description": "Add one row per vehicle search: a make or make and model (Honda, Mercedes-Benz, Toyota Camry), or All, and where. Vehicle filters below apply to these rows.",
            "items": {
              "type": "object",
              "properties": {
                "make": {
                  "title": "Make",
                  "type": "string",
                  "description": "Make, make and model, or All",
                  "editor": "textfield"
                },
                "location": {
                  "title": "Location",
                  "type": "string",
                  "description": "City, postal code, or Marketplace city slug",
                  "editor": "textfield"
                }
              },
              "required": [
                "make",
                "location"
              ]
            }
          },
          "startUrls": {
            "title": "Marketplace search links",
            "type": "array",
            "description": "Set up any search on Facebook Marketplace (any category, city, and filters), copy the link from the address bar, and paste it here, e.g. https://www.facebook.com/marketplace/toronto/search?query=sofa&maxPrice=300. Each link is scraped as Facebook shows it to logged-out visitors. The filters below don't apply to links.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "itemUrls": {
            "title": "Listing links",
            "type": "array",
            "description": "Links to single listings (facebook.com/marketplace/item/...). Each returns the full listing and is billed as a listing plus a listing detail.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchRadiusKm": {
            "title": "Search radius (km)",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "How far around each location to search. Facebook shows logged-out visitors listings from about 65 km around one point, whatever radius you pick on the site. A larger value here searches several overlapping 65 km areas and removes duplicates.",
            "default": 65
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "In the local currency. Leave empty for no minimum."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "In the local currency. Leave empty for no maximum."
          },
          "conditions": {
            "title": "Condition",
            "type": "array",
            "description": "Keep only these conditions. Leave empty for any. Keyword searches only.",
            "items": {
              "type": "string",
              "enum": [
                "new",
                "used_like_new",
                "used_good",
                "used_fair"
              ],
              "enumTitles": [
                "New",
                "Used - like new",
                "Used - good",
                "Used - fair"
              ]
            }
          },
          "dateListed": {
            "title": "Date listed",
            "enum": [
              "all",
              "last_24_hours",
              "last_7_days",
              "last_30_days"
            ],
            "type": "string",
            "description": "Only listings posted within this time.",
            "default": "all"
          },
          "deliveryMethod": {
            "title": "Delivery method",
            "enum": [
              "all",
              "local_pick_up",
              "shipping"
            ],
            "type": "string",
            "description": "Local pickup or shipping. Shipping is mostly offered in the US.",
            "default": "all"
          },
          "availability": {
            "title": "Availability",
            "enum": [
              "available",
              "sold"
            ],
            "type": "string",
            "description": "Available listings, or listings already sold.",
            "default": "available"
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "best_match",
              "creation_time_descend",
              "creation_time_ascend",
              "price_ascend",
              "price_descend",
              "distance_ascend",
              "distance_descend",
              "vehicle_mileage_ascend",
              "vehicle_mileage_descend",
              "vehicle_year_descend",
              "vehicle_year_ascend"
            ],
            "type": "string",
            "description": "Order of results. Mileage and year sorts apply to vehicle searches.",
            "default": "best_match"
          },
          "exactMatch": {
            "title": "Exact keyword match",
            "type": "boolean",
            "description": "Match the search words more strictly.",
            "default": false
          },
          "vehicleMinYear": {
            "title": "Year from",
            "minimum": 1900,
            "maximum": 2030,
            "type": "integer",
            "description": "Earliest model year. Vehicle searches only."
          },
          "vehicleMaxYear": {
            "title": "Year to",
            "minimum": 1900,
            "maximum": 2030,
            "type": "integer",
            "description": "Latest model year. Vehicle searches only."
          },
          "vehicleMinMileage": {
            "title": "Mileage from",
            "minimum": 0,
            "type": "integer",
            "description": "Odometer, in the units local listings use (miles in the US, km elsewhere)."
          },
          "vehicleMaxMileage": {
            "title": "Mileage to",
            "minimum": 0,
            "type": "integer",
            "description": "Odometer, in the units local listings use (miles in the US, km elsewhere)."
          },
          "vehicleTransmission": {
            "title": "Transmission",
            "enum": [
              "all",
              "automatic",
              "manual"
            ],
            "type": "string",
            "description": "Vehicle searches only.",
            "default": "all"
          },
          "maxListings": {
            "title": "Maximum listings per search",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Limit for each keyword row, vehicle row, and search link. Total cost grows with this value times the number of searches.",
            "default": 10
          },
          "fetchDetails": {
            "title": "Fetch detailed information",
            "type": "boolean",
            "description": "Add the full description, all photos, condition, exact coordinates, seller profile and ratings, dealership phone and address, and vehicle specs (mileage, VIN, colors, owners, title status). Each detailed listing is billed as a listing plus a listing detail.",
            "default": false
          },
          "deduplicateListings": {
            "title": "Remove duplicates across searches",
            "type": "boolean",
            "description": "Save each listing once, even when several searches find it. The first search that finds it sets sourceUrl.",
            "default": false
          },
          "monitoringMode": {
            "title": "Only new listings (monitoring)",
            "type": "boolean",
            "description": "For scheduled runs: save only listings posted since the previous run of the same search. The first run saves the current listings. Nothing extra is charged.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "No setup needed. The Actor picks its own network route and changes IP when Facebook limits requests."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}