{
  "openapi": "3.0.1",
  "info": {
    "title": "Carousell Scraper | Listings, Prices and Sellers",
    "description": "Carousell scraper (旋轉拍賣) for listings, prices and sellers in Singapore, Malaysia, Hong Kong, Taiwan, the Philippines and more. Search by keyword, URL or listing id: 20 listings in 2 seconds, 51 fields each, with full description, item details, seller ratings, meet-up points and photos. No account.",
    "version": "1.0",
    "x-build-id": "9MDgdkfYzO8cujgwQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~carousell-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-carousell-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/silentflow~carousell-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-carousell-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/silentflow~carousell-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-carousell-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": {
          "keywords": {
            "title": "🔎 Search keywords",
            "type": "array",
            "description": "What you would type in the Carousell search bar, one keyword per line: <code>iphone 15</code>, <code>sofa</code>, <code>road bike</code>. Each keyword is searched in the country below. A popular keyword returns thousands of listings, so set <b>Max listings</b> to what you need.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 Carousell URLs",
            "type": "array",
            "description": "Paste Carousell addresses from any country site: a search (<code>https://www.carousell.sg/search/iphone/?sort_by=3</code>), a category (<code>https://www.carousell.com.my/categories/furniture-home-living-13/</code>) or a single listing (<code>https://www.carousell.com.my/p/light-grey-sofa-1472055557/</code>). The sort, price and condition set in the address are kept; the filters below fill in what it leaves out.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "ids": {
            "title": "🆔 Listing ids",
            "type": "array",
            "description": "Listing ids to read one by one, the number at the end of a listing address: <code>1472055557</code>. Useful to refresh the price and status of listings you already track. A sold and removed listing gives no row.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "🌏 Country",
            "type": "string",
            "description": "The Carousell site your keywords and ids are searched on. Pick it from the list, or type its code (<code>my</code>, <code>mys</code>) or its English name. Prices come in the local currency. A URL always keeps its own country.",
            "default": "sg"
          },
          "maxItems": {
            "title": "🔢 Max listings",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops once this many unique listings are saved, across all keywords, URLs and ids. Pasted ids and listings come first, then the cap is shared evenly between your keywords and search URLs. Every row comes with its full listing details, so the run time grows with this number.",
            "default": 100
          },
          "sort": {
            "title": "↕️ Sort by",
            "enum": [
              "best_match",
              "recent",
              "popular",
              "price_low_to_high",
              "price_high_to_low"
            ],
            "type": "string",
            "description": "Order of the results. <b>Recent</b> puts the newest and freshly bumped listings first, the right pick for daily monitoring.",
            "default": "best_match"
          },
          "priceMin": {
            "title": "💲 Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price, in the local currency of the country (SGD in Singapore, MYR in Malaysia). Empty means no lower bound."
          },
          "priceMax": {
            "title": "💲 Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price, in the local currency of the country. Empty means no upper bound."
          },
          "condition": {
            "title": "🏷️ Condition",
            "type": "array",
            "description": "Keep only listings in these conditions. Pick several to combine them; empty keeps every condition.",
            "items": {
              "type": "string",
              "enum": [
                "brand_new",
                "like_new",
                "lightly_used",
                "well_used",
                "heavily_used"
              ],
              "enumTitles": [
                "Brand new",
                "Like new",
                "Lightly used",
                "Well used",
                "Heavily used"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}