QCC APIqcc.com ↗
Search Chinese companies and retrieve full business registration profiles from QCC.com, including credit codes, legal representatives, and registration authority details.
What is the QCC API?
The QCC.com API provides access to Chinese business registration data through 2 endpoints, covering company search and full profile retrieval. The search_companies endpoint accepts queries in Chinese characters, pinyin, or registration numbers and returns a list of matching company summaries. The get_company_profile endpoint returns structured registration details including unified social credit codes, registered capital, and scope of operations.
curl -X GET 'https://api.parse.bot/scraper/a40e9f2c-67f8-43c6-b8c7-25855389a87b/search_companies?query=%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace qcc-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: QCC Chinese Business Data API — search Chinese company registrations."""
from parse_apis.QCC_Chinese_Business_Data_API import QCC, ParseError
client = QCC()
# Search for companies by keyword — limit= caps total items fetched.
for company in client.companies.search(query="阿里巴巴", limit=5):
print(company.name, company.status, company.reg_capital)
# Drill into one result using .first()
company = client.companies.search(query="腾讯", limit=1).first()
if company:
print(company.name, company.key_no, company.address)
# Typed error handling: catch ParseError for upstream failures
try:
result = client.companies.search(query="华为", limit=1).first()
if result:
print(result.name, result.legal_rep, result.unified_social_credit_code)
except ParseError as exc:
print(f"Request failed: {exc}")
print("exercised: companies.search / company field access")
Full-text search over Chinese business registrations. Accepts company names (Chinese or English), unified social credit codes, or registration numbers. Returns a flat list of matching company summaries with their key identifiers, registration status, legal representative, and address.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword (company name in Chinese or English, registration number, credit code, etc.) |
{
"type": "object",
"fields": {
"items": "array of company summary objects with name, key_no, status, legal_rep, reg_capital, start_date, address, unified_social_credit_code",
"total": "integer total number of matching companies"
},
"sample": {
"data": {
"items": [
{
"name": "阿里巴巴(中国)网络技术有限公司",
"key_no": "c70a55cb048c8e4db7bca357a2c113e0",
"status": "存续",
"address": "浙江省杭州市滨江区网商路699号",
"legal_rep": "蒋芳",
"start_date": 936806400000,
"reg_capital": "599598.54055万美元",
"unified_social_credit_code": "91330100716105852F"
}
],
"total": 7
},
"status": "success"
}
}About the QCC API
Company Search
The search_companies endpoint accepts a query parameter — a Chinese company name, English name, unified social credit code, or registration number — and returns an array of matching company summary objects. Each item in the items array includes name, key_no (the unique company hash ID), status, legal_rep, reg_capital, start_date, address, and unified_social_credit_cod. The total field indicates how many matching companies exist across all pages, useful for assessing query breadth before iterating results.
Company Profile
The get_company_profile endpoint accepts a key_no value — obtained from search results — and returns a full company profile. The basic_info object includes credit_code, reg_capital, paid_capital, econ_kind (economic entity type), address, scope (business scope/operations description), reg_no, org_no, english_name, belong_org (registration authority), and leg (legal representative details). The top-level response also surfaces name, key_no, and status directly.
Data Coverage and Scope
QCC.com aggregates Chinese enterprise registration data sourced from official government filings. The API covers mainland Chinese companies registered with the State Administration for Market Regulation. Fields like econ_kind distinguish between limited liability companies, joint-stock companies, and other entity types. The scope field captures the officially registered business scope text, which can be several hundred characters for companies with broad operational licenses.
The QCC API is a managed, monitored endpoint for qcc.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when qcc.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official qcc.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Verify a Chinese supplier's registration status and legal representative before entering a procurement contract
- Enrich a B2B database with registered capital and unified social credit codes for mainland Chinese entities
- Screen potential partners by checking
statusandecon_kindfields against internal compliance criteria - Map company addresses from the
addressfield to geo-coordinates for regional market analysis - Resolve a company name or registration number to a canonical
key_nofor use as a stable identifier across systems - Audit the registered scope of operations (
scopefield) to confirm a vendor is licensed for the services they claim - Build a company monitoring feed by polling
get_company_profilefor changes in registration status or legal representative
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does QCC.com have an official developer API?+
What does the `status` field in search and profile results represent?+
status field reflects the company's current registration standing as recorded in official filings — values typically include states such as active (存续), cancelled (注销), revoked (吊销), or similar. It is returned both in the summary items from search_companies and at the top level of get_company_profile responses.Does the API return shareholder, equity structure, or beneficial ownership data?+
Are companies from Hong Kong, Macau, or Taiwan included in search results?+
How should I handle a `query` that returns a high `total` count in `search_companies`?+
total field indicates the full match count across the dataset. Common or generic query strings can return thousands of results. Using a more specific identifier — such as a full unified social credit code or exact registered name — will narrow results and surface the correct key_no for use with get_company_profile.