Carousell Scraper [From $1💰] | 9 Markets | Seller Data
Pricing
from $1.00 / 1,000 results
Carousell Scraper [From $1💰] | 9 Markets | Seller Data
Extract Carousell listing data across all 9 markets — SG, MY, PH, HK, ID, TW, AU, CA, NZ. Get price, condition, seller rating, location, likes and images via Carousell's own JSON API. No login, no CAPTCHA. Built for price monitoring, reseller sourcing and market research.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
Carousell Scraper — Second-Hand Marketplace Data for 9 Markets
Extract Carousell listing and seller data for second-hand price monitoring, reseller sourcing and marketplace research across all 9 Carousell country markets — Singapore, Malaysia, Philippines, Hong Kong, Indonesia, Taiwan, Australia, Canada and New Zealand — including AU, CA and NZ that most Carousell scrapers skip. No browser, no login, no CAPTCHA solving: this actor replays the same JSON API surfaces Carousell's own web and mobile apps use, so runs are fast and cheap on compute.
Main Use Cases
- Second-hand price monitoring — numeric prices plus posted/bumped timestamps for time-series price tracking and drop alerts.
- Reseller & dropshipper inventory sourcing — source second-hand inventory by keyword across SG, MY, PH and beyond.
- Marketplace & consumer research — category, condition mix, likes and seller stats per market; compare 9 regional Carousell markets.
- Seller intelligence — rating, review counts, followers, response rate and join date attached to every listing (detail mode).
- Structured second-hand product databases — clean JSON records you can download as JSON, CSV or Excel for dashboards, apps and models.
How It Works
Carousell's search pages server-render an empty shell and load results client-side, so plain HTML scraping returns nothing. This actor replays the two structured JSON surfaces Carousell's own web and mobile apps use (reverse-engineered from the mweb-cdn.karousell.com JS bundles):
- Keyword search — internal DataService relay. GET the market homepage to harvest the
_csrfcookie +csrf-tokenheader, then POST the same search payload the apps use. Each response returns up to ~100 listing cards with title, price, condition, seller mini-profile, likes, geo and all photo URLs. - Listing details — internal relay, ~25 kB JSON per listing. Returns the complete record: exact numeric price, condition, full description, seller reputation (rating, reviews, followers, response rate, join date), meet-up locations with lat/lng, buyer-protection flag, timestamps and all photos. A server-rendered HTML fallback covers relay gaps automatically.
No DOM is ever built (HttpCrawler, raw bytes) — less CPU, less memory, cheaper runs.
Scrape Carousell Listings Without Login or CAPTCHA Solving
All data comes from publicly visible pages and public JSON responses — no accounts, no private messages, no CAPTCHA bypass, no paid anti-bot API. The site's Cloudflare edge only requires a clean residential/mobile egress IP (see Proxy section below).
Monitor Second-Hand Prices and Build a Price History
The API delivers numeric prices (price), the original display string (priceDisplay), ISO currency, item condition and both postedAt and bumpedAt timestamps. Run this actor daily on the Apify scheduler and append each run's dataset to build a price history for any keyword — phones, sneakers, designer furniture, watches, cards. Because prices are numeric and consistent, time-series analysis, drop alerts and percentile reporting are straightforward.
Research 9 Carousell Markets from One Actor
One input picks the market: sg, my, ph, hk, id, tw, au, ca, nz. The same keyword can be compared across Singapore, Malaysia, Philippines, Hong Kong, Indonesia, Taiwan, Australia, Canada and New Zealand marketplaces — regional price gaps, condition mix and seller behavior are the classic signals for second-hand market research and arbitrage scouting.
Carousell Seller Data for Sourcing and Due Diligence
Detail mode returns seller rating, review count, followers, response rate and join date, plus the seller profile URL. That turns raw listings into seller leads — for sourcing reliable inventory, checking buyer risk, or building a seller-reputation dataset for the marketplace.
Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
keywords | array of strings | no¹ | — | Keyword(s) to search; one search is run per keyword. Specific phrases (e.g. iphone 15 pro 256gb) beat head terms. |
listingUrls | array of strings | no¹ | — | Direct Carousell /p/... listing URLs to scrape in full detail. Market is auto-detected from the URL hostname. |
market | string | no | sg | One of sg, my, ph, hk, id, tw, au, ca, nz. Applies to keywords only. |
maxItems | integer | no | 50 | Max listings returned in total (min 1, max 2000). Free-plan runs are capped at 10 items. |
fetchDetails | boolean | no | true | true = full record (description, seller reputation, meet-up, category, all images). false = fast card data straight from the search JSON. |
concurrency | integer | no | 8 | Parallel requests (max 20). Detail pages are network-bound; higher = faster but more proxy load. |
maxRequestsPerCrawl | integer | no | 500 | Safety cap on total HTTP requests (search + detail). |
proxy | object | no² | SG residential | Apify proxy picker. Carousell blocks datacenter IPs with 403 — residential/mobile, ideally geo-matched. |
¹ At least one of keywords or listingUrls is required.
² Technically optional — but without a residential/mobile egress IP the run returns zero items (site blocks datacenter IPs).
Output
One dataset record per listing (detail mode fills every field; card mode fills the card-level subset). All 33 fields:
| Field | Type | Description |
|---|---|---|
id / title / url | string | Listing id, title, canonical URL |
price / priceDisplay / currency | number / string | Numeric price, original display string (e.g. S$730), ISO currency (e.g. SGD) |
condition / conditionCode | string | Condition text (detail) + raw code |
description | string | Full description (detail) or search snippet (card) |
sellerUsername / sellerProfileUrl / sellerId / sellerProfileImage | string | Seller identity + avatar |
sellerRating / sellerReviewCount / sellerFollowers / sellerResponseRate / sellerJoinedAt | number / string | Seller reputation (detail mode) |
location / meetups / latitude / longitude | string / number | Meet-up location + geo (lat/lng already in card mode) |
category / categorySlug | string | Category (detail mode) |
likes / status | number / string | Engagement + listing state |
buyerProtection | boolean | is_caroupay_enabled buyer-protection flag (detail mode) |
postedAt / bumpedAt | string | Creation / last-bump timestamps (ISO 8601) |
images | array | All photo URLs (detail) or thumbnails (card) |
market / keyword | string | Source market code + matched keyword |
Example Input
{"keywords": ["iphone 15 pro", "herman miller aeron"],"market": "sg","maxItems": 50,"fetchDetails": true,"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "SG" }}
Example Output
{"id": "1433031784","title": "Apple AirPods Max 2 - Midnight","url": "https://www.carousell.sg/p/apple-airpods-max-2-midnight-1433031784/","price": 730,"priceDisplay": "S$730","currency": "SGD","condition": "Brand new","conditionCode": "1","description": "Sealed unit, purchased from Apple SG...","sellerUsername": "stylestitch","sellerProfileUrl": "https://www.carousell.sg/u/stylestitch/","sellerId": "123456","sellerProfileImage": "https://media.karousell.com/...jpg","sellerRating": 5,"sellerReviewCount": 6,"location": "Woodlands MRT Interchange (NS9/TE2)","latitude": 1.436,"longitude": 103.786,"category": "Headphones & Headsets","likes": 3,"status": "L","buyerProtection": true,"postedAt": "2026-04-19T03:46:17Z","bumpedAt": "2026-09-15T17:14:33Z","images": ["https://media.karousell.com/...jpg"],"market": "sg","keyword": "airpods max 2"}
Integrations & Automation
- Apify REST API — start runs programmatically from any app or CI pipeline.
- Scheduler — for price monitoring, run daily (small
maxItems); for market research, run weekly and export the dataset. - Webhooks / Zapier / Make — push new-listing and price-change data into Sheets, Slack, databases or alerting tools via Apify's standard integrations.
- Output formats — every run's dataset downloads as JSON, CSV, Excel, HTML or XML.
Recurring scheduled runs are also the single best lever for Apify Store recommendations: the platform weighs how often an actor is re-run.
Related Actors
Second-hand marketplace data cluster (relevance first):
- Carousell Listings Scraper (piotrv1001) — the most-used Carousell actor; URL-based, carousell.sg focus.
- Carousell Listings Scraper (automation-lab) — keyword/URL-based Carousell scraping with optional detail enrichment.
- Vinted Scraper (crawlerbros) — second-hand fashion marketplace data across 19 countries.
- Xianyu Goofish Product Scraper (sian.agency) — China's largest second-hand resale marketplace.
- Wallapop Product Search (alvaraaz) — Spain's leading second-hand marketplace.
FAQ
Is there an official Carousell API?
No. Carousell Group does not publish a documented public API for marketplace data (there is no official Carousell API endpoint for third parties as of Sep 2026). This actor is a Carousell data API of its own: it replays the same public JSON surfaces Carousell's web and mobile apps use, and exposes them through the Apify REST API — so you get programmatic access, scheduling and dataset download without maintaining a scraper yourself.
Do I need a Carousell account or login to scrape listings?
No. The actor collects only publicly visible listing data — the same information any visitor sees without logging in. No accounts, no private messages, no CAPTCHA solving.
Why use this actor instead of an official Carousell API?
There is no official public API, and third-party reseller APIs charge per-request subscription fees. This actor is pay-per-event, covers all 9 country markets, and card mode returns ~100 listings per search request with no per-item charge (only detail fetches are billed).
What are the alternatives to this actor for Carousell data?
On Apify: the piotrv1001 and automation-lab Carousell scrapers above. Off-platform: RapidAPI resellers (paid subscriptions) or self-built scrapers (Selenium/BeautifulSoup, e.g. the public GitHub projects) — which break whenever Carousell changes its markup and need their own IP management. For second-hand marketplace data beyond Carousell, see the Related Actors section (Vinted, Goofish, Wallapop).
How does Carousell compare to Facebook Marketplace for second-hand data?
Both are classifieds marketplaces; in Singapore's inter-ministry e-commerce safety ratings they rank lowest, while Amazon/Lazada/Shopee score highest (Straits Times, 2023). For data work the practical differences: Carousell offers structured search JSON (which this actor uses), buyer-protection flags and seller reputation fields; Facebook Marketplace is harder to scrape consistently and prohibits scraping in its terms. Sellers often list on both — running this actor for Carousell plus a separate marketplace actor captures the overlap.
What is Carousell Certified and does the actor scrape it?
Carousell Certified is the platform's inspected/recommended resale program (inspection + money-back guarantee on certified bags, phones and cars). The search API returns whatever a keyword search surfaces — including Certified listings. Tip: head terms (e.g. iphone) skew toward Certified program listings; use specific phrases (e.g. iphone 15 pro 256gb) to reach regular user listings.
How can I scrape Carousell without getting blocked?
Carousell's Cloudflare edge blocks datacenter and most proxy-ASN IPs with HTTP 403. Enable the proxy input with residential or mobile IPs geo-matched to the market (e.g. SG exits for the Singapore market — this is the input default). Without an accepted egress IP a run returns zero items — that is the site blocking the IP, not an actor bug.
How do I track Carousell prices over time?
Prices are numeric with ISO currency and postedAt/bumpedAt timestamps. Schedule the actor daily with a fixed maxItems, append each run's dataset, and compute price changes, drop alerts or percentile stats. Card mode is cheap enough for daily scans.
What is the most reliable measurement for Carousell market research?
Per-market category and condition mix, likes, seller reputation distribution and bump cadence across the 9 markets give a comparable regional picture. Taiwan (tw) server-renders thinner results than SG/MY/PH — treat small TW result sets as expected.
How much does it cost to scrape Carousell?
The actor is pay-per-event: listing details fetched with Fetch details on are charged per event, plus a small actor-start fee per GB of memory. Card mode (fetchDetails off) uses ~1 request per 100 listings and no per-item detail charge. Runs on the free plan return up to 10 items as a preview. Keep maxItems small for cheap runs.
How do I get Carousell data into Excel or CSV?
Every run writes to an Apify dataset, downloadable as JSON, JSONL, CSV, Excel or HTML — no post-processing needed. Scheduled runs accumulate history for time-series analysis.
SEO Keywords
carousell scraper, carousell api, scrape carousell listings, carousell data extraction, carousell price monitoring, carousell price tracker, carousell seller data, carousell seller leads, second hand phone price tracker, carousell market research, carousell singapore, carousell malaysia, carousell philippines, carousell indonesia, carousell hong kong, carousell taiwan, carousell australia, carousell canada, carousell new zealand, second-hand marketplace data, resale price tracking southeast asia, used goods market research, carousell alternative api, carousell dataset, carousell certified used phones
For AI Agents & LLM Apps
This actor can be called from any LLM app or MCP client via the Apify API. Minimal reference:
Purpose: return structured Carousell listing records (price, condition, seller, geo, likes, timestamps, images) for keyword searches or direct listing URLs across 9 markets.
Minimal working input:
{ "keywords": ["iphone 15"], "market": "sg", "maxItems": 10 }
Variant — card mode (fast, no detail requests):
{ "keywords": ["iphone 15"], "market": "sg", "maxItems": 50, "fetchDetails": false }
Variant — direct listing URLs (market auto-detected from hostname):
{ "listingUrls": ["https://www.carousell.sg/p/apple-airpods-max-2-midnight-1433031784/"] }
Output field list: id, title, url, price, priceDisplay, currency, condition, conditionCode, description, sellerUsername, sellerProfileUrl, sellerId, sellerProfileImage, sellerRating, sellerReviewCount, sellerFollowers, sellerResponseRate, sellerJoinedAt, location, meetups, latitude, longitude, category, categorySlug, likes, status, buyerProtection, postedAt, bumpedAt, images, market, keyword.
Behaviors an agent should know:
- Proxy is effectively mandatory: Carousell 403s datacenter IPs. Leave the default
proxy(useApifyProxy: true,apifyProxyGroups: ["RESIDENTIAL"],apifyProxyCountrymatching the market) in place — removing it yields zero items. - Free-plan runs are capped at 10 items (
maxItemsabove that is honored only for paying users). - Each entry in
keywordstriggers its own search;marketapplies to keywords only —listingUrlsmarkets are auto-detected from the URL hostname. Both can be set in the same input. - If neither
keywordsnorlistingUrlsis set, the run fails with an input error. fetchDetailsdefaults to true: every collected listing then triggers an additional detail request, slower and billed per event. Setfalsefor fast card-level scans (no seller reputation, description, meet-up, category orbuyerProtection— only title, price, condition, seller + avatar, geo, likes, status, timestamps).maxItemscaps total output (1–2000, default 50);concurrency(default 8, max 20) trades speed against proxy load;maxRequestsPerCrawl(default 500) is a hard HTTP-request safety cap.- Specific search phrases outperform head terms (head terms skew toward Carousell Certified listings);
twmarket renders thinner results than SG/MY/PH. - Only public data is collected; seller contact details are never exposed.
Billing: pay-per-event — a base actor-start event (~USD 0.00005 per GB), a per-result event (USD 0.001), and a listing-detail event (USD 0.002) per listing fetched with fetchDetails: true. Card mode avoids the detail event. Keep maxItems small when cost-bounding.
Legal & Compliance Disclaimer
This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Carousell Group (an independent entity). Carousell is a registered trademark of its respective owner; this actor is not an official Carousell product.
The actor accesses only publicly available Carousell pages and public JSON responses — no login, no private-message data, no CAPTCHA bypass, no seller contact details. If you use a proxy, use one you are authorized to use.
You are responsible for your own compliance with Carousell's Terms of Use and applicable data-protection law (e.g. Singapore PDPA, and any law applicable in the market you target) when using the extracted data. Public seller handles and ratings are returned for identification and research purposes, not for harassment, impersonation or other unlawful use.
Competitive Positioning
Verified against public Apify Store pages (Sep 2026): the most-used Carousell actor (piotrv1001/carousell-listings-scraper, ~84 users) is carousell.sg-only and URL-based, priced per listing ($0.01 listing / $0.04 detail); automation-lab/carousell-listings-scraper adds a keyword input with browser rendering ($0.005 start + ~$0.007/item).
| Capability | This actor | piotrv1001 (most-used) | automation-lab |
|---|---|---|---|
| Market coverage | 9 markets (SG, MY, PH, HK, ID, TW, AU, CA, NZ) | carousell.sg only | keyword + market select |
| Keyword search | native keywords array (one search per keyword) | via search URLs in startUrls only | keywords or startUrls |
| Direct listing URLs | listingUrls array, market auto-detected | via startUrls | via startUrls |
| Card-mode cost | no per-item charge (detail events only) | $0.01 per listing | ~$0.007 per item |
| Detail-mode data | full seller profile (rating, reviews, followers, response rate, join date), buyer-protection flag, lat/lng, bump timestamps | seller profile basics | optional includeDetails |
Switching from the most-used Carousell scraper? It requires you to construct search-URL strings (startUrls) and only covers the Singapore domain. Here you type plain keywords, pick any of 9 markets, and card mode scans ~100 listings per request without per-item charges.