Hand it to your AI agent
Copy this prompt into Claude Code, Cursor, Codex or any coding agent. It tells the agent where the docs are and how to use your API key.
Use the Lovely Router data tool "Search Xianyu second-hand listings" (id `xianyu-listings`, Xianyu) to get data for me. It returns JSON.
- Docs (read first): https://lovelyrouter.com/docs/tools/run.md and https://lovelyrouter.com/docs/api/tools.md
- Input fields and price: GET https://lovelyrouter.com/v1/tools/xianyu-listings (public, no key needed). Price: $0.0105 / listing + $0.0075 / call.
- Run: POST https://lovelyrouter.com/v1/tools/xianyu-listings/run with a body like `{"input":{"keyword":"iphone","maxItems":5},"max_results":10}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up (up to 300 per run).
- If you support MCP, you can instead connect the server https://lovelyrouter.com/mcp (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool with tool "xianyu-listings".
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.
My task: <describe the data you need, e.g. which places, profiles, keywords or URLs, and the output format>Input
keywordstringA search word, in the language sellers use (Chinese for most items).
keywordsstring[]Up to three searches instead of keyword.
searchUrlsstring[]Paste one or more Goofish (闲鱼) search URLs.Supported: https://www.goofish.com/search?q=<keyword>⚠️ Precedence: when this field is non-empty, it overrides the Keyword field above — the keyword is extracted from the URLs.Different keywords run concurrently and share Max items. Duplicate listings are returned once; keyword identifies…
sortBystringrelevance, newest, priceAsc, priceDesc, …
relevance · newest · priceAsc · priceDesc · priceDrop · modified · credit
priceMinintegerIn CNY.
priceMaxintegerIn CNY.
publishedWithinDaysstring1, 3, 7 or 14.
· 1 · 3 · 7 · 14
Try it
Call it from code
How runs, polling and billing work →curl https://lovelyrouter.com/v1/tools/xianyu-listings/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{"input":{"keyword":"iphone","maxItems":5},"max_results":20}'# MCP (agents): suggest_tools → get_tool → run_tool
run_tool({
"tool": "xianyu-listings",
"input": {"keyword":"iphone","maxItems":5},
"max_results": 20
})What it costs
| Results | Runs (at 300 per run) | Cost |
|---|---|---|
| 100 | 1 | $1.06 |
| 1,000 | 4 | $10.53 |
| 10,000 | 34 | $105.26 |
Prepaid, no subscription. Fewer results than requested cost less. Pricing
Used for
Frequently asked questions
How much does the Search Xianyu second-hand listings API cost?
$0.0105 / listing + $0.0075 / call. 1,000 results, fetched in runs of up to 300, cost $10.53. There is no subscription: you pay from a prepaid balance.
How many results does one run return?
20 by default and up to 300 per run. Set max_results to cap a run: you are billed only for the results it delivers.
Do I need a Xianyu account or API key?
No. You call the tool with your Lovely Router API key and get JSON back. There is nothing to set up on Xianyu.
Can an AI agent use this tool?
Yes. Connect Claude Code, Cursor or any MCP client to the Lovely Router MCP server: the agent finds the tool with suggest_tools and runs it with run_tool and the id xianyu-listings.
What happens if a run fails?
A run that fails or is stopped pays only for the results it delivered, with no call fee. The most a run can cost is held when it starts and the rest is released when it settles.