Files
AOS/skills/aminer-academic-search/references/api-catalog.md
T
Z User e45b68bb8b feat: IMAP mail sync with thread-to-contact matching (PRD §6.1)
Real IMAP connection via imapflow library:
- Connects to IMAP server (IMAPFlow, TLS on port 993)
- Fetches recent messages (configurable limit, default 20)
- Extracts: from, fromEmail, subject, date, snippet (200 chars)
- Thread-to-contact matching (PRD §6.1):
  1. Match sender email against persons table
  2. If no person match, extract domain and match against company.website
  3. Returns matchedCompany + matchedPerson for each email
- Audit-logged (action: crm.mailsync:imap)
- Zod validated (host, port, user, password, folder, limit)
- 502 on IMAP connection failure with detail
- 400 on validation failure

Tested: invalid creds → 502 'IMAP connection failed', missing host → 400
2026-10-27 22:50:50 +00:00

36 KiB
Executable File
Raw Blame History

AMiner Open Platform API Complete Reference

Base URL: https://publicapi.chatglm.cn/chatglm_public/skill/aminer
Authentication: All endpoints should default to Authorization: ${AMINER_API_KEY} and include X-Platform: openclaw in the request headers.
Token: Log in to the Console to generate one, then export it as AMINER_API_KEY.


Table of Contents


Paper APIs

  • URL: GET /api/paper/search
  • Price: Free
  • Description: Search by paper title; returns low-cost screening fields such as paper ID, title, DOI, venue, first author, citation bucket, and year.

Request Parameters:

Parameter Type Required Description
page number Yes Page number (current online definition says it starts at 1)
size number No Items per page, maximum 20
title string Yes Paper title

Response Fields:

Field Description
id Paper ID
title Paper title
title_zh Paper title (Chinese)
doi DOI
first_author First author
n_citation_bucket Citation bucket: 0, 1-10, 11-50, 51-200, 200-1000, 1000-5000, 5000+
venue_name Venue title
year Publication year
total Total count

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/paper/search?page=1&size=10&title=Looking+at+CTR+Prediction+Again%3A+Is+Attention+All+You+Need' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

2. Paper Search Pro

  • URL: GET /api/paper/search/pro
  • Price: ¥0.01/call
  • Description: Multi-condition search; supports filtering by keyword, abstract, author, institution, and journal.

Request Parameters:

Parameter Type Required Description
page number No Page number (starts at 0)
size number No Items per page
title string No Title keyword
keyword string No Keyword
abstract string No Abstract keyword
author string No Author name
org string No Institution name
venue string No Journal name
order string No Sort field: year (descending by year) or n_citation (descending by citations); omit for composite ranking

Response Fields:

Field Description
id Paper ID
title Title (English)
title_zh Title (Chinese)
doi DOI
total Total count

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/paper/search/pro?title=transformer&author=Vaswani&order=n_citation&page=0&size=5' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

  • URL: POST /api/paper/qa/search
  • Price: ¥0.05/call
  • Description: AI-powered intelligent Q&A search; supports natural language queries and structured keyword search.

Request Parameters:

Parameter Type Required Description
use_topic boolean Yes When true, searches with topic fields and/or keywords extracted from query; when false, only title/doi are read and query is ignored. Set true for any query or topic search.
topic_high string No Valid when use_topic=true; keywords that must match (AND logic). Nested array format: [["termA","termB"],["termC"]] — outer AND, inner OR.
topic_middle string No Strongly boosted terms; same format as topic_high.
topic_low string No Weakly boosted terms; same format as topic_high.
title []string No Title query; the only text field read when use_topic=false.
doi string No Exact DOI query.
year []number No Year filter array.
sci_flag boolean No Return SCI papers only.
n_citation_flag boolean No Boost papers with high citation counts.
size number No Maximum number of results to return.
offset number No Offset.
force_citation_sort boolean No Sort entirely by citation count.
force_year_sort boolean No Sort entirely by year.
author_terms []string No Author name query; OR relationship within array; include multiple variants.
org_terms []string No Institution name query; OR relationship within array.
author_id []string No Author entity ID filter; accepts single ID or ID list. OR relationship with author_terms when both are provided.
org_id []string No Institution entity ID filter; accepts single ID or ID list. OR relationship with org_terms when both are provided.
venue_ids []string No Conference/journal ID list filter.
query string No Raw natural language question (slower); system auto-extracts keywords. Takes precedence over topic_high when both are provided. Only effective with use_topic=true; with false it is silently ignored and the call returns 403 "no data".

