Google Scholar
Scrape Google Scholar at scale. Search research papers, get citation formats (MLA, APA, Chicago, BibTeX), author profiles with h-index and i10-index, list an author's publications, view per-article citation history, & map co-author networks. Six modes in one for lit reviews, bibliometrics, & agents.
MEDIAN LAGon demand
PARAMETERS14
TOTAL USERS47
MONTHLY ACTIVE25
TOTAL RUNS1,107
RUNS SUCCEEDED99.9%
RATING5.0 (3)
Input parameters
| PARAMETER | TYPE | REQ | DEFAULT | DESCRIPTION |
|---|---|---|---|---|
| mode | enum | yes | search | Which Google Scholar operation to run. |
| q | string | no | — | Free-text query for mode=search. |
| cites | string | no | — | For mode=search only. |
| cluster | string | no | — | For mode=search only. |
| result_id | string | no | — | For mode=cite only. |
| author_id | string | no | — | For mode=author_profile, author_articles, author_citation, and author_co_authors. |
| citation_id | string | no | — | For mode=author_citation only. |
| hl | enum | no | en | Language for the user interface and result display. |
| lr | string | no | — | For mode=search only. |
| as_ylo | integer | no | — | For mode=search only. |
| as_yhi | integer | no | — | For mode=search only. |
| scisbd | enum | no | 0 | For mode=search only. |
| as_sdt | enum | no | 0 | For mode=search only. |
| safe | enum | no | — | For mode=search only. |
Worked examples
{
"mode": "search"
}
Coverage
29
ui language — en es fr de it +24
6
mode — search cite author_profile author_articles author_citation +1
Tasks
Saved runs with the inputs already filled in — each one a standalone page and a working configuration example.
Code
curl
curl -X POST "https://api.apify.com/v2/acts/johnvc~google-scholar-api/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode": "search"}'
Python
from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/google-scholar-api").call(
run_input={'mode': 'search'}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item)