Daangn Scraper $1💰 Listings, Sellers, Regions & Categories avatar

Daangn Scraper $1💰 Listings, Sellers, Regions & Categories

Pricing

from $1.00 / 1,000 listing scrapeds

Go to Apify Store
Daangn Scraper $1💰 Listings, Sellers, Regions & Categories

Daangn Scraper $1💰 Listings, Sellers, Regions & Categories

From $1/1K. Scrape Daangn (당근) marketplace listings by keyword and region. Returns 35+ fields per item including price, status, condition, full image set, region, category and seller profile (nickname, score, reviews). Search and URL modes, category and on-sale filters, price range and sort.

Pricing

from $1.00 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

43 minutes ago

Last modified

Share

Daangn Scraper

Collect structured listing data from Daangn (당근), Korea's largest local marketplace, by keyword and region. The scraper returns rich, ready-to-use records: price, status, condition, the full image set, region, category and the seller profile (nickname, score, review count). Run it by keyword, by region, or by pasting Daangn search and detail URLs, and pipe the results straight into your spreadsheet, database or apps.

Why This Scraper?

  • 35+ fields per listing, including the full image set, region tree, category and the complete seller profile, not just a title and a price.
  • Two ways to run: search by keyword + region, or paste any Daangn search or detail URL.
  • Server-side category and on-sale filters plus price-range and sort controls.
  • One simple limit: set Max items and the run stops there. No confusing second cap.
  • Optional detail enrichment adds description, view/chat/favorite counts and the seller profile per item.
  • Optional one-click export into Notion, Linear, Airtable or Apify via MCP connectors.
  • Runs on the default datacenter proxy on every plan; switch to Residential (country KR) for the most reliable results.

Data You Get

Sample shape: values are illustrative placeholders, not from a live listing.

FieldExample
id"0000000000"
nodeId"a0b0c0d0e0f0"
url"https://www.daangn.com/kr/buy-sell/sample-a0b0c0d0e0f0/"
title"iPhone 15 256GB Blue"
price480000
priceText"480,000원"
isFreefalse
currency"KRW"
status"Ongoing"
condition"used"
content"Lightly used, battery health 90%."
location"Sample-dong"
region.name"Sample-dong"
region.id"000"
category.name"Digital"
category.id"1"
sellerName"Jane Doe"
user.score39.2
user.reviewCount23
watchesCount12
chatRoomsCount6
readsCount733
createdAt"2026-01-01T00:00:00.000+09:00"
imageUrl"https://img.example.com/sample_0.webp"

How to Use

Search by keyword in one region:

{
"mode": "search",
"searchQueries": ["노트북"],
"locations": ["366"],
"maxItems": 50,
"fetchDetails": true
}

Search several keywords across several regions with a price range:

{
"mode": "search",
"searchQueries": ["노트북", "의자"],
"locations": ["366", "6187"],
"priceMin": 50000,
"priceMax": 300000,
"sortBy": "price_asc",
"maxItems": 100
}

Paste Daangn URLs directly:

{
"mode": "url",
"urls": [
"https://www.daangn.com/kr/buy-sell/s/?search=%EB%85%B8%ED%8A%B8%EB%B6%81&region_id=366",
"https://www.daangn.com/kr/buy-sell/sample-a0b0c0d0e0f0/"
],
"fetchDetails": true,
"maxItems": 40
}

Track a search over repeated scheduled runs (Incremental mode):

{
"mode": "search",
"searchQueries": ["노트북"],
"locations": ["366"],
"incrementalMode": true,
"emitExpired": true,
"maxItems": 0
}

Input Parameters

FieldTypeDescription
modestring"search" builds searches from your keywords + regions + filters; "url" uses pasted Daangn URLs.
searchQueriesarrayKeywords to search for (search mode). Each is scraped independently.
locationsarrayNumeric Daangn region ids to center the search on. Empty = region resolved from the connection.
categoryIdintegerRestrict to one Daangn category id (e.g. 1 Digital, 8 Furniture). Empty = all.
onlyOnSalebooleanReturn only listings still on sale (excludes reserved/completed).
priceMinintegerOnly listings priced at or above this amount (KRW).
priceMaxintegerOnly listings priced at or below this amount (KRW).
sortBystring"recommended", "recent", "price_asc" or "price_desc".
urlsarrayDaangn search or detail URLs (URL mode). Filter fields are ignored.
fetchDetailsbooleanVisit each listing page for description, image set, counts and seller profile.
maxItemsintegerThe single run cap. Stop after this many listings. 0 = unlimited.
maxPagesintegerSafety bound on result pages per query. Empty = unlimited; the run stops at Max items.
resumeFromRunIdstringContinue one specific interrupted run: paste a previous run id or dataset id and already-collected listings are skipped.
incrementalModebooleanTrack this same search over repeated scheduled runs; returns only NEW/UPDATED/REAPPEARED (and optionally EXPIRED) listings. Default off.
stateKeystringOptional name for the Incremental mode baseline. Empty = auto-derived from your search settings.
emitUnchangedbooleanIncremental mode: also return (and bill) listings with no change since last run. Default off.
emitExpiredbooleanIncremental mode: also return (and bill) listings no longer found, once a run completes a full scan. Default off.
proxyobjectConnection settings. Datacenter is the default and works on every plan; Residential (country KR) is the most reliable.
maxResidentialMBintegerResidential traffic budget in MB. After the cap the run continues on the lower-cost datacenter proxy (same data). 0 = unlimited.
mcpConnectorsarrayOptional MCP connectors to export results into (Notion, Linear, Airtable, Apify).
notionParentPageUrlstringNotion page under which item pages are created (Notion connector only).
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Output Example