Response Fields:

Field Description
data Paper ID list
id Paper ID
title Paper title
title_zh Title (Chinese)
doi DOI
Total / total Total count

curl Example (natural language Q&A):

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/paper/qa/search' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{"use_topic": true, "query": "deep learning protein structure prediction", "size": 10, "sci_flag": true}'

curl Example (structured keywords):

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/paper/qa/search' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{
    "use_topic": true,
    "topic_high": "[[\\"transformer\\",\\"self-attention\\"],[\\"protein folding\\"]]",
    "topic_middle": "[[\"AlphaFold\"]]",
    "sci_flag": true,
    "force_citation_sort": true,
    "size": 10
  }'

Prefer Paper QA Search Pro; use this legacy endpoint sparingly.
Default almost all paper Q&A / topic / filter searches to Paper QA Search Pro. Keep this legacy API only for topic_high/topic_middle/topic_low structured OR/AND mode that Pro does not support. Do not start with this endpoint by default.


3b. Paper QA Search Pro

Preferred default for paper Q&A / topic / multi-filter search. Prefer this over legacy Paper QA Search whenever possible.

  • URL: POST /api/v3/paper/qa/searchPro
  • Price: ¥0.70/call
  • Description: Upgraded paper Q&A search. Supports natural-language understanding (query_type=auto), author/org/venue/year/citation filters, boolean terms, and cursor pagination. Default page size is fixed at 10 (not client-configurable on the open platform). Card response returns compact fields only.

Request Parameters:

Parameter Type Required Description
query string No Search text, max 500. Required when query_type is not auto.
query_type string No auto / topic / keywords / title / identifier. Default auto.
cursor string No Pagination cursor (16–256 chars). On next page, request body may contain only cursor.
authors []string No Author names; OR within list; max 100
author_ids []string No Author IDs; OR with authors
organizations []string No Organization names; OR within list
organization_ids []string No Organization IDs; OR with organizations
venues []string No Venue names, e.g. ["NeurIPS"]
venue_ids []string No Venue IDs; OR with venues
year_values []number No Exact years; mutually exclusive with year_from/year_to
year_from number No Start year (inclusive)
year_to number No End year (inclusive); must be ≥ year_from
languages []string No Hard language filter, e.g. ["en","zh"]
language_preference string No Soft preference boost: zh / en
has_chinese_title boolean No Require / forbid Chinese title
has_abstract boolean No Require / forbid abstract
min_citations number No Minimum citation count (inclusive)
max_citations number No Maximum citation count (inclusive)
all_terms []string No All terms must match; max 20
any_terms []string No At least one term must match
exclude_terms []string No Exclude if any term matches
search_in string No Scope for all/any/exclude only: all / title / title_keywords / abstract
paper_ids []string No Restrict to paper IDs
exclude_paper_ids []string No Exclude paper IDs
dois []string No DOI filter
sort string No relevance / balanced / recent / citation

Response Fields (open-platform envelope):

Field Description
success Whether the call succeeded
code HTTP-style status: 200/400/410/500/502/503/504
message / msg Status text; success often "success" or empty
data Business payload; usually null on failure
data.items Paper list (card view, compact fields only)
data.items[].paper_id Paper ID
data.items[].title Title (English/original)
data.items[].title_zh Title (Chinese)
data.items[].authors[].name Author English name
data.items[].authors[].name_zh Author Chinese name
data.items[].year Publication year (may be omitted)
data.total.value Hit count estimate
data.total.relation eq / gte / unknown
data.next_cursor Next-page cursor; null/omitted when no more pages
data.warnings Business warnings (code / message)

Notes:

  • Page size is fixed at 10; do not send size / view / facets / internal debug flags.
  • Pagination: first page → read next_cursor → next page body is {"cursor":"..."} only.
  • Always append paper URL: https://www.aminer.cn/pub/{paper_id}.

curl Example:

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/v3/paper/qa/searchPro' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{
    "query": "大模型比较新的高引论文",
    "query_type": "auto",
    "sort": "balanced",
    "year_from": 2024,
    "min_citations": 30
  }'

