Goofish (闲鱼 Xianyu) Scraper - Search Listings + Item Details avatar

Goofish (闲鱼 Xianyu) Scraper - Search Listings + Item Details

Pricing

$5.99 / 1,000 listings

Go to Apify Store
Goofish (闲鱼 Xianyu) Scraper - Search Listings + Item Details

Goofish (闲鱼 Xianyu) Scraper - Search Listings + Item Details

Pricing

$5.99 / 1,000 listings

Rating

0.0

(0)

Developer

Lantern Lab

Lantern Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Security

Limited permissions

Share

Search Goofish (闲鱼 / Xianyu / Idlefish), China's largest second-hand marketplace, by keyword and get every listing back with its title, price, original price, want count (想要), location, seller nickname, publish time and photos. Turn on includeDetail to add the item page: full description, condition (成色), view count, favourites, item status, category and attributes (brand, model, storage...). No Goofish login, no cookies of yours.

Price: $5.99 per 1,000 listings, item details included. Partial rows, search-term status rows and the run summary are free, and so is a search term that finds nothing.

Quick example

Input:

{
"searchQueries": ["复合肥", "iPhone 15"],
"maxItems": 60,
"includeDetail": true
}

One listing row (recordType: "listing", shortened):

{
"recordType": "listing",
"itemId": "689378339669",
"url": "https://www.goofish.com/item?id=689378339669",
"title": "三安史丹利农用复合肥厂家直销农用化肥种菜家用种地用有机肥花肥",
"price": 19.99,
"priceText": "¥19.99",
"originalPrice": null,
"currency": "CNY",
"wantCount": 351,
"city": "山东",
"sellerNick": "北朝洗耳恭听的苏木",
"publishedAt": "2022-10-22T14:00:48.000Z",
"imageUrls": ["https://img.alicdn.com/bao/uploaded/i3/O1CN01gLFwWz2BWWLwZ9N1Z_!!0-fleamarket.jpg"],
"tags": [],
"description": "三安史丹利农用复合肥厂家直销 ... 复合肥19-19-19 【10斤】19.9元包邮 ...",
"condition": null,
"viewCount": 4299,
"favoriteCount": 63,
"itemStatus": "在线",
"sellerCity": "济南",
"category": "复合肥",
"properties": [{ "name": "分类", "value": "复合肥" }],
"shippingFee": 0,
"detailStatus": "ok",
"query": "复合肥",
"page": 1,
"rank": 1,
"partial": false,
"partialReason": null,
"collectedAt": "2026-10-24T03:10:12.411Z"
}

Limits

  • At most about 1,500 listings per search term. Goofish shows 30 listings per page and its pager stops at page 50. Ask for more and the term ends there; the query_status row says whether Goofish had more (moreAvailable).
  • city is the location on the search card, usually a province or a municipality (for example 山东, 上海). The seller's city (sellerCity, for example 济南) comes from the item page and needs includeDetail.
  • price is the asking price. For a listing with several options (for example 10斤 / 20斤 bags) it is the lowest one, where the item page shows a range such as ¥9.9 - 18.9. Coupon prices a shop shows on the item page (券后价) are not applied.
  • wantCount is null when the card shows no "N人想要" label. With includeDetail it is the exact number from the item page, including 0.
  • condition is filled only when the seller picked one. Many listings, especially shop-style ones, have none.
  • Goofish's anti-bot check sometimes refuses a search. The Actor never solves a slider. It retries once from a fresh browser on a new IP; if Goofish refuses again, that term is written as partial: true, partialReason: "blocked", which never means "no listings".
  • Search text with markup characters or emoji (< > & 😀) is refused by Goofish itself; that term is reported as partialReason: "query_rejected".
  • About 20 seconds for a term's first page and about 5 seconds per further page: search runs in a real browser on a mainland-China residential IP, which is the only way Goofish answers it. Item details add about 2-3 seconds per listing (measured: 180 listings with details in about 9 minutes).
  • Public data only: the seller's public nickname and city. No names, phone numbers or other personal contact details are collected.
  • No scheduling or monitoring built in; use Apify schedules.

What it does

  1. Opens goofish.com once in a real Chrome browser on Apify's residential proxy (China), then types each search term into the site's own search box and pages through the results with the site's own pager. Each page's listings are read from the site's own data, not scraped from HTML. Images, fonts and video are never downloaded.
  2. With includeDetail, reads each listing's item page data directly, which adds the description, condition, views, favourites, status, category, attributes, seller city and all photos.
  3. Writes one row per listing, deduplicated across all your search terms: a listing found by two terms is written and charged once.
  4. Writes one free query_status row per term and a RUN_SUMMARY row at the end.

Input

FieldDefaultWhat it does
searchQueriesrequiredSearch terms, Chinese or English, one per line (up to 100).
maxItems30Listings per search term (up to 1,500).
includeDetailfalseAdd the item page fields.
maxUpstreamRequestsderivedHard ceiling on requests to Goofish; leave empty to derive one from your input.
proxyConfigurationResidential, ChinaProxy for the search browser. Goofish search answers mainland-China residential IPs only.

Output

Every row has a recordType:

  • listing - one per listing. partial: true (free) means the listing was found but its item page could not be read; partialReason is item_not_found (removed since it was listed) or detail_unavailable, and detailStatus gives the cause.
  • query_status - one per search term: itemsReturned, itemsCharged, duplicatesSkipped, pagesRead, moreAvailable, and partial / partialReason (blocked, query_rejected, upstream_request_cap, charge_limit_reached, upstream_error, not_collected) with a plain-language statusText.
  • RUN_SUMMARY - totals for the run, also stored under the RUN_SUMMARY key of the run's key-value store.

publishedAt is Goofish's publish time; collectedAt is when this run read the listing. Prices are in CNY.