Org APIdpm.org.cn ↗
Search and retrieve artifact details from the Palace Museum's digital collection. Filter by category, dynasty, and keyword across ceramics, bronzes, paintings, and more.
What is the Org API?
This API provides access to the Palace Museum's (dpm.org.cn) digital artifact database through 4 endpoints. Use search_collections to query items across 8 supported category slugs — ceramics, bronzes, paintings, and others — with paginated results returning fields like name, period, image, and detail URL. Two reference endpoints enumerate the available categories and dynasties, while get_collection_item_detail returns full artifact records including description, artifact number, and multiple image URLs.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/b5d084a7-27cb-45a0-9da7-526ec4cba0b0/list_categories' \ -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 dpm-org-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.palace_museum_collection_api import PalaceMuseum, CollectionCategory
client = PalaceMuseum()
# List all available categories
for cat in client.categories.list():
print(cat.id, cat.name)
# Search for jade artifacts
for artifact in client.artifactsummaries.search(category=CollectionCategory.JADES, limit=5):
print(artifact.name, artifact.period, artifact.detail_url)
# Drill into full details
detail = artifact.details()
print(detail.title, detail.category, detail.dynasty, detail.keywords)
List all collection categories available in the Palace Museum digital database. Returns the full vocabulary of category objects (id plus Chinese name). No pagination, always returns all categories in one call.
No input parameters required.
{
"type": "object",
"fields": {
"msg": "string status message",
"code": "string status code from upstream API",
"result": "array of category objects each containing id (integer) and name (string in Chinese)"
},
"sample": {
"data": {
"msg": "操作成功",
"code": "000000",
"result": [
{
"id": 17,
"name": "绘画"
},
{
"id": 16,
"name": "法书"
},
{
"id": 6,
"name": "陶瓷"
}
]
},
"status": "success"
}
}About the Org API
Endpoints and Data Coverage
The API covers four endpoints. list_categories and list_dynasties each return arrays of objects with id (integer) and name (string in Chinese), giving you the full set of valid filter values for the Palace Museum's collection database. search_collections accepts a category slug (one of: ceramics, paints, handwritings, impress, bronzes, enamels, lacquerwares, sculp), an optional keyword string, and an optional page integer for pagination. Each page returns up to 12 items, each with name, detail_url, image, period, and category.
Item Detail Records
get_collection_item_detail takes a item_url — the full dpm.org.cn URL returned in search_collections results — and returns a complete artifact record. Fields include name, title, description, dynasty, category, keywords (dimension or classification metadata), artifact_no, and an images array of URLs. The dynasty and artifact_no fields may be null if not recorded for a given item.
Language and Scope Notes
All name fields from list_categories and list_dynasties are returned in Chinese. Category and dynasty values in item detail records are also in Chinese. The search_collections endpoint is scoped to the eight supported category slugs; you cannot currently query across all categories simultaneously or sort results by field. Pagination is fixed at 12 items per page.
The Org API is a managed, monitored endpoint for dpm.org.cn — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when dpm.org.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 dpm.org.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 browsable archive of Palace Museum ceramics filtered by dynasty using
list_dynastiesandsearch_collections. - Aggregate artifact images for a digital art history dataset using the
imagesarray fromget_collection_item_detail. - Cross-reference artifact numbers (
artifact_no) from the API against museum catalog records in academic research workflows. - Populate a multilingual exhibit guide by pairing Chinese
nameanddescriptionfields with your own translations. - Index Palace Museum artifacts by
periodfor a timeline visualization covering different historical eras. - Pull keyword and dimension metadata from the
keywordsfield to build a searchable tag cloud for bronzes or lacquerwares. - Enumerate all available categories via
list_categoriesto drive dynamic filter UI in a cultural heritage app.
| 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 dpm.org.cn provide an official developer API?+
What does `get_collection_item_detail` return beyond what appears in search results?+
search_collections returns a summary — name, image, period, category, and detail_url. get_collection_item_detail adds title, description, dynasty, artifact_no, keywords (dimension or classification text), and a full images array that may include multiple views of the artifact.Can I query all collection categories at once, or sort results?+
search_collections requires a specific category slug chosen from the eight supported values and returns results in a fixed order, 12 items per page. You can fork this API on Parse and revise it to add a cross-category search or custom sorting endpoint.Does the API expose dynasty filtering in `search_collections`?+
search_collections does not currently accept a dynasty parameter — dynasty data is available through list_dynasties as a reference list and appears in item detail records via get_collection_item_detail. You can fork this API on Parse and revise it to add dynasty-based filtering to the search endpoint.Are there collection categories beyond the eight supported slugs — such as jades, furniture, or textiles?+
search_collections endpoint supports eight slugs: ceramics, paints, handwritings, impress, bronzes, enamels, lacquerwares, and sculp. Other collection types the museum holds are not currently accessible through this API. You can fork it on Parse and revise to add endpoints for additional categories.