jgw.aynu.edu.cn APIjgw.aynu.edu.cn ↗
Access oracle bone inscriptions, characters, radicals, and collections from the Yinqi Wenyuan database at Anyang Normal University via a structured REST API.
curl -X GET 'https://api.parse.bot/scraper/5a3d513d-906e-4de4-9455-65d043c4f1de/search_inscriptions?page=2&query=%E6%8B%BC' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for oracle bone inscriptions (rubbings/bones) in the 著录库 database. Returns paginated results with basic metadata and image URLs.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| queryrequired | string | Search term for inscription name/片号 (e.g. '合', '拼') |
| book_code | string | Filter by collection/book code from get_collections endpoint (e.g. '010001H'). Omitting returns results across all collections. |
{
"type": "object",
"fields": {
"items": "array of inscription objects with id, name, number, type, source, image_url, and detail_url_path",
"pagination": "object with current_page, total_count, and total_pages"
},
"sample": {
"data": {
"items": [
{
"id": "108547",
"name": "合1",
"type": "拓片",
"number": "",
"source": "甲骨文合集",
"image_url": "http://jgw.aynu.edu.cn/File/GetFirstSmallPic?dbId=34&recordId=108547&key=K5U3keEBpCT1f3TdQSh1hw%3d%3d",
"detail_url_path": "/Detail?dbID=34&dbName=BONE&sysID=108547"
}
],
"pagination": {
"total_count": 61552,
"total_pages": 5130,
"current_page": 1
}
},
"status": "success"
}
}About the jgw.aynu.edu.cn API
This API exposes 5 endpoints covering the Yinqi Wenyuan (殷契文渊) digital platform's oracle bone inscription database, including paginated rubbing searches, character font lookups, and radical indices. The search_inscriptions endpoint returns image URLs, piece numbers, and source metadata for entries in the 著录库, while search_characters provides Unicode IDs, pinyin, and traditional and simplified meanings for oracle bone script characters.
Inscription and Collection Data
The search_inscriptions endpoint queries the 著录库 rubbing database. Required parameter query accepts a piece-number fragment or name (for example 合 or 拼). Optional book_code narrows results to a specific collection; valid codes come from the get_collections endpoint, which returns every collection's id, name, code, and grade. Each inscription result includes id, name, number, type, source, an image_url for the rubbing scan, and a detail_url_path. Pagination is handled via the page parameter; the response's pagination object exposes current_page, total_count, and total_pages.
Character Font Database
The search_characters endpoint queries the 字形库. Set type=1 to search by a modern Chinese character or type=3 to search by pinyin string. Results include unicode_id, oracle_bone_char_hex, meaning_traditional, meaning_simplified, pinyin, and bone_reference. For deeper detail, pass a unicode_id (for example U608C1) to get_character_detail, which returns the character's citation sources array (each with type_code and content), related_chars as a comma-separated string of related IDs, and oracle_bone_char_hex where available.
Radicals Index
The get_radicals endpoint returns the full list of radical identifiers used to index oracle bone characters. Each entry carries a code (hex string) and a name in U-prefixed format, reflecting Unicode Private Use Area assignments used by the platform's font system. These codes align with the unicode_id values returned by search_characters and get_character_detail, making them useful for building radical-based browsing or filtering logic on top of the character endpoints.
- Build a searchable index of oracle bone rubbing images using
image_urland piece-number fields fromsearch_inscriptions. - Map modern Chinese characters to their oracle bone script forms by combining
search_charactersmeaning_traditionalandoracle_bone_char_hexfields. - Generate a radical-browsing interface for oracle bone script using codes from
get_radicalsas navigation anchors. - Filter inscription searches by specific published collections using
book_codevalues retrieved fromget_collections. - Build a citation reference tool using
sourcesarrays fromget_character_detailto trace scholarly references for individual characters. - Cross-reference related oracle bone characters by parsing the
related_charsfield returned inget_character_detail. - Support linguistic research tools by exposing
pinyinandbone_referencedata alongside traditional/simplified meanings fromsearch_characters.
| 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 | 250 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 Yinqi Wenyuan (jgw.aynu.edu.cn) offer an official developer API?+
What does `get_character_detail` return beyond what `search_characters` provides?+
search_characters gives summary fields: unicode_id, oracle_bone_char_hex, meaning_traditional, meaning_simplified, pinyin, and bone_reference. get_character_detail adds a sources array with per-citation type_code and content entries, a related_chars comma-separated list, and the full oracle_bone_char_hex where available — useful when you need scholarly citation data rather than just the character summary.Can I retrieve the full rubbing detail page for an inscription, not just summary metadata?+
search_inscriptions endpoint returns summary-level fields including image_url and detail_url_path, but does not currently expose a dedicated detail endpoint that returns transcription text, excavation metadata, or associated interpretations for individual rubbings. The API covers inscription search results and collection listings. You can fork it on Parse and revise it to add a rubbing detail endpoint covering those additional fields.Is there a way to browse all inscriptions in a collection without a search term?+
search_inscriptions requires a query string; it does not support open-ended browsing that returns all entries in a collection when no search term is provided. You can retrieve valid book_code values from get_collections and pair them with a broad query term to narrow scope, but full collection enumeration without a query is not currently supported. You can fork this API on Parse and revise it to add an endpoint that lists all inscriptions for a given collection code.How does pagination work in `search_inscriptions`?+
page parameter to move through result pages. Each response includes a pagination object with current_page, total_count, and total_pages, so you can iterate through all results programmatically without guessing the total number of pages.