Google Scholar | Research Papers, Citations & Author Profiles
Pricing
from $0.01 / 1,000 results
Google Scholar | Research Papers, Citations & Author Profiles
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.
Pricing
from $0.01 / 1,000 results
Rating
5.0
(3)
Developer
John
Maintained by CommunityActor stats
7
Bookmarked
38
Total users
18
Monthly active users
3 hours ago
Last modified
Categories
Share
Google Scholar Scraper
Scrape Google Scholar at scale. One actor, six modes - search research papers, pull citation formats, fetch author profiles with h-index and i10-index, paginate an author's full publication list, view per-article citation history, and map an author's full co-author network. Built for literature reviews, bibliometrics, citation tracking, and academic AI agents. The Google Scholar API returns clean, structured JSON you can call from code, no-code tools, or an MCP client, with no quotas to manage.
What this actor returns
- Research paper search results: title, link, snippet, authors, publication info, cited-by counts, and version links.
- Citation strings for any paper in MLA, APA, Chicago, Harvard, and Vancouver formats, plus BibTeX / EndNote / RefMan / RefWorks export links.
- Full author profiles with name, affiliations, email domain, interests, photo, and the standard h-index / i10-index / total-citations table (overall and recent window).
- Year-by-year citation history graphs for both authors and individual papers.
- Author publication list, paginated up to 100 results per page.
- Per-article bibliographic detail including journal, volume, issue, pages, publisher, and abstract.
- Full co-author list with profile URLs, affiliations, email domains, and photos.
The six modes
Choose with the mode input parameter.
| mode value | What it does | Required fields |
|---|---|---|
search | Search Google Scholar for papers | q (or cites, or cluster) |
cite | Get citation formats and BibTeX export for one paper | result_id |
author_profile | Fetch an author's profile + citation metrics + graph | author_id |
author_articles | Paginate the author's full publication list | author_id |
author_citation | Per-article bibliographic record with citation history | author_id, citation_id |
author_co_authors | Full list of an author's co-authors | author_id |
Example: search
{"mode": "search","q": "transformer neural network","as_ylo": 2020,"as_yhi": 2024,"num": 10,"max_pages": 3}
Example: cite
{"mode": "cite","result_id": "K7uerNYAAAAJ:u5HHmVD_uO8C"}
Example: author_profile
{"mode": "author_profile","author_id": "LSsXyncAAAAJ"}
Example: author_articles
{"mode": "author_articles","author_id": "LSsXyncAAAAJ","sort": "pubdate","num": 20,"max_pages": 2}
Example: author_citation
{"mode": "author_citation","author_id": "LSsXyncAAAAJ","citation_id": "u5HHmVD_uO8C"}
Example: author_co_authors
{"mode": "author_co_authors","author_id": "LSsXyncAAAAJ"}
Input parameters
| Parameter | Type | Modes | Description |
|---|---|---|---|
mode | string | all (required) | Which operation to run. |
q | string | search | Free-text search. Supports author: and source: operators. |
cites | string | search | Find papers that cite this article ID. |
cluster | string | search | Fetch all versions of a paper by cluster ID. |
result_id | string | cite | Result ID of a paper to fetch citation formats for. |
author_id | string | author_profile, author_articles, author_citation, author_co_authors | Google Scholar author identifier. |
citation_id | string | author_citation | Per-article ID within an author's profile. |
hl | enum | all | UI language (en, es, fr, de, ...). |
lr | string | search | Restrict to languages, e.g. lang_en|lang_fr. |
as_ylo | integer | search | Earliest publication year. |
as_yhi | integer | search | Latest publication year. |
scisbd | enum | search | 0 relevance, 1 abstracts-only by date, 2 all by date. |
as_sdt | enum | search | 0 exclude patents, 7 include patents, 4 case law. |
safe | enum | search | active / off. |
filter | enum | search | 1 enable similar-results filter (default), 0 disable. |
as_vis | enum | search | 0 include citations (default), 1 exclude citations. |
as_rr | enum | search | 1 review articles only, 0 all (default). |
sort | enum | author_profile, author_articles | title / pubdate. Omit for default citation-count sort. |
max_pages | integer | search (1-20 per page), author_articles (1-100 per page) | Max pages to fetch. 0 = no limit. Default 1. |
num | integer | search, author_articles | Per-page size. |
Example output (mode=search)
{"_mode": "search","_query_index": 1,"search_parameters": { "mode": "search", "q": "transformer", "as_ylo": 2020 },"search_metadata_status": "Success","search_timestamp": "2026-05-13T20:00:00Z","position": 0,"result_id": "K7uerNYAAAAJ:u5HHmVD_uO8C","paper_title": "Attention Is All You Need","link": "https://arxiv.org/abs/1706.03762","snippet": "...","publication_info": {"summary": "A Vaswani, N Shazeer, N Parmar - Advances in NIPS, 2017","authors": [{ "name": "Ashish Vaswani", "author_id": "..." }]},"inline_links": {"cited_by_total": 120000,"cited_by_link": "https://scholar.google.com/...","versions_total": 95,"versions_cluster_id": "13755340029141322000"}}
Example output (mode=author_profile)
{"_mode": "author_profile","_query_index": 1,"author": {"name": "Geoffrey Hinton","affiliations": "Emeritus Prof. Comp Sci, University of Toronto","email": "Verified email at cs.toronto.edu","interests": [{ "title": "Machine Learning", "link": "..." }]},"cited_by_summary": {"citations_all": 800000,"citations_recent": 500000,"h_index_all": 150,"i10_index_all": 380,"recent_since_year": 2020},"cited_by_graph": [{ "year": 2018, "citations": 35000 },{ "year": 2019, "citations": 45000 }]}
Pricing
Pay-per-event. No subscription.
- Setup: $0.02 per run (charged once).
- Query executed: $0.02 per upstream call. For paginated modes (
search,author_articles), that is once per page. For single-shot modes (cite,author_profile,author_citation,author_co_authors), that is once per run.
Worked examples:
mode=searchwithmax_pages=5-> $0.02 setup + 5 * $0.02 = $0.12.mode=author_profile-> $0.02 setup + 1 * $0.02 = $0.04.mode=author_articleswithmax_pages=3,num=100(full author bibliography) -> $0.02 + 3 * $0.02 = $0.08.
Use cases
- Build a literature review: search for a topic, then loop through
organic_results[].result_idto pull citation strings viamode=cite. - Track citation growth: run
mode=author_profileon a watchlist of researchers and store thecited_by_graphover time. - Map a research community: take any
author_idand runmode=author_co_authorsto harvest the full collaborator network. - Bibliometric analysis: page through an author's entire publication list with
mode=author_articlesandmax_pages=0for unlimited. - AI agents and RAG pipelines: feed structured Google Scholar JSON straight into a knowledge graph or vector store.
๐ Integrations: Automate Google Scholar API Pipelines
A single run answers one question. The real value of the Google Scholar API comes from running it on a schedule and piping the structured results into the tools you already use, so citation counts, author metrics, and new-paper alerts accumulate over time. See the Apify platform integrations for the full list of destinations.
Tasks and schedules (citation and literature monitoring)
Save one task per thing you track: a task with mode=search for a topic query, and a task with mode=author_profile for each researcher on a watchlist. Then attach a schedule from the actor's Actions, then Schedule menu. Useful cron strings:
0 7 * * *runs every day at 7 AM, for fresh papers on your topic.0 */6 * * *runs every six hours, for fast-moving fields.0 9 * * 1runs every Monday at 9 AM, for a weekly citation-count snapshot.
One schedule can trigger many tasks at once, so a single Monday run can refresh your whole researcher watchlist. The citation-counts task is a ready-made starting point.
n8n
The actor ships as an n8n community node, n8n-nodes-google-scholar-api (see the n8n section further down). A typical workflow is four nodes: Schedule Trigger, then the Google Scholar node, then a Filter (for example only papers whose cited_by_total clears a threshold), then Slack or email.
Make and Zapier
The same pattern works no-code in Make and Zapier: trigger on a schedule, run the actor, then route the results to a sheet, a database, or a chat channel.
Store the data in Supabase
Send the accumulating output to storage so you can chart citation growth over time. No-code: use the n8n Apify node, then a Supabase node. In code, run the actor and bulk-insert the flat rows with apify-client and supabase:
from apify_client import ApifyClientfrom supabase import create_clientapify = ApifyClient("YOUR_APIFY_TOKEN")supabase = create_client("YOUR_SUPABASE_URL", "YOUR_SUPABASE_KEY")run = apify.actor("johnvc/google-scholar-api").call(run_input={"mode": "search","q": "retrieval augmented generation","as_ylo": 2022,"max_pages": 3,})rows = []for item in apify.dataset(run.default_dataset_id).iterate_items():rows.append({"result_id": item.get("result_id"),"paper_title": item.get("paper_title"),"link": item.get("link"),"cited_by_total": item.get("inline_links", {}).get("cited_by_total"),})supabase.table("scholar_papers").upsert(rows, on_conflict="result_id").execute()
MCP and AI agents
Add the actor to any MCP client and let the agent pick the right mode for a plain-language question. The exact server URL is in the MCP section right below, and the FAQ covers it in more detail.
Webhooks
For anything custom, attach an Apify webhook on the ACTOR.RUN.SUCCEEDED event to POST the dataset to your own endpoint the moment a run finishes.
๐ Use this Google Scholar API from Claude (MCP)
Add this actor as a tool in any MCP client (Claude, Cursor, and other agents) through the hosted Apify MCP server. Point your client at:
https://mcp.apify.com/?tools=actors,docs,johnvc/google-scholar-api
Then ask in plain language, for example "find the 20 most-cited papers on retrieval augmented generation since 2022" or "pull Geoffrey Hinton's h-index and citation history", and the agent runs the right mode for you. If you work in Claude Code (free trial) or Claude Cowork, the same MCP URL plugs straight in.
Prefer code, or want a full setup walkthrough? The Google Scholar API example repo has a Python quick-start plus MCP install steps for Claude, Cursor, and ChatGPT.
How to get started
- Open the actor in the Apify console and click Try for free.
- Pick a
modeand fill in the required fields shown above. - Click Run.
- Results land in the default dataset. Download as JSON, CSV, or Excel from the Storage tab, or use the Apify API.
You can also call this actor from your code via the Apify SDK (Python, JavaScript, or curl) or as a tool in any MCP-aware AI agent.
๐ Related Tools
Building an academic research pipeline usually means combining sources. These related tools from the same publisher pair well with the Google Scholar API:
- Google Scholar Lite API: a stripped-down, lower-cost sibling for high-volume paper search when you do not need author profiles or citation exports.
- Google Scholar Case Law API: search U.S. court opinions and case law indexed by Google Scholar, for legal research alongside academic papers.
- Google Patents API: pull patent records so you can pair prior-art and intellectual-property data with the literature you collect here.
For contrast, an older single-purpose alternative such as the easyapi Google Scholar Scraper runs only one search mode. It returns a flat list of papers but cannot fetch author profiles with h-index, citation-format exports, per-article citation history, or co-author networks; it was last updated in May 2026; and it charges a higher per-result fee. This actor covers all six of those modes in one place and is actively maintained.
FAQ
Can I schedule this Google Scholar scraper?
Yes. Any run can be automated on a schedule. First save a task with your input (your query or an author_id), then open the actor's Actions menu, then Schedule, and pick a cadence. Cron examples: 0 7 * * * for daily at 7 AM, 0 */6 * * * for every six hours, and 0 9 * * 1 for Mondays at 9 AM. One schedule can trigger many tasks at once, so a single run can refresh a whole watchlist of topics and authors. See the Integrations section above for the full monitoring recipe.
Should I use an API or a web scraper for Google Scholar?
Google Scholar has no official public API, so both routes come down to scraping done well. This actor gives you both faces of the same tool: a no-code web scraper you run from the console, and a clean API endpoint you call from your own code, with no quotas or key management on your side. If you have hit the limits of do-it-yourself web scraping, this handles pagination, parsing, and the six modes for you.
Can I integrate this Google Scholar scraper with other apps?
Yes. The actor connects to almost any cloud service through Apify integrations: Make, Zapier, Slack, Google Sheets, and more. For custom actions, attach a webhook on ACTOR.RUN.SUCCEEDED. The Integrations section above has copy-paste recipes.
Can I use the Google Scholar API with the Apify API?
Yes. The Apify API lets you run this actor, schedule it, and fetch datasets programmatically, and the apify-client package is available for both Node.js and Python. Pass the same input JSON you would use in the console, then read the results from the run's default dataset.
Can I use this scraper through an MCP server?
Yes. Add the actor as a tool in any MCP client (Claude, Cursor, and others) through the hosted Apify MCP server, using the URL https://mcp.apify.com/?tools=actors,docs,johnvc/google-scholar-api. If you use Claude Code (free trial) or Claude Cowork, the same MCP endpoint works there. See the Apify MCP docs for setup.
How can I collect other academic and research data?
Combine this actor with the related tools from the same publisher: the Google Scholar Lite API for cheaper high-volume paper search, the Google Scholar Case Law API for U.S. court opinions, and the Google Patents API for patents and prior art. Run them on the same schedule to keep a research dataset current.
Does Google Scholar use AI?
Google Scholar has long used machine learning to rank results and match citations, and it keeps adding AI-assisted features. That does not change how this actor works: it reads the same public result pages a browser sees and returns them as structured JSON, so you can feed papers, citations, and author metrics into your own AI or bibliometrics workflow.
What is bibliometric analysis?
Bibliometric analysis is the quantitative study of publications: counting citations, tracking an author's h-index and i10-index over time, and mapping how research topics and co-author networks evolve. This actor supplies the raw inputs for it, via mode=author_profile, mode=author_articles, mode=author_citation, and mode=author_co_authors.
Why is my run charged for setup even when there are no results?
The $0.02 setup fee covers the run's instance provisioning. If you only want results, set tight inputs (max_pages=1, narrow query) so the setup is the only charge.
How do I find a result_id or author_id?
Run mode=search first. Each item in the output contains result_id (use it for mode=cite or as a cites / cluster value) and publication_info.authors[].author_id (use it for any author mode).
What languages are supported?
The hl enum exposes the most common 29 languages. The upstream API supports more; if you need one that is not in the list, open an issue and we will add it.
Why doesn't pagination always reach max_pages?
Google Scholar stops returning results when it runs out of matches. Pagination ends early when the upstream API returns fewer items than num or signals no next page.
My run failed with an authentication error.
The actor needs an API key configured by the publisher. If you see a "Missing key" error, the deployment is misconfigured, so please report it.
Links
- Source code on GitHub: https://github.com/johnvc/ApifyGoogleScholar
- More scrapers from this publisher: https://apify.com/johnvc?fpr=9n7kx3
n8n integration
Available as an n8n community node, n8n-nodes-google-scholar-api. In n8n: Settings, Community Nodes, install n8n-nodes-google-scholar-api, then use it in any workflow (it also works as an AI Agent tool).
Featured Tasks
Ready-to-run examples that show this API solving a specific problem. Each opens its own setup so you can run it on your account in one click.
- Find papers citing Attention Is All You Need - every paper citing a landmark work, with authors, year, and citations.
- Get citation counts for every paper by an author - an author's full paper list with citation counts, years, and links.
- Search Google Scholar from Claude via MCP - Google Scholar search inside Claude chat via MCP, with citations.
- Export Google Scholar Results to CSV
Last Updated: 2026.07.12