Goofish Detail Scraper | Listings, Prices and Sellers avatar

Goofish Detail Scraper | Listings, Prices and Sellers

Pricing

from $4.24 / 1,000 listings

Go to Apify Store
Goofish Detail Scraper | Listings, Prices and Sellers

Goofish Detail Scraper | Listings, Prices and Sellers

Goofish scraper (闲鱼, Xianyu) for listing details from links, listing IDs or a seller profile: price and original price, variants, condition, specs, photos, city with GPS, views, wants and the seller's sales and ratings. 20 listings in 5 seconds, 36 fields each. No login. Export to JSON, CSV, Excel.

Pricing

from $4.24 / 1,000 listings

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Categories

Share

Goofish Detail Scraper (闲鱼) | Listings, Prices and Seller Profiles by Link or ID (2026)

3 URLs. 20 Goofish listings. 36 fields per listing.

From SilentFlow. Creators of Pinterest Scraper and Leboncoin Scraper, with 420,000+ combined lifetime runs.

Turn Goofish (闲鱼, Xianyu) listings into clean rows you can sort, filter and share: the title and full description, the asking price next to the original price, every variant with its own price and stock, condition, brand and specs, every photo, the city with its GPS point, the publish date, views, wants and favorites, and the seller's profile with sales, reviews and reply rate. Paste listing links, listing IDs or a seller's profile link, and press Start. The prefilled form reads two listings from their links, two from their IDs, then the shop of a home-goods seller: on our test run it returned 20 listings in 8 seconds, all 20 with the seller's profile and the view and want counts. A column of 12 listing IDs came back as 12 full rows in 4 seconds. No Goofish account, no Chinese phone number, nothing to configure.

Why choose this actor?

Copying prices and photos out of the Xianyu app one listing at a time? Rebuilding links by hand because your sourcing sheet only stores listing IDs? Asked to price a whole reseller's shop when the only thing you have is the link to their profile?

  • Paste a column of listing IDs, straight from your sheet. Listing IDs have their own field next to the links, so a spreadsheet column goes in as it is, one ID per line, no link to rebuild. On our test run, 12 listing IDs pasted as they were, from a 1970s raincoat to a Fender strap lock, came back as 12 full rows in 4 seconds, each with its seller and counters.
  • Give it a seller, get the shop. A seller's profile link (goofish.com/personal?userId=…) is read listing by listing, each one in full detail, up to the number of listings you ask for. On our test run, one mobile listing link plus the profile link of a reseller of snacks and drinks returned 15 listings in 7 seconds, each with price, stock, city, wants and the seller's sales and ratings.
  • Nothing to fill in before the first run. No field is required: the form opens prefilled with two listings, two listing IDs and one seller, and runs as it is. Links alone start a run, IDs alone start a run. On our test run, the prefilled form returned 20 listings in 8 seconds without a single change.

Try Goofish Detail Scraper

Try your first listing

Paste this input in the JSON tab, or keep the prefilled form and press Start. It reads two listings from their links (a set of mineral-stone flower pots and a pack of instant noodles sold with 22 flavour and size options), two listings from their bare IDs, then the shop of a home-goods seller until the run holds 20 listings.

{
"startUrls": [
"https://www.goofish.com/item?id=1077250469672",
"https://www.goofish.com/item?id=1077222460430",
"https://www.goofish.com/personal?userId=2222697445141"
],
"itemIds": [
"844006355471",
"851578200316"
],
"maxItems": 20
}

Runs on the Apify Free plan: sign up, open the actor, press Start. Each listing lands as one row of the dataset, which you can open as a table, download as CSV, Excel or JSON, or read from the API. Replace the links with the listings you care about, paste your own IDs, or swap the seller for the shop you follow.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this scraper:

