Install
openclaw skills install dataify-google-scholarWhen the user requests "call Google Scholar" or "academic search/paper search", or explicitly mentions the academic search field, the dataify-google-scholar skill is triggered.
openclaw skills install dataify-google-scholarUse this skill to turn a user's Google Scholar request into a Dataify Scraper API call.
Before every real API call, follow this confirmation flow. These rules override any older workflow order in this skill.
engine value.pizza, us, en, dates, airport codes, or tokens as defaults.Authorization. Include the complete body field list from this skill's reference document, including engine, even when a field is currently blank.参数名, 当前值, 默认值, 说明.DATAIFY_API_TOKEN.
Use the bundled preview helper whenever possible to generate the confirmation table from this skill's reference document:python3 scripts/preview_params.py --params-json '{"q":"USER_QUERY"}'
Pass every parsed current value to preview_params.py using --params-json or matching --field value arguments. The helper reads defaults and descriptions from references/*api.md; if the helper cannot parse a default, leave the default blank rather than inventing one.
9. After confirmation and token handling, call the bundled Python script with python3 and return the API response body directly without summarizing, extracting, cleaning, translating, or reshaping it.
engine to google_scholar.DATAIFY_API_TOKEN.references/google_scholar_api.md; never use example values as defaults.Authorization. The table must contain only these columns: 参数名, 当前值, 默认值, 说明.python3. Run it from this skill directory, or use the absolute path to scripts/google_scholar.py.Preview the complete parameter table:
python3 scripts/google_scholar.py --request "搜索 large language model,2020 到 2024,返回 20 条" --preview
Call the API after the user confirms:
python3 scripts/google_scholar.py --q "large language model" --as_ylo 2020 --as_yhi 2024 --num 20
For many fields, pass one JSON object with shell-appropriate quoting:
python3 scripts/google_scholar.py --params-json '{"q":"large language model","as_ylo":"2020","as_yhi":"2024","num":"20"}'
If the user provided a token in the conversation instead of an environment variable, pass it with --token and avoid echoing it back in the final answer:
python3 scripts/google_scholar.py --token "USER_TOKEN" --q "large language model"
Use references/google_scholar_api.md when you need the exact field list, defaults, or accepted values.
Core rules:
Content-Type: application/x-www-form-urlencoded.engine to google_scholar.q, cites, or cluster.cluster with q or cites; cluster must be used by itself.Bearer is accepted and prefixed automatically.Common mappings:
json: "1"json: "2"json: "3"json: "4"hllr, formatted like lang_fr or lang_fr|lang_destart: String((N - 1) * 10)num, range 1 to 20citesclusteras_yloas_yhiscisbd: "1" for abstracts only or scisbd: "2" for all contentas_sdt: "7"as_sdt: "0"as_sdt: "4"safe: "active" or safe: "off"filter: "0"as_vis: "1"as_vis: "0"as_rr: "1"no_cache: "true"