2.8 KiB
CBDB API Reference
API Endpoint
Base URL: https://cbdb.fas.harvard.edu/cbdbapi/person.php
Query Parameters
Required (one of the following)
id- CBDB person ID (integer)name- Person's name in Chinese characters, Pinyin, or other romanization
Optional
o- Output format (default: HTML)xml- XML formatjson- JSON format- (no parameter) - HTML format
Query Examples
Query by CBDB ID
https://cbdb.fas.harvard.edu/cbdbapi/person.php?id=1762
Returns data for person with CBDB ID 1762 (Wang Anshi) in HTML format.
Query by Chinese Name
https://cbdb.fas.harvard.edu/cbdbapi/person.php?name=王安石
Returns data for person named 王安石 in HTML format.
Query by Pinyin Name
https://cbdb.fas.harvard.edu/cbdbapi/person.php?name=Wang%20Anshi
Returns data for person named Wang Anshi in HTML format. Note: URL encoding required for spaces (%20).
Query with XML Output
https://cbdb.fas.harvard.edu/cbdbapi/person.php?id=1762&o=xml
Returns XML-formatted data for person with CBDB ID 1762.
Query with JSON Output
https://cbdb.fas.harvard.edu/cbdbapi/person.php?name=王安石&o=json
Returns JSON-formatted data for person named 王安石.
Response Data
The API returns comprehensive biographical data including:
- Basic information (name, alternative names, gender, dynasty)
- Birth and death dates/locations
- Biographical notes and historical context
- Social relationships and associations
- Official positions and titles
- Literary works and writings
- Geographic locations associated with the person
- References to source materials
Output Formats
HTML
The default format provides a formatted web page suitable for direct viewing in a browser.
XML
Structured XML output following CBDB's schema, providing maximum flexibility for data extraction and transformation.
JSON
JavaScript Object Notation format for easy integration with modern web applications and APIs.
Best Practices
-
URL Encoding: Always URL-encode query parameters, especially for:
- Chinese characters
- Spaces in Pinyin names
- Special characters
-
Output Format Selection:
- Use JSON for programmatic data extraction and processing
- Use XML for structured data interchange with other systems
- Use HTML for direct display to users
-
Name Queries: When searching by name:
- Chinese characters often yield most accurate results
- Pinyin may return multiple matches if names are similar
- Consider trying both Chinese and Pinyin if initial query returns no results
-
ID Queries: When CBDB ID is known, always prefer ID-based queries as they are:
- More precise (single person guaranteed)
- Faster to process
- Less ambiguous than name-based queries