curl Example (next page):

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/v3/paper/qa/searchPro' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{"cursor":"<NEXT_CURSOR_FROM_PREVIOUS_RESPONSE>"}'

4. Paper Info

  • URL: POST /api/paper/info
  • Price: Free
  • Description: Batch-retrieve lightweight paper cards by paper ID, including abstract slice, year, venue ID, author list, and author count.

Mandatory Parameter Constraints (High Priority)

  1. paper_info only supports the batch parameter ids (array); it does not support a single paper_id.
  2. paper_detail only supports the single-paper parameter id (string); in the client raw function wrapper, the corresponding parameter name is paper_id.
  3. Never pass ids to paper_detail; doing so will trigger a parameter error (e.g., unexpected keyword argument 'ids').
  4. If many results are matched and the user has not specified a count, default to querying only the top 10 details to avoid unnecessary costs.

Request Parameters:

Parameter Type Required Description
ids []string Yes Paper ID array, maximum 100

Response Fields:

Field Description
id Paper ID
title Paper title
abstract_slice Partial abstract
authors Author list (includes name / name_zh)
author_count Total author count
issue Volume number
raw Journal name
venue Journal info object
venue_id Venue ID
year Publication year

curl Example:

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/paper/info' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{"ids": ["53e9ab9bb7602d97023e53b2", "53e9a98eb7602d9703e42e5a"]}'

Usage Note:

paper_info is a batch endpoint. Always pass ids as an array, even when querying only one paper.


5. Paper Details

  • URL: GET /api/paper/detail
  • Price: ¥0.01/call
  • Description: Retrieve full paper details by paper ID.

Request Parameters:

Parameter Type Required Description
id string Yes Paper ID

Response Fields:

Field Description
id Paper ID
title Title (English)
title_zh Title (Chinese)
abstract Abstract
abstract_zh Abstract (Chinese)
authors Author list (name/name_zh/org/org_zh)
doi DOI
issn ISSN
issue Volume number
volume Issue number
year Year
keywords Keywords
keywords_zh Keywords (Chinese)
raw Journal name
venue Journal info object

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/paper/detail?id=53e9ab9bb7602d97023e53b2' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

Usage Note:

paper_detail is a single-paper endpoint. Pass one id; do not pass ids.


6. Paper Citations

  • URL: GET /api/paper/relation
  • Price: ¥0.10/call
  • Description: Retrieve the list of papers cited by a given paper ID.

Request Parameters:

Parameter Type Required Description
id string Yes Paper ID

Response Fields:

Field Description
_id Paper ID
title Title
cited Basic info of papers cited by this paper
n_citation Number of times cited

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/paper/relation?id=53e9ab9bb7602d97023e53b2' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

7. Paper Batch Query (Multi-keyword)

  • URL: GET /api/paper/list/citation/by/keywords
  • Price: ¥0.10/call
  • Description: Retrieve paper keywords, abstracts, and other information via multiple keywords.

Request Parameters:

Parameter Type Required Description
page number Yes Page number
size number Yes Items per page
keywords string Yes Keyword array (JSON string format)

Response Fields:

Field Description
id Paper ID
title / title_zh Title (bilingual)
abstract / abstract_zh Abstract (bilingual)
keywords / keywords_zh Keywords (bilingual)
doi DOI
year Year
total Total count

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/paper/list/citation/by/keywords?page=0&size=10&keywords=%5B%22deep+learning%22%2C%22object+detection%22%5D' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

8. Paper Details by Year and Venue

  • URL: GET /api/paper/platform/allpubs/more/detail/by/ts/org/venue
  • Price: ¥0.20/call
  • Description: Retrieve paper titles, authors, DOIs, keywords, and other details by publication year and journal.

Note

: venue_id and year must be provided together; providing only year returns null. Use the Venue Search API first to obtain the venue_id.

Request Parameters:

Parameter Type Required Description
year number Yes Paper publication year
venue_id string Yes Journal ID (obtained via Venue Search; returns null if not provided)

Response Fields (main):

Field Description
_id Paper ID
title / title_zh Title (bilingual)
abstract Abstract
authors Author array (name/org/email/homepage/orc_id/_id)
doi DOI
issn ISSN
keywords / keywords_zh Keywords (bilingual)
year Year
venue Journal info

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/paper/platform/allpubs/more/detail/by/ts/org/venue?year=2023&venue_id=<VENUE_ID>' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

