Goofish Search Scraper — 闲鱼 Keyword Listings
Pricing
from $8.00 / 1,000 goofish listing founds
Goofish Search Scraper — 闲鱼 Keyword Listings
Search Goofish (闲鱼/Xianyu) by keyword or search URL. Returns indexed public listings: title, price, item URL, snippet. Cookieless Google discovery, no login. MCP-ready.
Pricing
from $8.00 / 1,000 goofish listing founds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Goofish Search Scraper
Search public Goofish (闲鱼 / Xianyu) listings by keyword and get one dataset row per indexed item page: item ID, title, yuan price when the public snippet shows it, condition cues, canonical item URL, Google snippet, and scrapedAt. Each run also writes OUTPUT / RUN_SUMMARY so agents can tell a complete export from an empty index or a provider that needs a later retry.
This actor is designed as a focused standalone workflow for Goofish keyword search. It does not open live 闲鱼 rank, chat, or seller stores.
Best Fit
Choose this actor when the starting point is a product keyword or a Goofish /search?q= URL and the job is a listing table, not a known item ID. It works well for electronics sourcing, used-phone price scans, and Chinese-term discovery. Pair it with the Goofish Scraper when you already have an item or seller URL and need that page's public detail. Continue with the Alibaba Listings Scraper after this export when you want B2B search cards from Alibaba instead of 闲鱼 C2C listings.
How To Use
Open the Input tab, keep the prefill keyword iPhone 15 (or paste a Chinese term such as 小米), leave maxResults at 5 for a cheap test, and start the actor. Download JSON, CSV, or Excel from the dataset when it finishes. Confirm RUN_SUMMARY.outcome before raising the cap.
Input
{"keywords": ["iPhone 15"],"maxResults": 5,"maxPagesPerKeyword": 1}
| Input | Default | Notes |
|---|---|---|
keywords | ["iPhone 15"] | One or more phrases, up to 10. Chinese terms usually match more listings than pinyin. |
searchUrls | none | Optional https://www.goofish.com/search?q=... URLs. Item and seller URLs are rejected. |
maxResults | 20 | Unique listings saved and billed this run. Prefill is 5. Maximum 50. |
maxPagesPerKeyword | 2 | Google pages per keyword (about 10 organic hits each). Prefill is 1. Maximum 3. |
priceMin / priceMax | none | Keep listings whose parsed yuan price falls in this band. Rows with no visible price are dropped when a bound is set. |
condition | all | all, used, or new, inferred from public text, not native 闲鱼 chips. |
Output
You can download the dataset as JSON, HTML, CSV, or Excel. One row per indexed Goofish item:
| Field | Description |
|---|---|
itemId / itemUrl | Numeric ID and canonical public item URL |
title | Listing title, or a snippet fallback when Google labels the page Untitled |
price / currency | Yuan asking price when the title or snippet shows it (CNY) |
condition | new or used when public text has a cue |
snippet | Google snippet used as listing evidence |
searchQuery / googleQuery | Caller keyword and the exact Google query |
provider / source | Google provider name and indexed-google |
scrapedAt | ISO 8601 collection time |
{"itemId": "955486240562","title": "iPhone 15 128G 闲置","price": 3999,"currency": "CNY","condition": "used","snippet": "iPhone 15 128G ¥3999 闲置出","itemUrl": "https://www.goofish.com/item?id=955486240562","searchQuery": "iPhone 15","googleQuery": "iPhone 15 site:goofish.com/item","position": 1,"provider": "scrapecreators","source": "indexed-google","scrapedAt": "2026-09-10T12:00:00.000Z"}
{"outcome": "COMPLETE","message": "Returned 5 indexed Goofish listing(s).","itemsPushed": 5,"chargedEventCounts": { "listing-found": 5 },"warnings": []}
Workflow Story
A typical workflow starts with a buyer keyword such as iPhone 15. A sourcing analyst runs this actor with maxResults: 5, exports titles and item URLs, then compares yuan prices that appeared in the public snippets. Next they schedule the same keyword weekly and diff RUN_SUMMARY.itemsPushed to see whether indexed supply moved. When they already have a specific item URL from this table, they pass that URL into the all-in-one Goofish actor for the public detail page instead of repeating search.
Pricing
This actor uses Pay per event (PPE) with platform usage passed through.
| Event | Price |
|---|---|
| Actor start | $0.00005 |
| Listing found | $0.008 |
Example: 5 listings cost about $0.04005 in events, plus compute platform usage. See the Pricing tab on this actor's page for the live price table.
API Example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('khadinakbar/goofish-search-scraper').call({keywords: ['iPhone 15'],maxResults: 5,maxPagesPerKeyword: 1});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
curl "https://api.apify.com/v2/acts/khadinakbar~goofish-search-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords":["iPhone 15"],"maxResults":5,"maxPagesPerKeyword":1}'
MCP And AI Agents
Exposed through Apify MCP as khadinakbar/goofish-search-scraper. Agent prompt card:
Search public Goofish (闲鱼) listings by keyword. Use this when the user wants indexed item IDs, titles, yuan prices, and item URLs from a search phrase. For a known item or seller URL, route to the sibling Goofish scraper. Returns one dataset row per listing plus a RUN_SUMMARY with outcome, itemsPushed, provider provenance, source URL fields (
itemUrl,googleQuery), collection time (scrapedAt), and cost via listing-found events. Cap spend with maxResults. Google's public index is smaller than live 闲鱼 pagination.
Best Results Guidance
- Provide specific product keywords. Chinese terms usually return more indexed pages than English or pinyin.
- Start with
maxResults: 5andmaxPagesPerKeyword: 1to validate the query, then raise the cap. - Confirm
RUN_SUMMARY.outcomebefore retrying:VALID_EMPTYmeans Google found no public item pages for that keyword. - Schedule weekly keyword snapshots and validate
itemsPushedagainst last week's summary. - Keep runs focused on a small keyword list so Google-provider spend stays predictable.
Builder's Note
I built this because native 闲鱼 search is a Baxia / RGV587 wall for cookieless traffic, while buyers still need a keyword-to-listing table. In my testing, Google site:goofish.com/item was the covering public path: ScrapeCreators and SociaVault can return a thin first page, and an existing owner Google fallback fills in when those routes yield no parseable item URLs. My goal is an honest indexed-search SKU, not a fake live rank.
Related Actors
- Use the Goofish Scraper when you already have an item or seller URL and need that page's public detail instead of keyword search.
- Use the Alibaba Listings Scraper to search Alibaba.com B2B cards after you finish a 闲鱼 C2C keyword pass.
Legal
Use this actor only for public Goofish pages you are authorized to access and process. You are responsible for complying with Goofish / 闲鱼 site terms, applicable laws, and data-protection rules. This actor does not log in, join chats, or collect private inboxes.
Goofish, 闲鱼, and Xianyu are trademarks of their respective owners. Google is a trademark of Google LLC. This independent Actor is not affiliated with, associated with, or endorsed by Alibaba Group, Goofish, 闲鱼, Xianyu, or Google.