{
  "description": "Scrape public Facebook Marketplace listings without cookies or login. Search by keyword and location, scrape Marketplace URLs, or fetch direct item pages. Fast mode reads feed rows; deep mode adds descriptions, condition, seller, coordinates, and photos.",
  "properties": {
    "availability": {
      "default": "all",
      "description": "Client-side status filter. Search feeds are mostly available; sold and pending are more common on direct item pages.",
      "editor": "select",
      "enum": [
        "all",
        "available",
        "sold",
        "pending"
      ],
      "enumTitles": [
        "All listings",
        "Available",
        "Sold",
        "Pending"
      ],
      "prefill": "all",
      "title": "Availability",
      "type": "string"
    },
    "category": {
      "default": "all",
      "description": "Marketplace category. If searchQueries is empty, the actor opens the city category feed (or the global category feed for a human location). Books, shoes, games, motorcycles, cell-phones, computers, video-games, and cameras were verified as category feeds but expose no server category ID, so they are not usable as keyword filters; use categoryId or a category URL for those.",
      "editor": "select",
      "enum": [
        "all",
        "vehicles",
        "electronics",
        "furniture",
        "home",
        "tools",
        "sports",
        "toys",
        "appliances",
        "jewelry",
        "autoparts",
        "garden",
        "pets",
        "books",
        "shoes",
        "games",
        "motorcycles",
        "boats",
        "antiques",
        "arts",
        "health",
        "cell-phones",
        "computers",
        "video-games",
        "cameras"
      ],
      "enumTitles": [
        "All categories",
        "Vehicles",
        "Electronics",
        "Furniture",
        "Home goods",
        "Tools",
        "Sporting goods",
        "Toys and games",
        "Appliances",
        "Jewelry and watches",
        "Auto parts",
        "Garden and outdoor",
        "Pet supplies",
        "Books",
        "Shoes",
        "Games",
        "Motorcycles",
        "Boats",
        "Antiques and collectibles",
        "Arts and crafts",
        "Health and beauty",
        "Cell phones",
        "Computers",
        "Video games",
        "Cameras"
      ],
      "prefill": "all",
      "title": "Category",
      "type": "string"
    },
    "categoryId": {
      "description": "Advanced numeric Facebook category ID. Takes precedence over category when set.",
      "editor": "textfield",
      "title": "Category ID",
      "type": "string"
    },
    "condition": {
      "default": "any",
      "description": "Server-side condition filter in search/category modes. In deep mode the detail condition is checked too; fast URL rows without condition data are kept.",
      "editor": "select",
      "enum": [
        "any",
        "new",
        "used_like_new",
        "used_good",
        "used_fair"
      ],
      "enumTitles": [
        "Any condition",
        "New",
        "Used: like new",
        "Used: good",
        "Used: fair"
      ],
      "prefill": "any",
      "title": "Condition",
      "type": "string"
    },
    "country": {
      "default": "US",
      "description": "ISO 3166-1 alpha-2 country used when resolving a human location. Use GB for London, CA for Toronto, and so on.",
      "editor": "select",
      "enum": [
        "AD",
        "AE",
        "AF",
        "AG",
        "AI",
        "AL",
        "AM",
        "AO",
        "AQ",
        "AR",
        "AS",
        "AT",
        "AU",
        "AW",
        "AX",
        "AZ",
        "BA",
        "BB",
        "BD",
        "BE",
        "BF",
        "BG",
        "BH",
        "BI",
        "BJ",
        "BL",
        "BM",
        "BN",
        "BO",
        "BQ",
        "BR",
        "BS",
        "BT",
        "BV",
        "BW",
        "BY",
        "BZ",
        "CA",
        "CC",
        "CD",
        "CF",
        "CG",
        "CH",
        "CI",
        "CK",
        "CL",
        "CM",
        "CN",
        "CO",
        "CR",
        "CU",
        "CV",
        "CW",
        "CX",
        "CY",
        "CZ",
        "DE",
        "DJ",
        "DK",
        "DM",
        "DO",
        "DZ",
        "EC",
        "EE",
        "EG",
        "EH",
        "ER",
        "ES",
        "ET",
        "FI",
        "FJ",
        "FK",
        "FM",
        "FO",
        "FR",
        "GA",
        "GB",
        "GD",
        "GE",
        "GF",
        "GG",
        "GH",
        "GI",
        "GL",
        "GM",
        "GN",
        "GP",
        "GQ",
        "GR",
        "GS",
        "GT",
        "GU",
        "GW",
        "GY",
        "HK",
        "HM",
        "HN",
        "HR",
        "HT",
        "HU",
        "ID",
        "IE",
        "IL",
        "IM",
        "IN",
        "IO",
        "IQ",
        "IR",
        "IS",
        "IT",
        "JE",
        "JM",
        "JO",
        "JP",
        "KE",
        "KG",
        "KH",
        "KI",
        "KM",
        "KN",
        "KP",
        "KR",
        "KW",
        "KY",
        "KZ",
        "LA",
        "LB",
        "LC",
        "LI",
        "LK",
        "LR",
        "LS",
        "LT",
        "LU",
        "LV",
        "LY",
        "MA",
        "MC",
        "MD",
        "ME",
        "MF",
        "MG",
        "MH",
        "MK",
        "ML",
        "MM",
        "MN",
        "MO",
        "MP",
        "MQ",
        "MR",
        "MS",
        "MT",
        "MU",
        "MV",
        "MW",
        "MX",
        "MY",
        "MZ",
        "NA",
        "NC",
        "NE",
        "NF",
        "NG",
        "NI",
        "NL",
        "NO",
        "NP",
        "NR",
        "NU",
        "NZ",
        "OM",
        "PA",
        "PE",
        "PF",
        "PG",
        "PH",
        "PK",
        "PL",
        "PM",
        "PN",
        "PR",
        "PS",
        "PT",
        "PW",
        "PY",
        "QA",
        "RE",
        "RO",
        "RS",
        "RU",
        "RW",
        "SA",
        "SB",
        "SC",
        "SD",
        "SE",
        "SG",
        "SH",
        "SI",
        "SJ",
        "SK",
        "SL",
        "SM",
        "SN",
        "SO",
        "SR",
        "SS",
        "ST",
        "SV",
        "SX",
        "SY",
        "SZ",
        "TC",
        "TD",
        "TF",
        "TG",
        "TH",
        "TJ",
        "TK",
        "TL",
        "TM",
        "TN",
        "TO",
        "TR",
        "TT",
        "TV",
        "TW",
        "TZ",
        "UA",
        "UG",
        "UM",
        "US",
        "UY",
        "UZ",
        "VA",
        "VC",
        "VE",
        "VG",
        "VI",
        "VN",
        "VU",
        "WF",
        "WS",
        "XK",
        "YE",
        "YT",
        "ZA",
        "ZM",
        "ZW"
      ],
      "enumTitles": [
        "Andorra",
        "United Arab Emirates",
        "Afghanistan",
        "Antigua and Barbuda",
        "Anguilla",
        "Albania",
        "Armenia",
        "Angola",
        "Antarctica",
        "Argentina",
        "American Samoa",
        "Austria",
        "Australia",
        "Aruba",
        "Aland Islands",
        "Azerbaijan",
        "Bosnia and Herzegovina",
        "Barbados",
        "Bangladesh",
        "Belgium",
        "Burkina Faso",
        "Bulgaria",
        "Bahrain",
        "Burundi",
        "Benin",
        "Saint Barthelemy",
        "Bermuda",
        "Brunei",
        "Bolivia",
        "Caribbean Netherlands",
        "Brazil",
        "Bahamas",
        "Bhutan",
        "Bouvet Island",
        "Botswana",
        "Belarus",
        "Belize",
        "Canada",
        "Cocos Islands",
        "Democratic Republic of the Congo",
        "Central African Republic",
        "Republic of the Congo",
        "Switzerland",
        "Cote d'Ivoire",
        "Cook Islands",
        "Chile",
        "Cameroon",
        "China",
        "Colombia",
        "Costa Rica",
        "Cuba",
        "Cape Verde",
        "Curacao",
        "Christmas Island",
        "Cyprus",
        "Czechia",
        "Germany",
        "Djibouti",
        "Denmark",
        "Dominica",
        "Dominican Republic",
        "Algeria",
        "Ecuador",
        "Estonia",
        "Egypt",
        "Western Sahara",
        "Eritrea",
        "Spain",
        "Ethiopia",
        "Finland",
        "Fiji",
        "Falkland Islands",
        "Micronesia",
        "Faroe Islands",
        "France",
        "Gabon",
        "United Kingdom",
        "Grenada",
        "Georgia",
        "French Guiana",
        "Guernsey",
        "Ghana",
        "Gibraltar",
        "Greenland",
        "Gambia",
        "Guinea",
        "Guadeloupe",
        "Equatorial Guinea",
        "Greece",
        "South Georgia and the South Sandwich Islands",
        "Guatemala",
        "Guam",
        "Guinea-Bissau",
        "Guyana",
        "Hong Kong",
        "Heard Island and McDonald Islands",
        "Honduras",
        "Croatia",
        "Haiti",
        "Hungary",
        "Indonesia",
        "Ireland",
        "Israel",
        "Isle of Man",
        "India",
        "British Indian Ocean Territory",
        "Iraq",
        "Iran",
        "Iceland",
        "Italy",
        "Jersey",
        "Jamaica",
        "Jordan",
        "Japan",
        "Kenya",
        "Kyrgyzstan",
        "Cambodia",
        "Kiribati",
        "Comoros",
        "Saint Kitts and Nevis",
        "North Korea",
        "South Korea",
        "Kuwait",
        "Cayman Islands",
        "Kazakhstan",
        "Laos",
        "Lebanon",
        "Saint Lucia",
        "Liechtenstein",
        "Sri Lanka",
        "Liberia",
        "Lesotho",
        "Lithuania",
        "Luxembourg",
        "Latvia",
        "Libya",
        "Morocco",
        "Monaco",
        "Moldova",
        "Montenegro",
        "Saint Martin",
        "Madagascar",
        "Marshall Islands",
        "North Macedonia",
        "Mali",
        "Myanmar",
        "Mongolia",
        "Macao",
        "Northern Mariana Islands",
        "Martinique",
        "Mauritania",
        "Montserrat",
        "Malta",
        "Mauritius",
        "Maldives",
        "Malawi",
        "Mexico",
        "Malaysia",
        "Mozambique",
        "Namibia",
        "New Caledonia",
        "Niger",
        "Norfolk Island",
        "Nigeria",
        "Nicaragua",
        "Netherlands",
        "Norway",
        "Nepal",
        "Nauru",
        "Niue",
        "New Zealand",
        "Oman",
        "Panama",
        "Peru",
        "French Polynesia",
        "Papua New Guinea",
        "Philippines",
        "Pakistan",
        "Poland",
        "Saint Pierre and Miquelon",
        "Pitcairn Islands",
        "Puerto Rico",
        "Palestine",
        "Portugal",
        "Palau",
        "Paraguay",
        "Qatar",
        "Reunion",
        "Romania",
        "Serbia",
        "Russia",
        "Rwanda",
        "Saudi Arabia",
        "Solomon Islands",
        "Seychelles",
        "Sudan",
        "Sweden",
        "Singapore",
        "Saint Helena",
        "Slovenia",
        "Svalbard and Jan Mayen",
        "Slovakia",
        "Sierra Leone",
        "San Marino",
        "Senegal",
        "Somalia",
        "Suriname",
        "South Sudan",
        "Sao Tome and Principe",
        "El Salvador",
        "Sint Maarten",
        "Syria",
        "Eswatini",
        "Turks and Caicos Islands",
        "Chad",
        "French Southern Territories",
        "Togo",
        "Thailand",
        "Tajikistan",
        "Tokelau",
        "Timor-Leste",
        "Turkmenistan",
        "Tunisia",
        "Tonga",
        "Turkiye",
        "Trinidad and Tobago",
        "Tuvalu",
        "Taiwan",
        "Tanzania",
        "Ukraine",
        "Uganda",
        "United States Minor Outlying Islands",
        "United States",
        "Uruguay",
        "Uzbekistan",
        "Vatican City",
        "Saint Vincent and the Grenadines",
        "Venezuela",
        "British Virgin Islands",
        "U.S. Virgin Islands",
        "Vietnam",
        "Vanuatu",
        "Wallis and Futuna",
        "Samoa",
        "Kosovo",
        "Yemen",
        "Mayotte",
        "South Africa",
        "Zambia",
        "Zimbabwe"
      ],
      "prefill": "US",
      "title": "Country",
      "type": "string"
    },
    "daysSinceListed": {
      "description": "Only listings created within this many days. Rows without a posting time are dropped.",
      "editor": "number",
      "maximum": 365,
      "minimum": 1,
      "title": "Listed Within (days)",
      "type": "integer"
    },
    "deduplicateAcrossInputs": {
      "default": true,
      "description": "Emit each listing ID once across sources. Disable to preserve repeats from repeated input URLs.",
      "prefill": true,
      "title": "Deduplicate Across Inputs",
      "type": "boolean"
    },
    "deliveryMethod": {
      "default": "all",
      "description": "Client-side filter over the listing's delivery types. Listings without delivery data are dropped when this filter is active. Legacy local_pickup is accepted as local.",
      "editor": "select",
      "enum": [
        "all",
        "shipping",
        "local"
      ],
      "enumTitles": [
        "All methods",
        "Shipping",
        "Local pickup or meetup"
      ],
      "prefill": "all",
      "title": "Delivery Method",
      "type": "string"
    },
    "exactMatch": {
      "default": false,
      "description": "Keep only rows whose title (and description in deep mode) contains every query word.",
      "prefill": false,
      "title": "Exact Keyword Match",
      "type": "boolean"
    },
    "includeAllPhotos": {
      "default": false,
      "description": "Enables deep mode and adds the full photo gallery.",
      "prefill": false,
      "title": "Include All Photos",
      "type": "boolean"
    },
    "includeListingDetails": {
      "default": false,
      "description": "Compatibility alias that enables deep mode unless scrapeMode=fast is explicit.",
      "prefill": false,
      "title": "Include Listing Details",
      "type": "boolean"
    },
    "latitude": {
      "description": "Optional search center latitude. Provide longitude too.",
      "editor": "number",
      "maximum": 90,
      "minimum": -90,
      "title": "Latitude",
      "type": "number"
    },
    "location": {
      "description": "Marketplace location slug, city, postal code, or address used by keyword search (mode=search or mode=auto without URLs). Examples: nyc, Austin, Texas, 90210, London.",
      "editor": "textfield",
      "example": "Austin, Texas",
      "prefill": "nyc",
      "title": "Location",
      "type": "string"
    },
    "longitude": {
      "description": "Optional search center longitude. Provide latitude too.",
      "editor": "number",
      "maximum": 180,
      "minimum": -180,
      "title": "Longitude",
      "type": "number"
    },
    "maxItems": {
      "default": 50,
      "description": "Global output limit across all sources.",
      "editor": "number",
      "maximum": 10000,
      "minimum": 1,
      "prefill": 3,
      "title": "Maximum Listings",
      "type": "integer"
    },
    "maxItemsPerUrl": {
      "default": 50,
      "description": "Per-source output limit.",
      "editor": "number",
      "maximum": 10000,
      "minimum": 1,
      "prefill": 3,
      "title": "Maximum Listings Per URL",
      "type": "integer"
    },
    "maxPagesPerUrl": {
      "default": 100,
      "description": "Cost guard for cursor pagination. The actor stops earlier on source exhaustion, a repeated cursor, two empty pages, or maxItems. There is no fixed row cap: a Phase 6 probe reached 1,694 unique search rows across 71 pages before Facebook returned an empty page 72.",
      "editor": "number",
      "maximum": 500,
      "minimum": 1,
      "prefill": 1,
      "title": "Maximum Pages Per URL",
      "type": "integer"
    },
    "maxPrice": {
      "description": "Only listings at or below this price. Rows without a price are dropped.",
      "editor": "number",
      "minimum": 0,
      "title": "Maximum Price",
      "type": "number"
    },
    "minPrice": {
      "description": "Only listings at or above this price. Rows without a price are dropped.",
      "editor": "number",
      "minimum": 0,
      "title": "Minimum Price",
      "type": "number"
    },
    "mode": {
      "default": "auto",
      "description": "What to scrape. auto uses startUrls when present and otherwise builds a keyword search. search builds a search from searchQueries plus location. urls scrapes the given Marketplace search, category, or city-feed URLs. items fetches direct item URLs or numeric IDs.",
      "editor": "select",
      "enum": [
        "auto",
        "search",
        "urls",
        "items"
      ],
      "enumTitles": [
        "Auto (use URLs first, then keyword search)",
        "Search by keyword and location",
        "Scrape these Marketplace URLs",
        "Fetch these listing URLs or IDs"
      ],
      "prefill": "urls",
      "title": "Mode",
      "type": "string"
    },
    "proxyConfiguration": {
      "description": "Optional advanced override. The actor works without a proxy and automatically escalates only when Facebook blocks a request. A missing value never stops a run.",
      "editor": "proxy",
      "title": "Proxy Configuration",
      "type": "object"
    },
    "radiusKm": {
      "default": 65,
      "description": "Search radius in kilometres for keyword or category search. URL mode keeps the radius in the URL unless you set this explicitly.",
      "editor": "number",
      "maximum": 500,
      "minimum": 1,
      "prefill": 65,
      "title": "Radius (km)",
      "type": "integer"
    },
    "rehostImages": {
      "default": true,
      "description": "Copy primary photos and seller avatars into the actor key-value store so the emitted URLs do not expire. The original Facebook URL is kept in primaryPhotoUrlOriginal. When off, mediaUrlTemporary is emitted.",
      "prefill": false,
      "title": "Rehost Images",
      "type": "boolean"
    },
    "scrapeMode": {
      "default": "fast",
      "description": "fast streams feed rows. deep fetches each listing page for description, condition, attributes, seller, coordinates, and photos. auto follows includeListingDetails and includeAllPhotos.",
      "editor": "select",
      "enum": [
        "fast",
        "deep",
        "auto"
      ],
      "enumTitles": [
        "Fast (feed data only)",
        "Deep (fetch each listing page)",
        "Auto (deep only when details or photos are requested)"
      ],
      "prefill": "fast",
      "title": "Scrape Mode",
      "type": "string"
    },
    "searchQueries": {
      "default": [],
      "description": "One to 20 keywords or phrases (mode=search or mode=auto without URLs). Each query becomes one source.",
      "editor": "stringList",
      "example": [
        "laptop",
        "office chair"
      ],
      "prefill": [
        "laptop"
      ],
      "title": "Search Queries",
      "type": "array"
    },
    "sortBy": {
      "default": "relevance",
      "description": "Server-side sort where Marketplace supports it, plus a client-side re-sort by price or posting time. Rows without a price sort last.",
      "editor": "select",
      "enum": [
        "relevance",
        "newest",
        "oldest",
        "price_asc",
        "price_desc",
        "distance"
      ],
      "enumTitles": [
        "Relevance",
        "Newest first",
        "Oldest first",
        "Price: low to high",
        "Price: high to low",
        "Distance (requires coordinates)"
      ],
      "prefill": "relevance",
      "title": "Sort Order",
      "type": "string"
    },
    "startUrls": {
      "default": [],
      "description": "Marketplace search, city-category, global-category, city-feed, or /marketplace/item/ URLs. In mode=items, a bare numeric listing ID is also accepted.",
      "editor": "requestListSources",
      "example": [
        {
          "url": "https://www.facebook.com/marketplace/nyc/search/?query=laptop"
        }
      ],
      "items": {
        "properties": {
          "url": {
            "description": "A valid Facebook Marketplace URL or a listing ID in mode=items.",
            "title": "URL",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "prefill": [
        {
          "url": "https://www.facebook.com/marketplace/nyc/search/?query=laptop"
        }
      ],
      "title": "Marketplace URLs or Item IDs",
      "type": "array"
    }
  },
  "schemaVersion": 1,
  "title": "Facebook Marketplace Input",
  "type": "object"
}
