{
  "openapi": "3.0.1",
  "info": {
    "title": "Marketplace Listings Scraper - Craigslist, eBay, Kijiji",
    "description": "Scrape classified and marketplace listings from Craigslist, eBay, Kijiji and Karrot: title, price, currency, location, photo, description and link for any keywords, plus eBay shipping, bids, time left, seller feedback and sold counts. Made by ScraperCompany.",
    "version": "1.0",
    "x-build-id": "8R9KR9RsffUI4iVOa"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapercompany~marketplace-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapercompany-marketplace-listings-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/scrapercompany~marketplace-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapercompany-marketplace-listings-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/scrapercompany~marketplace-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapercompany-marketplace-listings-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": {
          "site": {
            "title": "Marketplace",
            "enum": [
              "craigslist",
              "kijiji",
              "karrot",
              "ebay"
            ],
            "type": "string",
            "description": "The marketplace to search. Each line of Searches is one request.",
            "default": "craigslist"
          },
          "searches": {
            "title": "Searches",
            "type": "array",
            "description": "One per line. <b>Craigslist, Karrot, eBay</b>: keywords (<code>bike</code>, <code>nintendo switch 2</code>). <b>Kijiji</b>: a Kijiji search URL (<code>https://www.kijiji.ca/b-for-sale/canada/bike/k0c10l0</code>).",
            "default": [
              "bike"
            ],
            "items": {
              "type": "string"
            }
          },
          "limit": {
            "title": "Listings per search",
            "minimum": 1,
            "maximum": 400,
            "type": "integer",
            "description": "Most listings per search: Craigslist up to 400, Kijiji 100, Karrot 60; a larger value is lowered to the site's maximum. eBay always returns one page (about 60). Leave empty for the site's default (Craigslist 400, Kijiji 40, Karrot 60). One search is one charge whatever the number."
          },
          "craigslist_city": {
            "title": "Craigslist city",
            "type": "string",
            "description": "The city's Craigslist subdomain, e.g. <code>newyork</code>, <code>sfbay</code>, <code>chicago</code>, <code>london</code> (Craigslist).",
            "default": "newyork"
          },
          "karrot_region": {
            "title": "Karrot region",
            "type": "string",
            "description": "Karrot region code, e.g. <code>ca</code> (Canada), <code>uk</code>, <code>us</code> (Karrot).",
            "default": "ca"
          },
          "ebay_market": {
            "title": "eBay site",
            "enum": [
              "US",
              "GB",
              "DE",
              "AU",
              "CA",
              "FR",
              "IT",
              "ES"
            ],
            "type": "string",
            "description": "Which eBay site; prices are in its currency (eBay).",
            "default": "US"
          },
          "ebay_sort": {
            "title": "eBay sort",
            "enum": [
              "best_match",
              "price_low",
              "price_high",
              "newly_listed",
              "ending_soonest"
            ],
            "type": "string",
            "description": "Result order (eBay).",
            "default": "best_match"
          },
          "ebay_condition": {
            "title": "eBay condition",
            "enum": [
              "new",
              "used"
            ],
            "type": "string",
            "description": "Only new or only used items. Leave empty for both (eBay)."
          },
          "ebay_buying_format": {
            "title": "eBay buying format",
            "enum": [
              "auction",
              "buy_it_now"
            ],
            "type": "string",
            "description": "Only auctions or only Buy It Now. Leave empty for both (eBay)."
          },
          "min_price": {
            "title": "eBay minimum price",
            "minimum": 0,
            "type": "number",
            "description": "Lowest price, in the site's currency (eBay)."
          },
          "max_price": {
            "title": "eBay maximum price",
            "minimum": 0,
            "type": "number",
            "description": "Highest price, in the site's currency (eBay)."
          },
          "ebay_page": {
            "title": "eBay page",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Results page; each page is one charge (eBay).",
            "default": 1
          },
          "customRequests": {
            "title": "Custom requests (advanced)",
            "type": "array",
            "description": "Optional list of JSON objects, one request each, using the field names shown above. Each object is merged over the options above, so you only need to give what differs. Use <code>\"site\"</code> (craigslist, kijiji, karrot, ebay) to pick the marketplace per object, with its API fields. Example: <code>{\"site\":\"ebay\",\"q\":\"vintage rolex\",\"buying_format\":\"auction\",\"sort\":\"ending_soonest\"}</code>"
          },
          "includeErrors": {
            "title": "Include failed requests in the dataset",
            "type": "boolean",
            "description": "When on, a request that fails (for example an unknown property id) is saved as a dataset item with an <code>error</code> message so you can see what went wrong. Failed requests are never charged.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many requests run at the same time (1-8). Parallel runs share one limit, so extra requests wait for a free slot instead of failing.",
            "default": 3
          },
          "maxRetries": {
            "title": "Retries per request",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "How many times a request that failed for a temporary reason is tried again. Invalid input is never retried.",
            "default": 2
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}