Sample shape: values are illustrative placeholders, not from a live listing.

{
"id": "0000000000",
"nodeId": "a0b0c0d0e0f0",
"url": "https://www.daangn.com/kr/buy-sell/sample-a0b0c0d0e0f0/",
"title": "iPhone 15 256GB Blue",
"content": "Lightly used, battery health 90%.",
"description": "Lightly used, battery health 90%.",
"status": "Ongoing",
"condition": "used",
"listingType": "FleamarketArticle",
"price": 480000,
"priceText": "480,000원",
"isFree": false,
"currency": "KRW",
"countryCode": "KR",
"createdAt": "2026-01-01T00:00:00.000+09:00",
"postedAt": "2026-01-01T00:00:00.000+09:00",
"publishedAt": "2026-01-01T00:00:00.000+09:00",
"imageUrl": "https://img.example.com/sample_0.webp",
"images": ["https://img.example.com/sample_0.webp"],
"location": "Sample-dong",
"locationName": null,
"regionSlug": "sample-dong-000",
"searchQuery": "노트북",
"region": { "id": "000", "name": "Sample-dong", "countryCode": "KR" },
"category": { "id": "1", "name": "Digital" },
"user": { "nickname": "Jane Doe", "score": 39.2, "reviewCount": 23, "locationName": null },
"tradingLocation": { "name": "Sample-dong", "isUserInput": null, "latitude": null, "longitude": null },
"sellerName": "Jane Doe",
"watchesCount": 12,
"chatRoomsCount": 6,
"readsCount": 733
}

Resume & recurring updates

Two separate features cover two separate needs:

  • resumeFromRunId continues ONE specific interrupted run. Paste the run id or dataset id from a previous run that got cut off (timeout, item cap, connection issue) and this run skips every listing it already collected, so you don't pay to re-scrape and re-download what you already have.
  • incrementalMode tracks the SAME search across many scheduled runs on its own — no id to paste. Turn it on and schedule the actor (e.g. daily); each run compares against a baseline it remembers itself (keyed by your search settings, or your own State key) and returns only changeType: "NEW", "UPDATED" or "REAPPEARED" listings, plus changedFields, firstSeenAt and lastSeenAt. Unchanged listings are neither returned nor billed unless you turn on Emit unchanged listings. Listings that disappear are only reported as "EXPIRED" (and only if Emit expired listings is on) once a run completes a full, uncapped scan of the search — a run limited by Max items (the default is 20) never reports EXPIRED, since it never proved those listings are actually gone.
  • The baseline for Incremental mode is keyed on your search settings (mode, keywords, regions, category, on-sale, price range, sort, URLs, fetch details) — not on Max items/Max pages/the residential budget/the connector export cap, so raising a limit keeps your existing baseline instead of starting over and re-billing everything.
  • Volatility note: Daangn listings carry live engagement counters (chatCount, chatRoomsCount, favoriteCount, readsCount, viewCount, watchesCount) and a re-boost timestamp (boostedAt) that change from other users' activity, independent of the listing itself. Incremental mode deliberately ignores these (along with seller reputation fields and the search keyword that found the listing) when deciding NEW/UPDATED/UNCHANGED, so a listing isn't reported as "changed" every run just because someone viewed or bumped it. A real change to price, status, condition, title, description or images always still triggers "UPDATED".

Export to your apps (MCP connectors)

You can optionally pipe each run's results into the apps you already use through Model Context Protocol (MCP) connectors. Authorize a connector under Apify -> Settings -> API & Integrations, then select it in the mcpConnectors field. Notion receives a rich page per item (set notionParentPageUrl to the parent page); Linear, Airtable and Apify receive a best-effort write or digest. This never changes the dataset output, and any connector error is logged and skipped without affecting the scrape.

If a run returns nothing

Daangn's search occasionally answers with zero listings for a keyword and region that really does have results. The run retries the search on a fresh connection a few times before giving up, and if it still gets nothing it says so in the status message and asks you to run it again shortly. A run like that is treated as an incomplete scan, so in Incremental mode it never marks your tracked listings as EXPIRED and never touches your saved baseline. Running it again a minute later normally returns the full result set.

Plan Requirement

This scraper runs on the default datacenter proxy on any plan, including the free tier, and returns the same Daangn data as residential, so it is the recommended default.

For maximum reliability you can switch the proxy to Apify Residential with country KR (requires a plan that includes Residential proxy access). When on residential, set a Residential traffic budget (MB) to cap spend: once the budget is reached the run continues on the default datacenter proxy for the rest of the run, with identical results.