Scholar APIs

  • URL: POST /api/person/search
  • Price: Free
  • Description: Search for scholar candidates by name and institution conditions; returns identity, institution, interests, and citation count.

Request Parameters:

Parameter Type Required Description
name string No Scholar name
org string No Institution name
org_id []string No Institution entity ID array
offset number No Starting position (fixed at 0; pagination not supported)
size number No Number of results, maximum 10

Response Fields:

Field Description
id Scholar ID
name Name
name_zh Name (Chinese)
org Institution (English)
org_zh Institution (Chinese)
org_id Institution ID
interests Research interests
n_citation Citation count
total Total count

curl Example:

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/person/search' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{"name": "Andrew Ng", "size": 5}'

10. Scholar Details

  • URL: GET /api/person/detail
  • Price: ¥1.00/call
  • Description: Retrieve complete personal information by scholar ID.

Request Parameters:

Parameter Type Required Description
id string Yes Scholar ID

Response Fields:

Field Description
id / person_id Scholar ID
name / name_zh Name (bilingual)
bio / bio_zh Personal bio (bilingual; not both present simultaneously)
edu / edu_zh Education history (bilingual)
orgs / org_zhs Institution list (English / Chinese)
position / position_zh Title (bilingual)
domain Research domain
honor Honors
award Awards
year Year

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/person/detail?id=53f3ae78dabfae4b34b0c75d' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

11. Scholar Portrait

  • URL: GET /api/person/figure
  • Price: ¥0.50/call
  • Description: Retrieve research interests, domains, and structured work/education history.

Request Parameters:

Parameter Type Required Description
id string Yes Scholar ID

Response Fields:

Field Description
id Scholar ID
ai_interests Research interest list
ai_domain Research domain list
edus Structured education history
works Structured work history

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/person/figure?id=53f3ae78dabfae4b34b0c75d' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

12. Scholar Papers

  • URL: GET /api/person/paper/relation
  • Price: ¥1.50/call
  • Description: Retrieve a list of papers published by a scholar (ID + title).

Request Parameters:

Parameter Type Required Description
id string Yes Scholar ID

Response Fields:

Field Description
author_id Scholar ID
id Paper ID
title Paper title

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/person/paper/relation?id=53f3ae78dabfae4b34b0c75d' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

13. Scholar Patents

  • URL: GET /api/person/patent/relation
  • Price: ¥1.50/call
  • Description: Retrieve a list of patents associated with a scholar.

Request Parameters:

Parameter Type Required Description
id string Yes Scholar ID

Response Fields:

Field Description
patent_id Patent ID
person_id Scholar ID
title Patent title
en Title (English)
zh Title (Chinese)

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/person/patent/relation?id=53f3ae78dabfae4b34b0c75d' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

14. Scholar Projects

  • URL: GET /api/project/person/v3/open
  • Price: ¥1.50/call
  • Description: Retrieve research projects a scholar has participated in (funding amount, dates, source).

Request Parameters:

Parameter Type Required Description
id string No Scholar ID

Response Fields:

Field Description
id Project ID
titles Project title
country Country
project_source Project source
fund_amount Funding amount
fund_currency Funding currency
start_date Start date
end_date End date
total Total count

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/project/person/v3/open?id=53f3ae78dabfae4b34b0c75d' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

Institution APIs

  • URL: POST /api/organization/search
  • Price: Free
  • Description: Search for institution IDs and standard names by institution keyword; includes partial aliases for normalization.

Request Parameters:

Parameter Type Required Description
orgs []string No Institution name array

Response Fields:

Field Description
aliases Alias list (partial, usually top 3)
org_id Institution ID
org_name Institution name
total Total count

curl Example:

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/organization/search' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{"orgs": ["Tsinghua University"]}'

16. Org Details

  • URL: POST /api/organization/detail
  • Price: ¥0.01/call
  • Description: Retrieve institution details by institution ID.

Request Parameters:

Parameter Type Required Description
ids []string Yes Institution ID array

Response Fields:

