Goofish Scraper — Xianyu C2C Listings, Item Detail & Seller avatar

Goofish Scraper — Xianyu C2C Listings, Item Detail & Seller

Pricing

from $5.00 / 1,000 listing scrapeds

Go to Apify Store
Goofish Scraper — Xianyu C2C Listings, Item Detail & Seller

Goofish Scraper — Xianyu C2C Listings, Item Detail & Seller

Scrape Goofish (闲鱼/Xianyu — Alibaba C2C secondhand marketplace) by keyword, item URL/ID, or seller URL/ID. Returns title, price, condition, location, image, seller (Zhima credit, verification). Cookieless via MTOP XHR. Three modes auto-detected. MCP-ready.

Pricing

from $5.00 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

4 days ago

Last modified

Share

Scrape Goofish (闲鱼/Xianyu — Alibaba's C2C secondhand marketplace) by keyword, item URL/ID, or seller URL/ID. Cookieless. MCP-ready.

What it does

Pass a search keyword, item URL/ID, or seller URL/ID — get back structured Goofish listings:

FieldTypeDescription
modestringsearch, detail, or seller
itemIdstringGoofish numeric item ID
titlestringListing title (Chinese / English)
pricenumberCurrent price in CNY (¥)
originalPricenumberStrike-through price (when present)
conditionstring全新 / 99新 / 9成新 etc.
city, provincestringSeller location
image, images[]stringImage URLs (full gallery in detail mode)
descriptionstringFull listing description (detail mode)
wantCount, viewCountintWant / view counters (detail mode)
publishedAtISO 8601Publish or last-bump time
sellerobject{ nickname, userId, zhimaCredit, verified, totalSold, totalListed }
itemUrlstringhttps://www.goofish.com/item?id=...
searchQuery, positionstring, intEcho + result rank (search mode)
scrapedAtISO 8601When this record was captured

When to use it

  • Resellers / arbitrage — China secondhand price intelligence.
  • Market researchers — track demand & pricing on a category in mainland China's biggest C2C platform.
  • AI monitoring agents — clean tool call: keyword in, listings out.
  • Product designers / collectors — niche listings (BJD, retro games, vintage cameras) surfaced fast.

When NOT to use it

  • Taobao / Tmall (B2C) — Goofish is C2C only. For Taobao use a Taobao scraper.
  • AliExpress — see khadinakbar/aliexpress-product-search-scraper.
  • Goofish account automation (publish, message, buy) — out of scope; this is read-only public data.

Pricing — Pay-Per-Event + Pay-Per-Usage

Both monetization models are enabled. Pick whichever fits your run.

EventPriceWhen
apify-actor-start$0.00005once per run, scaled by RAM
listing-scraped$0.005 / listingsearch & seller modes (no detail enrichment)
listing-enriched-with-detail$0.008 / listingdetail mode or fetchDetails: true

Filtered-out listings are not charged (priceMin, priceMax, condition, publishedWithinDays filter client-side before charge).

Cost-cap visibility: every run logs the upfront max cost before the first charge fires.

Quick start

From Apify Console

Open the actor → click Run with the default input (searchQuery: "iPhone 15 Pro"). Returns up to 30 listings.

From code

// JavaScript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('khadinakbar/goofish-scraper').call({
searchQuery: 'Sony A7 III',
maxResults: 50,
sortBy: 'newest',
priceMin: 5000,
priceMax: 12000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
# Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("khadinakbar/goofish-scraper").call(run_input={
"searchQuery": "手办",
"maxResults": 30,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["price"], item["itemUrl"])
# CLI
apify call khadinakbar/goofish-scraper --input='{"searchQuery":"iPhone 15 Pro","maxResults":20}'

Detail mode — specific item

{ "startUrls": ["https://www.goofish.com/item?id=1234567890"] }

or

{ "itemIds": ["1234567890", "9876543210"], "fetchDetails": true }

Seller mode — listings from one seller

{ "sellerIds": ["2200000000000"], "maxResults": 100 }

Modes auto-detected from input

Input you giveMode
searchQuerysearch
startUrls matching /search?q=search
startUrls matching /item?id=detail
startUrls matching /personal?userId=seller
itemIdsdetail
sellerIdsseller

You can combine all of them in one run.

Input filters

FilterWhat it does
sortByrelevance, newest, priceAsc, priceDesc (search mode)
priceMin / priceMaxCNY range (client-side, filtered before charge)
conditionall / used / new (matches 全新, 未拆, new for "new"; everything else = used)
publishedWithinDaysonly listings posted within N days
fetchDetailsenrich every listing with detail page (bills enriched rate)

MCP / AI-agent usage

The actor is exposed in Apify MCP as apify--goofish-scraper. From Claude, ChatGPT, or any MCP client:

search-actors: "goofish"
call-actor name="khadinakbar/goofish-scraper" input={"searchQuery":"...","maxResults":20}
get-actor-output runId=...

Tool description is intentionally narrow (read-only public Goofish data); pricing signal is on the listing — so AI agents budget per call before invoking.

How it works

PlaywrightCrawler navigates Goofish public web URLs; an XHR response interceptor catches Alibaba MTOP responses (mtop.taobao.idlemtopsearch.pc.search, mtop.taobao.idle.pc.detail) and parses the JSON. No login. No cookies you have to provide. No signature crypto on your side — the browser does it.

Proxy resilience:

  1. DATAIMPULSE_PROXY env var (residential, primary if set).
  2. Apify Residential (apifyProxyGroups: ["RESIDENTIAL"]).
  3. Apify Datacenter US fallback.

The actor probes candidates in order and picks the first that responds. Resource blocking (images, fonts, media) keeps cost down without losing the MTOP XHRs.

Limitations

  • Goofish ships from mainland China; some IPs may serve degraded content or trigger soft blocks. The actor retries with session rotation; failures terminate honestly (charge $0, status message explains).
  • Some private listings, "seller-only" channels, or login-walled content cannot be scraped.
  • Pricing on listings is the live ask from the seller; sold prices and bargain history are not surfaced by the public web app.

Goofish is operated by Alibaba Group. Scraping public listings is generally permitted for personal/research use under most jurisdictions, but you are responsible for compliance with Goofish/Alibaba Terms of Service, robots.txt, applicable data-protection law (PIPL, GDPR), and any restrictions of your jurisdiction. Do not scrape personally identifiable information beyond what Goofish publishes publicly on the listing. Do not use scraped data to harass, contact, dox, or otherwise harm sellers.

This actor performs read-only HTTP access to Goofish's public web interface — no login, no automated buying, no account operations.

Support

Open an issue in the Apify Console Issues tab. The actor is actively maintained.