E-commerce & Marketplaces

Made-in-China Sourcing API

The Made-in-China Sourcing API returns live B2B buying requests (RFQs) as clean JSON — what importers are asking to purchase right now, in their own full text.

2 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary rfq_search endpoint returns rfq_id, title, the buyer's complete request description, url, quantity with its unit, the buyer's name, country and country_code plus whether their email is confirmed, posted_at and expires_at, the expired and closed flags, quotes_left and quotes_allowed, category_id and the regional site the request came in from — with a total estimate and real pagination. categories lists the 27 top-level sourcing boards so you can sweep a whole vertical without a keyword. This is a demand-side feed: inbound purchase intent rather than supplier listings, which is what makes it usable as a lead source. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, rfq_search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/made-in-china/v1/rfq_search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "solar panel"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "made-in-china",
    "endpoint": "rfq_search",
    "mode": "live",
    "latency_ms": 475.5,
    "record_count": 20,
    "bytes": 38337,
    "cache_hit": false,
    "method": "own_ajaxflag_json_bare_dc",
    "expired_dropped": 0,
    "upstream_rows": 20
  },
  "data": {
    "results": [
      {
        "rfq_id": "XEWTzgRYqBeJ",
        "title": "Complete Black Solar Panel EU 420W 430W 440W 450W Chinese Solar Panels for Sale",
        "description": "Hello,\nI am looking for solar panels equivalent to the TH 425PMB 7 - 44SCF.\nThe dimensions are important to me: 1812 X 1096 X 30 mm.\nColor: Black.\nOpen Circuit Voltage (Voc): 43.4 V.\nI need 8 panels.\nPlease provide the price including delivery to my location in France.\n\nBest regards,\nMarc Julienne.\nAfter-sales service: 12 years\nWarranty: 25 years\nNumber of cells: 305 (61 X 5)\nApplication: Solar energy system\nCertification: CB, CE, TUV\nMaterial: Monocrystalline Silicon\nDimensions: 1812 X 1096 X 30 mm\nWeight: 20.8±0.3kg\nFront glass: Tempered glass, 3.2 mm\nFrame: Anodized aluminum profile\nCells: ",
        "url": "https://sourcing.made-in-china.com/request/XEWTzgRYqBeJ/Complete-Black-Solar-Panel-EU-420W-430W-440W-450W-Chinese-Solar-Panels-for-Sale.html",
        "quantity": 8,
        "quantity_text": "8",
        "quantity_unit": "Piece(s)",
        "buyer": {
          "name": "Julienne",
          "country": "France",
          "country_code": "FR",
          "email_confirmed": true
        },
        "posted_at": "[redacted-phone]",
        "expires_at": "[redacted-phone]",
        "expired": false,
        "closed": false,
        "quotes_left": 5,
        "quotes_allowed": 5,
        "budget": null,
        "budget_currency": null,
        "category_id": "[redacted-phone]",
        "origin_site": "From French Site",
        "image": null,
        "has_attachments": false
      },
      {
        "rfq_id": "hflAcsLdEwDP",
        "title": "Solar Panels 640 W",
        "description": "Quantity: 74 panels\nPower per panel: 640 W (Watts)\nTotal System Capacity: 47.36 kWp (Kilowatt-peak) when all 74 panels are combined.",
        "url": "https://sourcing.made-in-china.com/request/hflAcsLdEwDP/Solar-Panels-640-W.html",
        "quantity": 74,
        "quantity_text": "74",
        "quantity_unit": "Piece(s)",
        "buyer": {
          "name": "[redacted-name]",
          "country": "China",
          "country_code": "CN",
          "email_confirmed": false
        },
        "posted_at": "[redacted-phone]",
        "expires_at": "[redacted-phone]",
        "expired": false,
        "closed": false,
        "quotes_left": 3,
        "quotes_allowed": 7,
        "budget": null,
        "budget_currency": null,
        "category_id": "[redacted-phone]",
        "origin_site": "From English Site",
        "image": null,
        "has_attachments": false
      },
      {
        "rfq_id": "UtlAajuChZID",
        "title": "Thin Sheet Solar Panel",
        "description": "I need that CIF to dakar port along with the details such as payment terms and specification",
        "url": "https://sourcing.made-in-china.com/request/UtlAajuChZID/Thin-Sheet-Solar-Panel.html",
        "quantity": 10,
        "quantity_text": "10",
        "quantity_unit": "Piece(s)",
        "buyer": {
          "name": "Velra",
          "country": "India",
          "country_code": "IN",
          "email_confirmed": false
        },
        "posted_at": "[redacted-phone]",
        "expires_at": "[redacted-phone]",
        "expired": false,
        "closed": false,
        "quotes_left": 7,
        "quotes_allowed": 3,
        "budget": null,
        "budget_currency": null,
        "category_id": "[redacted-phone]",
        "origin_site": "From English Site",
        "image": null,
        "has_attachments": false
      }
    ],
    "query": "solar panel",
    "page": 1,
    "page_size": 20,
    "returned": 20,
    "total_estimate": 56113,
    "pages_available": 5612,
    "has_more": true,
    "next_page": 2,
    "filters_applied": {
      "category": null,
      "buyer_country": null,
      "posted_within": null,
      "include_expired": false
    }
  }
}
Actions

