{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Marketplace Vehicle Scraper + Real Time Notifications",
    "description": "Scrape Facebook Marketplace vehicles by make, model, year, price, and mileage. Features exact listing dates, real-time Discord notifications, smart age filtering, and deduplication. Optimized for lowest cost per run using advanced extraction techniques. Export to JSON, CSV, or Excel.",
    "version": "0.0",
    "x-build-id": "e3N9RqqwDgRCCSFnR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/raidr-api~facebook-marketplace-vehicle-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-raidr-api-facebook-marketplace-vehicle-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/raidr-api~facebook-marketplace-vehicle-scraper/runs": {
      "post": {
        "operationId": "runs-sync-raidr-api-facebook-marketplace-vehicle-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/raidr-api~facebook-marketplace-vehicle-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-raidr-api-facebook-marketplace-vehicle-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": [
          "location"
        ],
        "properties": {
          "location": {
            "title": "📍 Location",
            "type": "string",
            "description": "Enter a city, province/state, address, or postal code (e.g., 'Toronto, Ontario' or 'Vancouver, BC' or 'New York, NY')",
            "default": "Toronto, Ontario"
          },
          "radius": {
            "title": "🎯 Search Radius",
            "enum": [
              "1000",
              "2000",
              "5000",
              "10000",
              "20000",
              "40000",
              "60000",
              "65000",
              "80000",
              "100000",
              "250000",
              "500000"
            ],
            "type": "string",
            "description": "Search radius from the center point",
            "default": "65000"
          },
          "maxResults": {
            "title": "📊 Maximum Results",
            "minimum": 10,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of listings to collect (10-500). The scraper will automatically calculate the required pages.",
            "default": 20
          },
          "maxListingAge": {
            "title": "🕐 Maximum Listing Age",
            "enum": [
              "",
              "600",
              "1800",
              "2700",
              "3600",
              "7200",
              "10800",
              "14400",
              "18000",
              "21600",
              "43200",
              "86400",
              "172800",
              "604800",
              "2592000"
            ],
            "type": "string",
            "description": "Only include listings posted within this time period. Sellers can bump old listings to the top by boosting or editing them — this filter uses the actual posting date to ensure you only see genuinely recent listings. Works with or without Fetch Detailed Item Info enabled.",
            "default": ""
          },
          "sortBy": {
            "title": "🔄 Sort Results By",
            "enum": [
              "",
              "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": "How to sort the search results",
            "default": ""
          },
          "priceMin": {
            "title": "Minimum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price filter (use 0 for no minimum)",
            "default": 0
          },
          "priceMax": {
            "title": "Maximum Price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price filter",
            "default": 214748364700
          },
          "vehicleType": {
            "title": "Vehicle Type",
            "enum": [
              "",
              "car_truck",
              "motorcycle",
              "powersport",
              "rv_camper",
              "boat",
              "commercial",
              "trailer",
              "other"
            ],
            "type": "string",
            "description": "Filter by vehicle type",
            "default": ""
          },
          "makes": {
            "title": "Vehicle Make",
            "enum": [
              "",
              "280909549507187",
              "2070821889637770",
              "341553276467626",
              "1274042129420222",
              "313316249374727",
              "382125202569476",
              "436791410393181",
              "2213968175561432",
              "489276414939966",
              "1914016008726893",
              "398368117562414",
              "636736676747295",
              "588251554976200",
              "402915273826151",
              "2290564671025286",
              "2233936113511813",
              "973850736337551",
              "499111387328354",
              "297354680962030",
              "377980153105393",
              "304317923578325",
              "407635216562551",
              "814598985558222",
              "308436969822020",
              "351240532159178",
              "590755841400441",
              "1361484827327051",
              "1865279260243853",
              "2127086467326917",
              "408221723080125",
              "417670842327686",
              "622700624835375",
              "264916861051142",
              "2101813456521413",
              "1928095167294293",
              "764630980585596",
              "1392638391528793",
              "357388888199059",
              "382869215628928",
              "332060044117902",
              "410067716491465",
              "258881574989122",
              "391196981458827",
              "847473558938602",
              "343841119808433",
              "2621742507840619",
              "1106796456195640",
              "479344332646027",
              "2261395987279029",
              "957475401927349",
              "2034940493472692",
              "2233878893526787",
              "262465364692582",
              "408165216441351",
              "1199922706845728",
              "2475781979123406",
              "327726657883762",
              "570058930184524",
              "1546786558785480",
              "573131263170521",
              "2571870739551112",
              "2449096741789800",
              "621439278281940",
              "2318041991806363",
              "523665818157652",
              "367577657422824"
            ],
            "type": "string",
            "description": "Select a specific vehicle manufacturer or leave as 'All Makes' for no filter",
            "default": ""
          },
          "carType": {
            "title": "Body Style",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by vehicle body style (leave empty for all styles)",
            "items": {
              "type": "string",
              "enum": [
                "convertible",
                "coupe",
                "hatchback",
                "minivan",
                "sedan",
                "wagon",
                "suv",
                "truck",
                "small_car",
                "other_body_style"
              ],
              "enumTitles": [
                "Convertible",
                "Coupe",
                "Hatchback",
                "Minivan",
                "Sedan",
                "Station wagon",
                "SUV",
                "Truck",
                "Small Car",
                "Other"
              ]
            }
          },
          "transmissionType": {
            "title": "⚙️ Transmission Type",
            "enum": [
              "",
              "automatic",
              "manual"
            ],
            "type": "string",
            "description": "Filter by transmission type",
            "default": ""
          },
          "minYear": {
            "title": "📅 Minimum Year",
            "type": "integer",
            "description": "Minimum vehicle year (use 0 for no minimum)",
            "default": 0
          },
          "maxYear": {
            "title": "📅 Maximum Year",
            "type": "integer",
            "description": "Maximum vehicle year (use 0 for no maximum)",
            "default": 0
          },
          "minMileage": {
            "title": "🛣️ Minimum Mileage",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum vehicle mileage (use 0 for no minimum)",
            "default": 0
          },
          "maxMileage": {
            "title": "🛣️ Maximum Mileage",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum vehicle mileage (use 0 for no maximum)",
            "default": 0
          },
          "exteriorColors": {
            "title": "🎨 Exterior Colors",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by exterior color (leave empty for all colors)",
            "items": {
              "type": "string",
              "enum": [
                "black",
                "charcoal",
                "grey",
                "silver",
                "white",
                "off_white",
                "tan",
                "beige",
                "yellow",
                "gold",
                "brown",
                "orange",
                "red",
                "burgundy",
                "pink",
                "purple",
                "blue",
                "turquoise",
                "green",
                "other"
              ],
              "enumTitles": [
                "Black",
                "Charcoal",
                "Grey",
                "Silver",
                "White",
                "Off white",
                "Tan",
                "Beige",
                "Yellow",
                "Gold",
                "Brown",
                "Orange",
                "Red",
                "Burgundy",
                "Pink",
                "Purple",
                "Blue",
                "Turquoise",
                "Green",
                "Other"
              ]
            }
          },
          "interiorColors": {
            "title": "🪑 Interior Colors",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by interior color (leave empty for all colors)",
            "items": {
              "type": "string",
              "enum": [
                "black",
                "charcoal",
                "grey",
                "silver",
                "white",
                "off_white",
                "tan",
                "beige",
                "yellow",
                "gold",
                "brown",
                "orange",
                "red",
                "burgundy",
                "pink",
                "purple",
                "blue",
                "turquoise",
                "green",
                "other"
              ],
              "enumTitles": [
                "Black",
                "Charcoal",
                "Grey",
                "Silver",
                "White",
                "Off white",
                "Tan",
                "Beige",
                "Yellow",
                "Gold",
                "Brown",
                "Orange",
                "Red",
                "Burgundy",
                "Pink",
                "Purple",
                "Blue",
                "Turquoise",
                "Green",
                "Other"
              ]
            }
          },
          "keywords": {
            "title": "🔍 Keywords",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter listings that include one or more of these keywords in the title, description, or attributes. Perfect for filtering by multiple makes (BMW, Mercedes), specific models (i3, Accord), trims (GT, AMG), or features (leather, sunroof). Case-insensitive with inclusive OR logic.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "fetchDetailedItems": {
            "title": "🔍 Fetch Detailed Item Info",
            "type": "boolean",
            "description": "Get complete information for each listing including: full description, seller information, all photos, exact posting time, and condition details. Slower but provides much richer data. Uses additional proxy requests per listing.",
            "default": false
          },
          "fetchListingMedia": {
            "title": "🖼️ Fetch Listing Photos & Videos",
            "type": "boolean",
            "description": "Fetch the complete photo gallery and any pre-recorded videos for each listing via Facebook's media viewer endpoint. Populates an `extraListingMedia` field with `listing_photos` (all image URIs with dimensions & alt-text) and `listing_videos` (playable URLs + thumbnails).\n\nIndependent of 🔍 Fetch Detailed Item Info — enable either, both, or neither. Adds one extra proxy request per listing.",
            "default": false
          },
          "enableDeduplication": {
            "title": "Skip Previously Seen Items",
            "type": "boolean",
            "description": "Avoid re-processing items that were collected in previous runs",
            "default": true
          },
          "discordWebhookUrl": {
            "title": "Discord Webhook URL",
            "type": "string",
            "description": "Webhook URL for sending notifications to Discord (leave empty to disable)",
            "default": ""
          },
          "discordNotifyOnlyNew": {
            "title": "Notify Only New Items",
            "type": "boolean",
            "description": "Send notifications only for items not seen in previous runs",
            "default": true
          },
          "discordImageDisplay": {
            "title": "Image Display Style",
            "enum": [
              "thumbnail",
              "full",
              "none"
            ],
            "type": "string",
            "description": "How to display images in Discord notifications",
            "default": "thumbnail"
          },
          "proxy": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings for accessing Facebook Marketplace. Residential proxies are required — Facebook blocks datacenter IPs. The default configuration works out of the box with Apify's proxy network.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "CA"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}