You have access to the Goofish Detail Scraper on Apify: silentflow/goofish-detail-scraper
It returns one dataset row per Goofish (闲鱼 / Xianyu) listing, in full detail.
Input (no field is required):
- startUrls (array of strings): listing links (https://www.goofish.com/item?id=1077250469672, mobile h5.m.goofish.com links too),
share links from the Xianyu app (https://m.tb.cn/h.xxxx, the whole copied share text is fine),
seller profile links (https://www.goofish.com/personal?userId=2222697445141) = that seller's listings.
- itemIds (array of strings): bare listing IDs, e.g. "844006355471".
- maxItems (integer, default 100): stop after this many listings in total.
- debugMode (boolean, default false): detailed log.
Listings named by link or ID are read before seller profiles. Duplicates are removed.
Output per listing (flat, null when Goofish shows nothing, dates in RFC 3339 UTC):
- id (string), url (string), title (string)
- description (string), category (string), categoryId (string), brand (string), condition (string, e.g. 全新),
isBrandNew (boolean), specs (array of {name, value}), labels (array of strings), topics (array of strings),
tradeMethod (string), listingType (string: buy_now, auction), status (string: online, sold, offline, deleted),
isAvailable (boolean), isFreeShipping (boolean), isBargainable (boolean),
variants (array of {skuId, options [{name, value}], price, quantity})
- sellerId, sellerName (masked by Goofish, e.g. 顺***货), sellerUrl, sellerAvatarUrl, sellerCity, sellerRegisteredAt,
sellerSoldCount, sellerItemCount, sellerPositiveRate (percent), sellerGoodReviews, sellerBadReviews,
sellerDefaultReviews, sellerReplyRate24h (percent), sellerAvgReplyMinutes, sellerLastActive,
sellerZhimaVerified (boolean), sellerVerifications (array of strings)
- price (number, CNY), currency ("CNY"), originalPrice (number), priceMin, priceMax (numbers, variants),
quantity, soldQuantity, shippingFee, viewCount, wantCount, favoriteCount (numbers)
- province, city, district (strings), latitude, longitude (numbers), publishedAt, updatedAt, refreshedAt (strings)
- imageUrl (string), images (array of strings)
- scrapedAt (string)
Use the apify-client package for Python or JavaScript, or the Apify MCP server.

How to scrape Goofish listings

Get the full detail of the listings you were sent

Paste the links as they came: desktop links, mobile links, or the text the Xianyu app copies when you press Share.

{
"startUrls": [
"https://www.goofish.com/item?id=1077250469672",
"https://h5.m.goofish.com/item?id=1075950679596"
]
}

Turn a column of listing IDs into a table

Copy the ID column of your sheet into the Listing IDs field. Each ID becomes one row with the same columns as a link would give.

{
"itemIds": [
"1076977959435",
"829696615412",
"841415898673",
"1075842193218",
"815338631706",
"1077787833912"
],
"maxItems": 6
}

Export a reseller's shop with every listing in full

Paste the seller's profile link and set how many listings you want. The run reads the shop in the order the seller shows it.

{
"startUrls": [
"https://www.goofish.com/personal?userId=3042061127"
],
"maxItems": 50
}

Input parameters

FieldTypeDefaultWhat it does
startUrlslist of stringsprefilledListing links, share links from the Xianyu app, and seller profile links, one per line. A seller profile returns that seller's listings.
itemIdslist of stringsprefilledBare Goofish listing IDs, one per line: the number after id= in a listing link.
maxItemsinteger100The run stops after this many listings in total, across links, IDs and seller profiles.
debugModebooleanfalseWrites a detailed log of each step. Leave it off unless support asks for it.

Formats accepted in startUrls and itemIds:

  • Desktop listing links: https://www.goofish.com/item?id=1077250469672 (extra parameters such as spm or categoryId are fine).
  • Mobile listing links: https://h5.m.goofish.com/item?id=1077250469672.
  • Older Xianyu links on 2.taobao.com/item.htm?id=….
  • Share links from the Xianyu app: https://m.tb.cn/h.…, alone or inside the full text the app copies (【闲鱼】https://m.tb.cn/h.… 「我在闲鱼发布了…」).
  • Seller profile links: https://www.goofish.com/personal?userId=2222697445141.
  • Bare listing IDs: 1077250469672 (9 to 20 digits).

Anything else (a search page, a keyword, a Taobao product link) is skipped and named in the log, and the rest of the run goes on. Listings you name by link or ID are always read before seller profiles, so a large shop never pushes them past your limit. A listing that appears twice, for example in a link and in a shop, is saved once.

What data can you extract from Goofish?

Each row is one listing, with 58 flat columns grouped the same way on every row, so a CSV or Excel export keeps one value per cell:

  • Identity (3): id, url, title. The id is Goofish's listing number and the url is the permanent listing page.
  • Listing content (16): the full description, category and categoryId, brand, condition as Goofish words it (全新 for brand new, 几乎全新 for almost new, 轻微使用痕迹 for light signs of use), isBrandNew, specs (every attribute the seller filled in, such as brand, material or model), labels, topics, tradeMethod (线上交易 for an online sale), listingType, status, isAvailable, isFreeShipping, isBargainable and variants, where each purchasable option comes with its own price and stock.
  • Seller (17): sellerId and sellerUrl, sellerName, sellerAvatarUrl, sellerCity, sellerRegisteredAt, sellerSoldCount (items sold so far), sellerItemCount (listings published), sellerPositiveRate, sellerGoodReviews, sellerBadReviews, sellerDefaultReviews, sellerReplyRate24h, sellerAvgReplyMinutes, sellerLastActive, sellerZhimaVerified and sellerVerifications (for example 实人认证已通过, real-name verified).
  • Prices and counters (11): price in yuan, currency, originalPrice when the seller states one, priceMin and priceMax across variants, quantity, soldQuantity, shippingFee, viewCount, wantCount (the "人想要" count shown on Goofish) and favoriteCount.
  • Place and time (8): province, city, district, latitude and longitude when the seller published a location, publishedAt, updatedAt and refreshedAt (the last time the seller bumped the listing), all in RFC 3339 UTC.
  • Photos (2): imageUrl (the cover) and images (every photo in order, full size, https links).
  • Run (1): scrapedAt.

On our test runs of 17 October 2026, 52 of these columns were filled on at least half of the rows of the prefilled run (20 listings), and 50 on the run of 12 listing IDs and on the run of a seller's shop. Brand, original price, variants and the GPS point appear when the seller filled them in; a value Goofish does not show is null, never an empty text.

Output example

One complete row from the prefilled run, a set of mineral-stone flower pots listed by a home-goods seller in Shenzhen:

{
"id": "1077250469672",
"url": "https://www.goofish.com/item?id=1077250469672",
"title": "15.55元创意控形盆!麦饭石多肉花盆带脚透气",
"description": "「拇指盆控养神器」超值上新!15.55元带走6个个性控养盆,多肉控必入!\n「麦饭石材质」颗粒大颗粒大颗粒大!强透气吸水,多肉长得旺旺旺~\n「创意个性」彩色控形,养出独特色彩!底部带脚设计,摆放更灵活~\n「手工特色」表面有天然小纹路,纯手工烧制,每一盆都是艺术品!\n【注意】尺寸:口径约7cm,高5cm,手工测量有±0.5-1cm误差哦~\n「破损处理」收到货有破碎?放心签收拍照找客服,包赔不嫌烦~\n「限发区域」西藏/新疆/甘肃/宁夏/青海/内蒙暂不发货,抱歉啦~\n\n(西藏新疆甘肃宁夏青海内蒙古地区的宝子们,这次真的没办法发货啦~下次有机会一定补上!)",
"category": "花盆",
"categoryId": "50025402",
"brand": "景德镇",
"condition": "全新",
"isBrandNew": true,
"specs": [
{
"name": "品牌",
"value": "景德镇"
},
{
"name": "成色",
"value": "全新"
},
{
"name": "材质",
"value": "陶瓷"
}
],
"labels": [
"花盆",
"景德镇",
"全新",
"陶瓷"
],
"topics": null,
"tradeMethod": "线上交易",
"listingType": "buy_now",
"status": "online",
"isAvailable": true,
"isFreeShipping": true,
"isBargainable": true,
"variants": null,
"sellerId": "2222697445141",
"sellerName": "顺***货",
"sellerUrl": "https://www.goofish.com/personal?userId=2222697445141",
"sellerAvatarUrl": "https://gtms03.alicdn.com/tps/i3/TB1LFGeKVXXXXbCaXXX07tlTXXX-200-200.png",
"sellerCity": "深圳",
"sellerRegisteredAt": "2026-06-30T06:50:28Z",
"sellerSoldCount": 153,
"sellerItemCount": 27934,
"sellerPositiveRate": 100,
"sellerGoodReviews": 4,
"sellerBadReviews": 0,
"sellerDefaultReviews": 36,
"sellerReplyRate24h": 74.55,
"sellerAvgReplyMinutes": 175,
"sellerLastActive": "1小时前来过",
"sellerZhimaVerified": true,
"sellerVerifications": [
"实人认证已通过"
],
"price": 20.99,
"currency": "CNY",
"originalPrice": 25.19,
"priceMin": null,
"priceMax": null,
"quantity": 999,
"soldQuantity": 0,
"shippingFee": 0,
"viewCount": 90,
"wantCount": 0,
"favoriteCount": 1,
"province": "广东",
"city": "深圳",
"district": "南山区",
"latitude": 22.533191,
"longitude": 113.930478,
"publishedAt": "2026-08-21T13:52:35Z",
"updatedAt": "2026-08-21T13:52:37Z",
"refreshedAt": null,
"imageUrl": "https://img.alicdn.com/bao/uploaded/i4/O1CN01rnDhoxzGVDD1chys_!!4611686018427385621-0-fleamarket.jpg",
"images": [
"https://img.alicdn.com/bao/uploaded/i4/O1CN01rnDhoxzGVDD1chys_!!4611686018427385621-0-fleamarket.jpg",
"https://img.alicdn.com/bao/uploaded/i1/O1CN01ayR7zSDn19E1chrM_!!4611686018427385621-0-fleamarket.jpg",
"https://img.alicdn.com/bao/uploaded/i4/O1CN01GbnoppJCgBH1chrM_!!4611686018427385621-0-fleamarket.jpg",
"https://img.alicdn.com/bao/uploaded/i2/O1CN01DGxfER3wEMF1chrM_!!4611686018427385621-0-fleamarket.jpg",
"https://img.alicdn.com/bao/uploaded/i3/O1CN01BhRNPLCgkIE1chyt_!!4611686018427385621-0-fleamarket.jpg",
"https://img.alicdn.com/bao/uploaded/i4/O1CN01eAYSAnynLAD1chyt_!!4611686018427385621-0-fleamarket.jpg",
"https://img.alicdn.com/bao/uploaded/i3/O1CN01TRZjw60QRFG1ci4c_!!4611686018427385621-0-fleamarket.jpg",
"https://img.alicdn.com/bao/uploaded/i1/O1CN01cM6SECa55SH1ci4c_!!4611686018427385621-0-fleamarket.jpg",
"https://img.alicdn.com/bao/uploaded/i3/O1CN01P75QxkRNnuF1ci4c_!!4611686018427385621-0-fleamarket.jpg"
],
"scrapedAt": "2026-10-17T10:02:09Z"
}

Advanced usage

Check which listings are still for sale

Sold and removed listings keep their row: the run returns their last known details with status set to sold, offline or deleted, and isAvailable set to false. Run your watchlist every morning and filter on status to see what left the market and at what price.

{
"itemIds": [
"1045244773159",
"1056437626912",
"1077250469672",
"844006355471"
]
}

Track a reseller's prices on a schedule

Save this input as a task and add a daily schedule in the Apify Console. Each run is a dated snapshot of the shop: compare price, soldQuantity and wantCount between runs to see what sells and what gets discounted.

{
"startUrls": [
"https://www.goofish.com/personal?userId=3042061127"
],
"maxItems": 200
}

Links from the mobile site and from the older Xianyu address on 2.taobao.com are read like desktop links, so a list collected on a phone or kept in an old sheet goes in as it is.

{
"startUrls": [
"https://h5.m.goofish.com/item?id=1075950679596",
"https://2.taobao.com/item.htm?id=1091570880334",
"https://www.goofish.com/item?spm=a21ybx.home.feeds.1&id=1077250469672"
]
}

A share link copied from the Xianyu app (https://m.tb.cn/h.…) can go in the same list, alone or inside the text the app copies. One that no longer opens a listing is skipped with a message in the log, and the other entries of the run carry on.

Links, IDs and seller profiles go in the same run. The listings you name come first, then the shops fill the run up to maxItems, and a listing found twice is saved once.

{
"startUrls": [
"https://www.goofish.com/item?id=1091570880334",
"https://www.goofish.com/personal?userId=2212274943053",
"https://www.goofish.com/personal?userId=2217564808130"
],
"itemIds": [
"1075785674646",
"852424820339"
],
"maxItems": 30
}

Feed a price sheet or a database

Every run's dataset can be pulled as CSV, Excel or JSON from the Apify API, which plugs into Google Sheets (IMPORTDATA), Make, Zapier or your own code:

https://api.apify.com/v2/datasets/{DATASET_ID}/items?format=csv&token=YOUR_API_TOKEN

For a lean sheet, add &fields=id,title,price,originalPrice,condition,city,sellerName,wantCount,url to keep the columns you need, or &view=overview for the same table as the Console. Run it with an input like this one to price a set of listings at once:

{
"itemIds": [
"1077222460430",
"1091570880334",
"1075950679596"
],
"maxItems": 3
}

FAQ

What is Goofish (闲鱼)? Goofish, called Xianyu (闲鱼, "idle fish") in China, is Alibaba's second-hand marketplace, the Chinese counterpart of eBay or Mercari. Individuals and small shops sell used phones, cameras, designer bags, sneakers, collectibles and new surplus stock there. goofish.com is its web address.

Do I need a Goofish, Taobao or Alipay account? No. The actor reads the public listing data anyone can open, without logging in, without a Chinese phone number and without any key to set up.

What can I paste in the input? Listing links from the website or the mobile site, share links copied from the Xianyu app (the whole share text works), seller profile links, and bare listing IDs. The full list is under Input parameters.

Can I search Goofish by keyword? Not with this actor: it reads the listings you point it at, by link, ID or seller. To build a list from a keyword, run a Goofish search tool first, then paste its links or IDs here for the full detail.

Why is the seller name partly hidden? Goofish itself shows seller names with stars in the middle (顺***货) to visitors who are not logged in, and the actor returns the name as Goofish shows it. sellerId and sellerUrl are exact, so you can group listings by seller and open the shop.

What happens to sold or removed listings? They are still returned with their last known details: title, description, price, photos and place, with status set to sold, offline or deleted and isAvailable false. An ID Goofish has never had is skipped and named in the log, never returned as an empty row.

Why are the counters or seller columns empty on some rows? Views, wants, favorites and the seller profile come from a second page of each listing that Goofish sometimes limits for a while. When that happens, the listing still ships with all its listing fields and only those columns are null; listings read from a seller profile still carry sellerId, sellerUrl and the wants count shown in the shop. On our three test runs of 17 October 2026, all 47 listings came with them. Earlier that day, after a long series of test reads from one connection, they were missing for about 50 minutes, and those runs still delivered every listing with all its listing fields.

How fresh is the data? Live. Every run reads Goofish at that moment, nothing is cached, and scrapedAt records when each row was read. Prices, stock and counters change daily, so date your comparisons with it.

How many listings can one run read? As many as you set in maxItems (100 by default), across links, IDs and seller profiles. On our test runs, 20 listings took 8 seconds, 15 listings 7 seconds and 12 listings 4 seconds. For large shops, raise maxItems and let the run page through the seller's listings.

Are the photo and listing links permanent? url and sellerUrl are permanent pages. Photo links (imageUrl, images) point to Alibaba's image servers and stay valid while the listing exists; download the photos if you need to keep them after a listing is deleted.

Can AI agents use this actor? Yes. It runs from the Apify API and the Apify MCP server, needs no required field, and the "Copy to your AI assistant" block above gives an assistant the whole input and output in one paste.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

📈 Marketing

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available data from Goofish (闲鱼, Xianyu). It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with Goofish's terms of service and with applicable data protection laws (GDPR in the European Union, CCPA in California, and PIPL in China where relevant). Rows carry sellers' public profile details (masked name, avatar, city, registration date and ratings) and the place a listing was published from, which are personal data when the seller is an individual: handle them accordingly when you store, analyse or contact them. Photos and descriptions belong to their sellers; check your rights before you republish them. The data returned is informational: prices and stock change every day, so date your analyses with scrapedAt.

Goofish Detail Scraper by SilentFlow: every listing you link, list or find in a seller's shop, with its price, condition, photos, place and seller, in one table.