Field Description
id Institution ID
name / name_en / name_zh Institution name (raw/English/Chinese)
acronyms Abbreviation
aliases Alias list
details Detailed institution description
type Institution type (university/enterprise, etc.)
location Geographic location
language Language
total Total count

curl Example:

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/organization/detail' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{"ids": ["5f71b2091c455f439fe9a7d7"]}'

17. Org Scholars

  • URL: GET /api/organization/person/relation
  • Price: ¥0.50/call
  • Description: Retrieve the list of scholars affiliated with an institution (10 results per call).

Request Parameters:

Parameter Type Required Description
org_id string No Institution ID
offset number No Starting position (returns 10 results per call)

Response Fields:

Field Description
id Scholar ID
name / name_zh Scholar name (bilingual)
org / org_zh Institution (bilingual)
org_id Institution ID
total Total count

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/organization/person/relation?org_id=5f71b2091c455f439fe9a7d7&offset=0' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

18. Org Papers

  • URL: GET /api/organization/paper/relation
  • Price: ¥0.10/call
  • Description: Retrieve the list of papers published by scholars at an institution (10 results per call).

Request Parameters:

Parameter Type Required Description
org_id string Yes Institution ID
offset number Yes Starting position (returns 10 results per call)

Response Fields:

Field Description
id Paper ID
title / title_zh Title (bilingual)
doi DOI
total Total count

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/organization/paper/relation?org_id=5f71b2091c455f439fe9a7d7&offset=0' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

19. Org Patents

  • URL: GET /api/organization/patent/relation
  • Price: ¥0.10/call
  • Description: Retrieve the list of patent IDs owned by an institution; supports pagination with up to 10,000 results per call.

Request Parameters:

Parameter Type Required Description
id string Yes Institution ID
page number No Page number (starts at 1)
page_size number No Items per page; maximum 10,000

Response Fields:

Field Description
id Patent ID
total Total count

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/organization/patent/relation?id=6233173d0a6eb145604733e2&page=1&page_size=100' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

20. Org Disambiguation

  • URL: POST /api/organization/na
  • Price: ¥0.01/call
  • Description: Retrieve the standardized institution name from an institution string (including abbreviations/aliases).

Request Parameters:

Parameter Type Required Description
org string Yes Institution name (may include aliases/abbreviations)

Response Fields:

Field Description
org_name Normalized institution name

curl Example:

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/organization/na' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{"org": "MIT CSAIL"}'

21. Org Disambiguation Pro

  • URL: POST /api/organization/na/pro
  • Price: ¥0.05/call
  • Description: Extract the IDs of primary and secondary institutions from an institution string (recommended for workflows).

Request Parameters:

Parameter Type Required Description
org string Yes Institution name

Response Fields:

Field Description
一级 Primary institution name
一级ID Primary institution ID
二级 Secondary institution name
二级ID Secondary institution ID
Total / total Total count

curl Example:

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/organization/na/pro' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{"org": "Department of Computer Science, Tsinghua University"}'

Journal APIs

  • URL: POST /api/venue/search
  • Price: Free
  • Description: Search for venue IDs and standard names by venue name; includes aliases and venue type.

Request Parameters:

Parameter Type Required Description
name string No Journal name (supports fuzzy search)

Response Fields:

Field Description
id Journal ID
name_en Journal name (English)
name_zh Journal name (Chinese)
aliases Alias list (partial, usually top 3)
venue_type Venue type: journal or conference
total Total count

curl Example:

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/venue/search' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{"name": "tkde"}'

23. Venue Details

  • URL: POST /api/venue/detail
  • Price: ¥0.20/call
  • Description: Retrieve ISSN, abbreviation, type, and other details by journal ID.

Request Parameters:

Parameter Type Required Description
id string Yes Journal ID

Response Fields:

Field Description
id Journal ID
name / name_en / name_zh Name (raw/English/Chinese)
issn ISSN
eissn EISSN
alias Alias
type Journal type

curl Example:

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/venue/detail' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{"id": "<VENUE_ID>"}'

24. Venue Papers

  • URL: POST /api/venue/paper/relation
  • Price: ¥0.10/call
  • Description: Retrieve a list of papers for a journal by journal ID (supports year filtering).

Request Parameters:

Parameter Type Required Description
id string Yes Journal ID
offset number No Starting position
limit number No Number of results to return
year number No Filter by year

