Carousell Listings Scraper
Pricing
from $10.00 / 1,000 product listings
Carousell Listings Scraper
Carousell Listings Scraper extracts product listings from carousell.sg search results and detail pages, capturing titles, prices, conditions, descriptions, images, seller profiles, and posting dates — perfect for marketplace research, price monitoring, and competitor analysis.
Pricing
from $10.00 / 1,000 product listings
Rating
0.0
(0)
Developer
FalconScrape
Maintained by CommunityActor stats
1
Bookmarked
95
Total users
7
Monthly active users
10 days ago
Last modified
Categories
Share
Carousell Listings Scraper
Extract product listings from Carousell.sg — Singapore's leading marketplace for buying and selling new and secondhand goods. The Carousell Listings Scraper gathers structured listing data for market research, price monitoring, and competitive analysis.
The other Carousell markets work the same way — paste a URL from Malaysia, the Philippines, Hong Kong, Taiwan or Indonesia. Prices come back in the local currency (MYR, PHP, HKD, TWD, IDR); the default Singapore proxy works for all of them.
Features
- Search & Browse: Scrape listings from keyword searches or category browse pages.
- Two Scraping Modes: Get quick card-level data or detailed listing information including full descriptions, seller profiles, and engagement metrics.
- Explicit listing type: Defaults to individual marketplace listings. Select
certifiedfor Carousell Certified product-family offers; the two sources are not silently mixed. - Anti-Bot Handling: Automatically handles bot protection so you get reliable results.
How It Works
- Provide Start URLs — Enter Carousell search or browse page URLs.
- Choose Scraping Depth — Enable "Scrape listing details" for full data (description, seller, likes) or disable for fast card-level extraction.
- Run the Scraper — The actor navigates the pages and extracts structured data.
Supported URL Formats
| Format | Example | Description |
|---|---|---|
| Keyword browse | https://www.carousell.sg/desk-lamp/q/ | User-to-user listings for a keyword |
| Search with params | https://www.carousell.sg/search/?query=iphone&sort_by=3 | Search results (primarily certified products) |
| Category browse | https://www.carousell.sg/categories/mobile-phones-17040/ | Browse by category |
| Direct listing | https://www.carousell.sg/p/listing-title-123456/ | Single listing detail page |
Source selection: iPhone searches can open on the Certified tab even on
/keyword/q/URLs. The Actor explicitly setstab=marketplaceby default, equivalent to clicking All. SetlistingType: "certified"to collect certified product-family offers instead. Direct listing URLs are visited unchanged.Certified card prices are often From prices, not quotes for the exact variant in the link. Output includes
listingTypeandpriceType(askingorfrom). Source model names and prices are preserved; they are not independently verified.Search extraction clicks Show more results up to
maxSearchPagesbatches andmaxItemsPerSearchunique cards per search URL. It stops when no new IDs appear. Output IDs are deduplicated across the run. On restart, state is reconciled against records already saved in the dataset to recover writes made after the last state checkpoint.maxRequestsPerCrawllimits crawler requests, not load-more batches. Overlapping searches may emit fewer new records than their per-search limit.
Input
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | array | Yes | — | Carousell search pages or individual listing URLs to scrape |
scrapeDetails | boolean | No | false | Visit each listing page for full data (description, all images, seller info). Disable for faster card-level extraction only. |
listingType | string | No | marketplace | Select marketplace or certified for search pages. |
maxItemsPerSearch | integer | No | 100 | Maximum unique cards per search URL (1–5000). |
maxSearchPages | integer | No | 5 | Maximum batches per search URL, including the first (1–50). |
maxRequestsPerCrawl | integer | No | 100 | Maximum total requests (search pages + detail pages). Set to 0 for unlimited. |
proxyConfiguration | object | No | Apify Proxy (SG) | Proxy settings. Uses Apify Proxy with Singapore location by default for best results. |
Sample Output Data
Card-level data (scrapeDetails: false)
{"listingId": "1428890606","url": "https://www.carousell.sg/p/vintage-blue-desk-lamp-ikea-1428890606/","title": "Vintage Blue Desk Lamp IKEA","price": 10.5,"currency": "SGD","condition": "Lightly used","seller": {"username": "","profileUrl": ""},"images": ["https://media.karousell.com/media/photos/products/2026/3/28/vintage_blue_desk_lamp_ikea_1774690568.jpg"],"timePosted": "","category": "","scrapedAt": "2026-03-28T09:52:17.527Z"}
Detail-level data (scrapeDetails: true)
{"listingId": "1428851262","url": "https://www.carousell.sg/p/ikea-black-adjustable-desk-lamp-1428851262/","title": "IKEA Black Adjustable Desk Lamp","price": 9,"currency": "SGD","condition": "Well used","description": "S$9 | Selling to clear due to house move","seller": {"username": "sol.handembroidery","profileUrl": "https://www.carousell.sg/u/sol.handembroidery/","rating": 5,"reviewCount": 29,"joinedDuration": "4 years"},"images": ["https://media.karousell.com/media/photos/products/2026/3/28/ikea_black_adjustable_desk_lam_1774679188.jpg","https://media.karousell.com/media/photos/products/2026/3/28/ikea_black_adjustable_desk_lam_1774679188_b190dd6d.jpg"],"imageCount": 2,"category": "","timePosted": "moments ago","isBumped": true,"views": null,"likes": null,"scrapedAt": "2026-03-28T09:55:58.394Z"}
The timePosted field reflects what Carousell publicly exposes on the listing page: the bump time when the seller has bumped the listing (with isBumped: true), otherwise the original post time. Carousell does not expose an absolute timestamp — only relative strings like "5 hours ago", "2 days ago", or "moments ago".
Pricing
This actor uses Pay Per Event pricing. You only pay for the results you get.
| Event | Description | Price |
|---|---|---|
listing-shallow | Each listing extracted in card-only mode (scrapeDetails: false) | $10 per 1,000 results |
listing-detail | Each listing extracted with full details (scrapeDetails: true) | $40 per 1,000 results |
No additional platform compute costs — proxy usage is included in the event pricing.