What the Made-in-China Sourcing API does

ActionDescriptionConcrete use caseKey params
rfq_searchSearch live buying requests posted by Made-in-China buyers — the demand side of the marketplace. Each row is a purchase someone is asking for right now: their FULL request text (this board does not truncate it), how many they want, which country they are buying from, the day they posted and the day the request expires. Filter by keyword, category, buyer country and recency; page through up to 100 requests per call. Omit `query` to browse the whole open board.Pricing teams call rfq_search to search live buying requests posted by Made-in-China buyers.query, category, buyer_country, posted_within, page, ...
categoriesThe 27 top-level sourcing categories of the buying-request board, with the ids that `rfq_search`'s `category` parameter takes. Read live from the board's own category rail, so a new or renamed category appears without a code change.Marketplace operators call categories to get the 27 top-level sourcing categories of the buying-request board, with the ids that `rfq_sear….query
Code samples

Call rfq_search from your stack

curl -X POST https://api.reefapi.com/made-in-china/v1/rfq_search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"solar panel"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.made-in-china.rfq_search with {"query":"solar panel"}.
Use cases

Who uses this API and why

  • B2B sales teams call rfq_search to find importers actively requesting a product and read the quantity and buyer country before quoting.
  • Lead-generation pipelines filter on quotes_left and expires_at to prioritise requests still open to new suppliers.
  • Trade analysts use categories to sweep a whole sourcing board and measure demand by product line and buyer country.
  • Market-entry researchers track posted_at volume by buyer country to see where purchase intent is coming from.
FAQ

Questions developers ask before integrating

What is the Made-in-China Sourcing API?

Made-in-China Sourcing API is a ReefAPI endpoint group for live b2b buying requests from importers, with quantity, country and expiry. It returns live JSON through POST requests under /made-in-china/v1.

Is the Made-in-China Sourcing API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Made-in-China Sourcing calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Made-in-China Sourcing login or account?

No login to Made-in-China Sourcing is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Made-in-China Sourcing data?

The page example is captured from a live rfq_search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Made-in-China Sourcing API use?

Made-in-China Sourcing actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call Made-in-China Sourcing from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call made-in-china actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Made-in-China Sourcing API a Made-in-China Sourcing scraper?

It is the managed alternative to a DIY Made-in-China Sourcing scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same live b2b buying requests from importers, with quantity, country and expiry back as clean JSON.

Why does my Made-in-China Sourcing scraper keep getting blocked?

Most Made-in-China Sourcing scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / made-in-china

Made-in-China Sourcing

Live B2B buying requests from importers, with quantity, country and expiry.

base /made-in-china/v12 endpoints
post/made-in-china/v1/categories1 credit

The 27 top-level sourcing categories of the buying-request board, with the ids that `rfq_search`'s `category` parameter takes. Read live from the board's own category rail, so a new or renamed category appears without a code change.

ParameterAllowed / rangeDescription
queryoptionalFilter categories whose name contains this text (case-insensitive). Omit for all 27.
Try in playground →