io.github.tonyback0101-cmyk/buyer-intelligence
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Find verified global B2B buyers by category & country. Free anonymous discovery. SGX-listed.
| Author | io.github.tonyback0101-cmyk |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 162 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"buyer-intelligence": {
"url": "https://www.procureradar.com/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (13)
find_buyersread-onlySearch 500,000+ verified importers and distributors by product category and target country. Returns company profiles + a `coverage` object. When in-database coverage is thin (empty/partial), the response includes an `acquisition` task (task_id) — a background crawl is started automatically (free). Poll it with check_discovery_task until status=completed to get freshly gathered buyers. Contact details are not included — use enrich_buyer_contact to get them.
Parameters:
category(required) — string — Product category (e.g. 'flour', 'stainless steel tableware', 'LED lighting')limit— number — Max results to return (default 20, max 100)country_iso— string — ISO 3166-1 alpha-2 country code (e.g. MY, ID, KE, AE, GB)quality_grade— string — Filter by data quality. 'premium' = verified contact + multi-source evidence.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
enrich_buyer_contactRun 6-layer contact enrichment for a buyer: direct website scraping → proxy retry → BFS contact pages → LLM text extraction → vision screenshot → Serper fallback. Returns email, phone, WhatsApp, decision-maker names. Costs Zhimao Points.
Parameters:
target_domain(required) — string — Buyer's website domain (e.g. 'example-importer.com')target_company_name— string — Buyer's company name
Hints: read-only no · destructive no · idempotent no · open-world yes
analyze_buyer_intelligenceDeep company intelligence for a buyer: corporate registry verification, customs import records, supply chain mapping, decision-maker profiling, risk flags. Returns 0-100 score with evidence chain.
Parameters:
target_domain(required) — string — Buyer's website domaincountry_iso— string — ISO 3166-1 alpha-2 country codetarget_company_name— string — Buyer's company name
Hints: read-only no · destructive no · idempotent no · open-world yes
submit_discovery_jobExplicitly submit an async batch buyer discovery job for a category + country. Returns a job_id; poll it with check_discovery_task until status=completed. Note: find_buyers already auto-starts a background crawl when coverage is thin, so usually you only need this for a forced/fresh deep crawl.
Parameters:
category(required) — string — Product category to discover buyers forcountry_iso(required) — string — Target country ISO codekeywords— array — Additional keywords to refine the search
Hints: read-only no · destructive no · idempotent no · open-world yes
check_discovery_taskread-onlyPoll a background buyer-discovery task created by find_buyers (acquisition.task_id) or submit_discovery_job. Returns status (working | completed | failed); when completed, includes the freshly gathered buyers. Use exponential backoff (start ~20s) and stop polling once status is completed or failed. Free.
Parameters:
task_id(required) — string — The task_id returned in find_buyers' acquisition field, or a discovery job_idlimit— number — Max buyers to return when completed (default 50, max 100)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
list_group_buy_poolsread-onlyList open collective sourcing projects (联拼宝 / Lianpinbao). Multiple suppliers co-sell into shared buyer pools, reducing per-supplier MOQ. Find pools where you can join to access existing buyer demand.
Parameters:
status— string — Pool status (default: open)category— string — Filter by product category keyword (optional)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
search_productsread-onlySearch live products listed by ProcureRadar suppliers by keyword, destination country, supplier country, or category. Returns product_id values needed to request a quote. Free & anonymous (IP rate-limited). This is the first step of the buyer-side transaction loop: search_products → request_quote → list_quotes → place_order.
Parameters:
q— string — Keyword (product title / SKU / supplier name)limit— number — Max results (default 20, max 50)category— string — Category code (mall_category_code), optionalcountry_iso— string — Destination country ISO2 (filters by deliverable SKUs)supplier_country— string — Supplier origin country ISO2
Hints: read-only yes · destructive no · idempotent yes · open-world yes
search_storesread-onlyDiscover verified supplier storefronts (supply nodes) on ProcureRadar by target-market country and industry. Each store groups multiple products from one verified supplier and returns sample_product_ids you can quote on. Use this to find a supplier store first, then search_products / request_quote. Free & anonymous (IP rate-limited). Organizing principle: country × industry matrix.
Parameters:
q— string — Store name keyword (optional)limit— number — Max results (default 20, max 50)country— string — Target-market country ISO2 the store operates/sells into (e.g. MY, VN, JP)industry— string — Industry key (85-industry taxonomy, aligns with product category codes, e.g. 'beauty_personal_care')
Hints: read-only yes · destructive no · idempotent yes · open-world yes
request_quoteStart a transaction by sending a quote request (inquiry) to a supplier for a specific product_id (get one from search_products). Returns an inquiry_id. Requires authentication — the inquiry is owned by the authenticated buyer. The supplier then submits a quote; poll it with list_quotes.
Parameters:
product_id(required) — string — Product id to request a quote for (from search_products)quantity— number — Desired quantity (optional)buyer_note— string — Free-text note to the supplier (optional)quantity_unit— string — Unit for the quantity, e.g. 'pcs', 'kg' (optional)destination_city— string — Destination city (optional)destination_country— string — Destination country ISO2 (optional)
Hints: read-only no · destructive no · idempotent no · open-world yes
list_quotesread-onlyList the supplier quotes submitted for one of your inquiries (from request_quote). Returns each quote's id, unit price, total, MOQ, lead time and validity, plus acceptable_quote_ids you can pass to place_order. Requires authentication; only the inquiry's buyer (or the product's supplier) may read it.
Parameters:
inquiry_id(required) — string — The inquiry_id returned by request_quote
Hints: read-only yes · destructive no · idempotent yes · open-world yes
place_orderAccept a supplier quote and create an order (status pending_payment) for one of your inquiries. Pass the inquiry_id and the chosen quote_id (from list_quotes' acceptable_quote_ids). Optionally pass a mandate_id (from create_payment_mandate) to auto-authorize the order against an AP2 payment mandate within its limits — the response then includes mandate_authorization (authorized/declined + reason). Returns the order id, order_no and a payment next_step. Idempotent per inquiry: re-calling returns the existing order. Requires authentication.
Parameters:
inquiry_id(required) — string — The inquiry_id (from request_quote / list_quotes)quote_id(required) — string — The quote_id to accept (from list_quotes' acceptable_quote_ids)mandate_id— string — Optional AP2 payment mandate id (from create_payment_mandate) to auto-authorize this order within pre-approved limits.
Hints: read-only no · destructive no · idempotent yes · open-world yes
create_payment_mandateCreate an AP2 payment mandate: a pre-authorization that lets your agent place orders autonomously (human-not-present) within strict limits — total budget, optional per-order cap, currency, optional seller/category scope, and expiry. Returns a mandate_id to pass to place_order. Each order authorized against it is recorded as a verifiable intent and decrements the budget. Requires authentication.
Parameters:
max_total_amount(required) — number — Total spend budget for this mandate (required, > 0)currency— string — Currency, e.g. USD (default USD). Must match the order currency to authorize.expires_at— string — Optional ISO timestamp after which the mandate is no longer valid.seller_scope— array — Optional list of allowed seller_user_id UUIDs. Omit = any seller.category_scope— array — Optional list of allowed category codes (mall_category_code). Omit = any category.max_per_order_amount— number — Optional per-order cap
Hints: read-only no · destructive no · idempotent no · open-world yes
list_payment_mandatesread-onlyList your AP2 payment mandates with status, currency, total/per-order limits, consumed and remaining budget, scope and expiry. Requires authentication.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.