Com APIyz.chsi.com.cn ↗
Access Chinese graduate and doctoral program data via the yz.chsi.com.cn API. Search institutions, majors, provinces, and retrieve full admission brochure text.
What is the Com API?
This API exposes 5 endpoints covering China's Graduate Admissions Information Network (yz.chsi.com.cn), including doctoral program search, institution lookup, and full admission brochure retrieval. The search_doctoral_programs endpoint lets you filter by major keyword and study mode, returning paginated institution results with codes, names, and province fields. Together the endpoints cover the full data flow from program discovery to brochure content extraction.
curl -X GET 'https://api.parse.bot/scraper/3760c3fd-ad38-4662-918b-e3c0017abd23/search_doctoral_programs?xxfs=1&zymc=%E8%AE%A1%E7%AE%97%E6%9C%BA' \ -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 yz-chsi-com-cn-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.
from parse_apis.chsi_graduate_admissions_api import Chsi, StudyMode
chsi = Chsi()
# Search for doctoral programs in computer science
for program in chsi.programs.search(zymc="计算机", xxfs=StudyMode.FULL_TIME):
print(program.institution_code, program.institution_name, program.province, program.has_graduate_school)
# Get school info by institution code and name
institution = chsi.institutions.get_info(dwdm="10001", dwmc="北京大学")
print(institution.sch_id, institution.name, institution.url)
# Browse brochures for this institution
for brochure in institution.brochures.list():
print(brochure.title, brochure.date)
content = brochure.detail()
print(content.content, content.html_content)
# Search institutions by name and browse their brochures
for entry in chsi.institutions.search(yxmc="清华"):
print(entry.name, entry.sch_id)
for b in entry.brochures.list():
print(b.title, b.url)
Search for graduate or doctoral programs by major name keyword. Returns a paginated list of institutions offering matching programs with their codes, names, and provinces. Each result identifies the institution and whether it has a graduate school.
| Param | Type | Description |
|---|---|---|
| xxfs | string | Study mode |
| zymc | string | Major name keyword to search in Chinese (e.g., '生物', '药学', '计算机') |
{
"type": "object",
"fields": {
"list": "array of program result objects with dwdm, dwmc, ssmc, yjsy",
"curPage": "integer current page number",
"totalPage": "integer total number of pages",
"totalCount": "integer total number of matching institutions"
},
"sample": {
"data": {
"list": [
{
"dwdm": "10002",
"dwmc": "中国人民大学",
"ssmc": "北京市",
"yjsy": "1"
}
],
"size": 20,
"curPage": 1,
"pageCount": 20,
"totalPage": 5,
"totalCount": 82,
"nextPageAvailable": true
},
"status": "success"
}
}About the Com API
Program and Institution Search
The search_doctoral_programs endpoint accepts a major name keyword (zymc) such as 生物 or 计算机 and an optional study mode filter (xxfs: '1' for full-time, '2' for part-time). It returns a paginated list of institutions including each institution's dwdm (standard code), dwmc (Chinese name), and ssmc (province). Pagination metadata includes curPage, totalPage, and totalCount, so you can iterate across all results programmatically.
The search_institutions endpoint operates on the general admissions institution library. It accepts a province code (ssdm, e.g., '11' for Beijing), an institution name keyword (yxmc), and a pagination offset (start, increments of 20). It returns an array of objects with name, schId, and location. The schId field is the internal identifier needed for downstream brochure lookups.
School Info and Internal IDs
To map a standard institution code to an internal schId, use get_school_info. Both dwdm (the standard institution code, e.g., '10001' for Peking University) and dwmc (the Chinese institution name) are required for accurate matching. The response includes the schId, a direct page url, the institution dwdm, and name. This endpoint bridges the gap between the standard national code system and the site's internal identifier space.
Brochure Access
Once you have a schId, get_brochure_list returns an array of admission brochure objects for that institution, each with a title, url, and date. Pass any brochure url to get_brochure_detail to retrieve the full content (plain text) and html_content of that brochure page — useful for parsing enrollment quotas, application requirements, and program-specific conditions.
The Com API is a managed, monitored endpoint for yz.chsi.com.cn — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when yz.chsi.com.cn 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 yz.chsi.com.cn 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?+
- Build a searchable directory of Chinese graduate programs filtered by major keyword and province
- Aggregate admission brochures across institutions to compare enrollment quotas and requirements
- Map standard institution codes (
dwdm) to internalschIdvalues for downstream data pipelines - Monitor publication dates of new admission brochures for targeted institutions using
get_brochure_list - Compile full-time vs. part-time program availability per institution using the
xxfsfilter insearch_doctoral_programs - Extract plain-text brochure content for NLP analysis of graduate admissions policies across universities
| 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 yz.chsi.com.cn have an official public developer API?+
What does `search_doctoral_programs` return and how does pagination work?+
dwdm (institution code), dwmc (name), and ssmc (province). The response also includes curPage, totalPage, and totalCount. There is no explicit page parameter in the inputs listed — you get back the current paginated slice, and totalPage tells you how many pages exist in total for the query.Does the API return individual program details such as tuition, supervisors, or seat counts within a brochure?+
get_brochure_detail's content field or as raw HTML via html_content. You would need to parse those strings yourself. You can fork this API on Parse and revise it to add structured extraction of specific brochure fields.Are undergraduate admissions or college entrance exam data covered?+
Is there a known limitation around institution matching in `get_school_info`?+
dwdm (the standard institution code) and dwmc (the Chinese institution name) are required — providing only one will not return accurate results. The endpoint is designed to match on both fields together, so you need a correct code-name pair before you can retrieve the internal schId used by the brochure endpoints.