
Carousell Scraper
hipersoft/carousell-marketplace-scraper
Scrape Carousell marketplace listings by keyword or URL: title, price, condition, location, seller profile, photos and link. Export as JSON, CSV or Excel for price research, reselling, lead generation and market analysis.
Total users
1Monthly users
0Total runs
42Per listing scraped
$0.004Last rebuilt
Oct 26, 2026Overview
Scrape Carousell search results into clean JSON, CSV or Excel. Search any keyword — or paste Carousell search/listing URLs — and get title, price, condition, description, location, seller, photos and listing URL for every result. Reliable, fast, and no setup required.
Great for resale price research, market & competitor analysis, inventory sourcing and lead generation across Carousell's marketplaces.

Features
- Search by keyword or URL — enter search terms, or paste Carousell search and listing URLs.
- Two levels of detail — quick card data, or full listing details with one toggle.
- Rich seller data — with details on, get the full seller profile: followers, items sold, reviews, feedback score, response rate and join date.
- All Carousell markets — Singapore, Malaysia, Indonesia, Hong Kong, Taiwan, Australia, Canada, New Zealand.
- Clean, structured output — every record has a stable id, timestamps and the listing URL. Sponsored/ad cards are filtered out.
Input
queries— search terms, one per line (e.g.iphone 15,nike shoes)startUrls— Carousell search URLs (paginated) or listing URLs (scraped directly), e.g.https://www.carousell.sg/search/dyson/orhttps://www.carousell.sg/p/1234567890/scrapeDetails— turn on to enrich every listing with the full description, all photos, meet-up location, complete seller profile and engagement (likes, offers)country— marketplace (Singapore, Malaysia, …)maxItemsPerQuery— cap listings per query/URL
Example input
{ "startUrls": [{ "url": "https://www.carousell.sg/search/dyson/" }], "scrapeDetails": true, "country": "sg", "maxItemsPerQuery": 200 }
Two modes
- Shallow (default): fast card-level data — title, price, condition, location, seller, photo, URL.
- Detail (
scrapeDetails: true): everything above plus full description, every photo, meet-up location, engagement (likes/offers), and the full seller profile (followers, items sold, reviews, feedback score, response rate, join date).
What you get

Output schema
Every listing returns these base fields. With scrapeDetails: true each record is also enriched with the full description, all photos, meet-up location, engagement and the complete seller profile.
| Field | Type | Description |
|---|---|---|
id |
string | Unique Carousell listing ID. |
title |
string | Listing title. |
priceFormatted |
string | Listing price with its currency symbol. |
description |
string | Listing description text. |
condition |
string | Item condition (e.g. brand new, used). |
location |
string | Listing location as shown on Carousell. |
countryCode |
string | Marketplace country code (e.g. sg, my, hk). |
primaryPhotoUrl |
string (URL) | Link to the listing's main photo. |
sellerId |
string | Unique ID of the seller. |
sellerUsername |
string | Seller's public username. |
timeCreated |
string (ISO date) | Date and time the listing was posted. |
url |
string (URL) | Direct link to the listing page. |
sourceUrl |
string (URL) | The search or listing URL the record was collected from. |
collectedAt |
string (ISO date) | Date and time the record was collected. |
Output
{
"id": "1430981890",
"title": "Dyson 360 Vis Nav Robot Vacuum - Brand New",
"priceFormatted": "S$500",
"condition": "Brand new",
"description": "…",
"location": "Singapore",
"meetupLocation": "Meyer Rd",
"category": "Vacuum Cleaner & Housekeeping",
"likesCount": 7,
"photos": ["https://…"],
"seller": { "username": "donglei88", "followers": 3, "soldCount": 42, "positiveReviews": 13, "dateJoined": "2018-10-22T07:14:48.000Z" },
"timeCreated": "2026-07-30T17:13:53.000Z",
"url": "https://www.carousell.sg/p/1430981890/"
}
FAQ
Do I need an account or any setup? No — just add search terms or Carousell URLs, set your options and run.
How many listings can I get?
Use maxItemsPerQuery to cap results per query or URL, or leave it open to collect the full result set for each search.
What export formats are supported? Export your results as JSON, CSV, Excel or XML, or pull them via the Apify API.
Can I connect this to other apps and services? The Carousell Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Notes
Use responsibly and in line with Carousell's Terms of Service. Data belongs to Carousell and the listing sellers.
Input
| Field | Type | Description |
|---|---|---|
queriesSearch queries | array | Search terms, one per line (e.g. "iphone 15", "nike shoes"). |
startUrlsStart URLs | array | Carousell search or listing URLs (e.g. https://www.carousell.sg/search/dyson/ or https://www.carousell.sg/p/1234567890/). Search URLs are paginated; listing URLs are scraped directly. |
scrapeDetailsScrape full listing details | boolean | Fetch each listing's full detail: complete description, all photos, meet-up location, full seller profile (followers, reviews, feedback score, response rate, items sold) and engagement (likes, offers). Default: false |
countryCountry | string · sg, my, id, hk, tw, au… | Carousell marketplace. Default: "sg" |
maxItemsPerQueryMax listings per query | integer | Cap listings per query/URL. Default: 200 |
proxyConfigurationProxy | object | Proxy used to reach the marketplace. The default (Apify residential in the selected country) works out of the box; you can switch groups or supply your own if you prefer. Default: {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~carousell-marketplace-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"queries": [
"iphone 15"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/carousell-marketplace-scraper").call(run_input={
"queries": [
"iphone 15"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/carousell-marketplace-scraper').call({
"queries": [
"iphone 15"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Listing scraped One Carousell listing returned | $0.004 | $0.002 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Carousell Scraper
Scrape Carousell search listings: title, price, condition, location, seller, photo and URL. Requires your own Carousell app token.
242 runs · 2 users · $0.003 / listing scrapedGoogle Flights Scraper
Scrape flight options from Google Flights by route and date: airline, flight number, departure and arrival times, duration, stops, layovers and price. One-way or round-trip, any cabin and currency. For travel and price monitoring.
216 runs · 4 users · $0.004 / flight scrapedPinterest Scraper
Search Pinterest and scrape pins (title, description, destination link, image, pinner, board, saves), boards and users. Fast. For visual research, e-commerce, trend and marketing analysis.
151 runs · 2 users · $0.0034 / item scrapedGoogle Trends Scraper
Scrape Google Trends for any keyword: interest over time, related and rising queries, and interest by region. Per country and timeframe. For SEO, market and trend research. No setup.
139 runs · 6 users · $0.001 / keyword scrapedAliExpress Product Search Scraper
Search AliExpress by keyword and export one clean row per product — title, sale price, original price, image and product URL. Export to JSON, CSV or Excel.
135 runs · 3 users · $0.003 / product scrapedGoogle Maps Scraper
Search Google Maps and scrape places: name, category, full address, city, coordinates, rating, phone, website, Place ID and map link. Fast browser-free via Google's internal endpoint, no setup. For local lead generation and market research.
130 runs · 2 users · $0.005 / place scrapedSend the site and the fields. We build it and you get it first.