{
  "openapi": "3.0.1",
  "info": {
    "title": "Craigslist Scraper — Listings, Prices, Photos & Details",
    "description": "Scrape Craigslist listings from any city: for sale, cars, housing, jobs, gigs, services and events. Search by keyword, category and filters or paste search links. Title, price, location, map point, photos, date; optional full text and attributes.",
    "version": "0.1",
    "x-build-id": "MAbM80egyeQdghDmf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fabrikit~craigslist-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fabrikit-craigslist-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/fabrikit~craigslist-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fabrikit-craigslist-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/fabrikit~craigslist-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fabrikit-craigslist-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": [
          "locations"
        ],
        "properties": {
          "searchQueries": {
            "title": "Search terms",
            "type": "array",
            "description": "Keywords to search, one search per term and location (for example \"road bike\", \"2 bedroom\", \"toyota tacoma\"). Leave empty to list everything in the category.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Craigslist sites to search: the name in the site address (sfbay, newyork, losangeles, chicago, seattle, toronto, vancouver, london ...), an area name (\"new york city\"), or a sub-area as site/sub-area (sfbay/sfc, newyork/brk).",
            "default": [
              "sfbay"
            ],
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Category",
            "enum": [
              "sss",
              "sso",
              "ssq",
              "hhh",
              "jjj",
              "ggg",
              "bbb",
              "eee",
              "ata",
              "ppa",
              "ara",
              "sna",
              "pta",
              "wta",
              "ava",
              "baa",
              "bip",
              "bia",
              "bpa",
              "boo",
              "bka",
              "bfa",
              "cta",
              "ema",
              "moa",
              "cla",
              "cba",
              "syp",
              "sya",
              "ela",
              "gra",
              "fua",
              "foa",
              "haa",
              "hva",
              "hsa",
              "jwa",
              "maa",
              "mpa",
              "mca",
              "msa",
              "pha",
              "rva",
              "sga",
              "tia",
              "tla",
              "taa",
              "tra",
              "vga",
              "waa",
              "zip",
              "gms",
              "bar",
              "apa",
              "roo",
              "sub",
              "vac",
              "off",
              "prk",
              "rea",
              "reo",
              "reb",
              "swp",
              "sof",
              "web",
              "egr",
              "sad",
              "tch",
              "hea",
              "edu",
              "fbh",
              "ret",
              "trp",
              "lab",
              "trd",
              "sls",
              "mar",
              "acc",
              "ofc",
              "csr",
              "bus",
              "med",
              "wri",
              "gov",
              "npo",
              "lgl",
              "sci",
              "sec",
              "mnu",
              "spa",
              "rej",
              "hum",
              "tfr",
              "etc",
              "cpg",
              "crg",
              "cwg",
              "dmg",
              "evg",
              "lbg",
              "tlg",
              "wrg",
              "aos",
              "bts",
              "cps",
              "crs",
              "cys",
              "evs",
              "fgs",
              "fns",
              "hws",
              "hss",
              "lbs",
              "lgs",
              "lss",
              "mas",
              "pas",
              "rts",
              "sks",
              "biz",
              "trv",
              "wet",
              "eve",
              "cls"
            ],
            "type": "string",
            "description": "What to search. Community and resumes are not available (personal posts).",
            "default": "sss"
          },
          "categoryCode": {
            "title": "Category code (overrides the list)",
            "type": "string",
            "description": "Any other craigslist category code, as in the site links: cto (cars by owner), ctd (cars by dealer), bik, fuo, ele ... Leave empty to use the category above."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "relevance",
              "oldest",
              "priceAsc",
              "priceDesc"
            ],
            "type": "string",
            "description": "Order of the results. Price sorting is only offered for categories with prices; relevance needs search terms.",
            "default": "newest"
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "In the currency of the area (US$ in the US, C$ in Canada ...)."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "In the currency of the area."
          },
          "sellerType": {
            "title": "Sold by",
            "enum": [
              "all",
              "owner",
              "dealer"
            ],
            "type": "string",
            "description": "For sale categories only: everyone, owners or dealers.",
            "default": "all"
          },
          "postedToday": {
            "title": "Posted today",
            "type": "boolean",
            "description": "Only listings posted today.",
            "default": false
          },
          "hasImage": {
            "title": "Has image",
            "type": "boolean",
            "description": "Only listings with photos.",
            "default": false
          },
          "searchTitlesOnly": {
            "title": "Search titles only",
            "type": "boolean",
            "description": "Match the search terms in titles only, not in the posting text.",
            "default": false
          },
          "hideDuplicates": {
            "title": "Hide duplicates",
            "type": "boolean",
            "description": "Keep one listing when craigslist marks several as copies of the same ad (the site's \"hide duplicates\").",
            "default": false
          },
          "postalCode": {
            "title": "ZIP / postal code",
            "type": "string",
            "description": "Search around a ZIP or postal code (use together with Search distance). It must be inside the location searched."
          },
          "searchDistance": {
            "title": "Search distance",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Radius around the ZIP / postal code, in the distance unit of the area (miles in the US)."
          },
          "extraFilters": {
            "title": "Extra craigslist filters",
            "type": "object",
            "description": "Any other filter of the craigslist search form, by its URL name. Examples: {\"min_bedrooms\": 2, \"pets_dog\": 1} for apartments, {\"min_auto_year\": 2015, \"max_auto_miles\": 100000, \"auto_make_model\": \"toyota\"} for cars, {\"is_telecommuting\": 1} for jobs."
          },
          "searchUrls": {
            "title": "Craigslist search links",
            "type": "array",
            "description": "Search pages copied from your browser, with all their filters (for example https://sfbay.craigslist.org/search/bia?query=road+bike or https://www.craigslist.org/search/area/newyork?cat=apa&min_bedrooms=2). Each link runs as is, in addition to the searches above.",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Include posting details (add-on)",
            "type": "boolean",
            "description": "Adds the full posting text (contacts removed), attributes (condition, make, odometer, bedrooms, employment type ...), first-posted and updated dates and area names. One extra request per listing, billed as an add-on.",
            "default": false
          },
          "includeNearby": {
            "title": "Include nearby areas",
            "type": "boolean",
            "description": "When a search has few local results, craigslist adds listings from nearby sites. Off: only the location you asked for. On: nearby listings too, marked isNearby.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum listings",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "Exact cap for the whole run (all searches together).",
            "default": 50
          },
          "maxItemsPerSearch": {
            "title": "Maximum listings per search",
            "minimum": 1,
            "type": "integer",
            "description": "Optional cap for each search term x location (and each search link). Craigslist lists up to 10,000 results per search."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxy by default. If craigslist blocks it, the Actor moves to a US 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}