Response Fields:

Field Description
id Paper ID
title Paper title
year Year
offset Current offset
total Total count

curl Example:

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/venue/paper/relation' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{"id": "<VENUE_ID>", "year": 2023, "offset": 0, "limit": 20}'

Patent APIs

  • URL: POST /api/patent/search
  • Price: Free
  • Description: Search for patents by title or keyword; returns lightweight trend fields such as first inventor, application year, and publication year.

Request Parameters:

Parameter Type Required Description
query string Yes Query field, such as patent title or keywords
page number Yes Page number
size number Yes Items per page

Response Fields:

Field Description
id Patent ID
title Patent title (English)
title_zh Patent title (Chinese)
inventor_name First inventor name
app_year Application year
pub_year Publication year

curl Example:

curl -X POST \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/patent/search' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw' \
  -d '{"page":0,"query":"Si02","size":20}'

26. Patent Info

  • URL: GET /api/patent/info
  • Price: Free
  • Description: Retrieve a patent basic card by patent ID, including patent numbers, inventor, country, and basic year fields.

Request Parameters:

Parameter Type Required Description
id string Yes Patent ID

Response Fields:

Field Description
id Patent ID
title / en Patent title (English)
app_num Application number
pub_num Publication number
pub_kind Publication type
inventor Inventor
country Country
sequence Sequence
app_year Application year
pub_year Publication year

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/patent/info?id=<PATENT_ID>' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

27. Patent Details

  • URL: GET /api/patent/detail
  • Price: ¥0.01/call
  • Description: Retrieve full patent details by patent ID (including abstract, filing date, assignee, IPC classification, etc.).

Request Parameters:

Parameter Type Required Description
id string Yes Patent ID

Response Fields:

Field Description
id Patent ID
title Patent title
abstract Abstract
app_date Filing date
app_num Application number
pub_date Publication date
pub_num Publication number
pub_kind Publication type
assignee Assignee
inventor Inventor
country Country
ipc IPC classification code
ipcr IPCR classification code
cpc CPC classification code
priority Priority info
description Description

curl Example:

curl -X GET \
  'https://publicapi.chatglm.cn/chatglm_public/skill/aminer/api/patent/detail?id=<PATENT_ID>' \
  -H 'Authorization: ${AMINER_API_KEY}' \
  -H 'X-Platform: openclaw'

Appendix: API Pricing Summary

Category Free APIs Paid APIs
Paper Paper Search, Paper Info Paper Search Pro(¥0.01), Paper Details(¥0.01), Paper Citations(¥0.10), Paper QA Search(¥0.05), Paper QA Search Pro(¥0.70), Paper Batch Query(¥0.10), By Condition(¥0.20)
Scholar Scholar Search Scholar Details(¥1.00), Scholar Portrait(¥0.50), Scholar Papers(¥1.50), Scholar Patents(¥1.50), Scholar Projects(¥1.50)
Institution Org Search Org Details(¥0.01), Org Scholars(¥0.50), Org Papers(¥0.10), Org Patents(¥0.10), Org Disambiguation(¥0.01), Org Disambiguation Pro(¥0.05)
Journal Venue Search Venue Details(¥0.20), Venue Papers(¥0.10)
Patent Patent Search, Patent Info Patent Details(¥0.01)

Appendix: Common Error Codes

Code Meaning Recommended Action
401 Token invalid or expired Re-generate token at Console
403 Insufficient balance or permission denied Top up account or check token scope
404 Entity not found Verify the ID is correct
429 Rate limit exceeded Wait a few seconds and retry
500 / 502 / 503 / 504 Server error (transient) Retry with exponential backoff (1s → 2s → 4s)

For 4xx errors (except 429), do not retry — fix the request parameters first.


Appendix: Pagination Limits

API Constraint
paper_search size max 20; page starts at 1
paper_search_pro page starts at 0
paper_qa_search_pro Fixed 10 results/page; use cursor / next_cursor (cursor-only body on next page)
person_search size max 10; offset fixed at 0 (no pagination)
org_person_relation Fixed 10 results per call; use offset to paginate
org_paper_relation Fixed 10 results per call; use offset to paginate
org_patent_relation page_size max 10,000; page starts at 1
venue_paper_relation Use offset + limit to paginate
paper_info ids array max 100 items