Google Scholar | Research Papers, Citations & Author Profiles avatar

Google Scholar | Research Papers, Citations & Author Profiles

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Google Scholar | Research Papers, Citations & Author Profiles

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

John

Maintained by Community

Actor stats

7

Bookmarked

38

Total users

18

Monthly active users

3 hours ago

Last modified

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 valueWhat it doesRequired fields
searchSearch Google Scholar for papersq (or cites, or cluster)
citeGet citation formats and BibTeX export for one paperresult_id
author_profileFetch an author's profile + citation metrics + graphauthor_id
author_articlesPaginate the author's full publication listauthor_id
author_citationPer-article bibliographic record with citation historyauthor_id, citation_id
author_co_authorsFull list of an author's co-authorsauthor_id
{
"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

ParameterTypeModesDescription
modestringall (required)Which operation to run.
qstringsearchFree-text search. Supports author: and source: operators.
citesstringsearchFind papers that cite this article ID.
clusterstringsearchFetch all versions of a paper by cluster ID.
result_idstringciteResult ID of a paper to fetch citation formats for.
author_idstringauthor_profile, author_articles, author_citation, author_co_authorsGoogle Scholar author identifier.
citation_idstringauthor_citationPer-article ID within an author's profile.
hlenumallUI language (en, es, fr, de, ...).
lrstringsearchRestrict to languages, e.g. lang_en|lang_fr.
as_ylointegersearchEarliest publication year.
as_yhiintegersearchLatest publication year.
scisbdenumsearch0 relevance, 1 abstracts-only by date, 2 all by date.
as_sdtenumsearch0 exclude patents, 7 include patents, 4 case law.
safeenumsearchactive / off.
filterenumsearch1 enable similar-results filter (default), 0 disable.
as_visenumsearch0 include citations (default), 1 exclude citations.
as_rrenumsearch1 review articles only, 0 all (default).
sortenumauthor_profile, author_articlestitle / pubdate. Omit for default citation-count sort.
max_pagesintegersearch (1-20 per page), author_articles (1-100 per page)Max pages to fetch. 0 = no limit. Default 1.
numintegersearch, author_articlesPer-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=search with max_pages=5 -> $0.02 setup + 5 * $0.02 = $0.12.
  • mode=author_profile -> $0.02 setup + 1 * $0.02 = $0.04.
  • mode=author_articles with max_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_id to pull citation strings via mode=cite.
  • Track citation growth: run mode=author_profile on a watchlist of researchers and store the cited_by_graph over time.
  • Map a research community: take any author_id and run mode=author_co_authors to harvest the full collaborator network.
  • Bibliometric analysis: page through an author's entire publication list with mode=author_articles and max_pages=0 for 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 * * 1 runs 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 ApifyClient
from supabase import create_client
apify = 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

  1. Open the actor in the Apify console and click Try for free.
  2. Pick a mode and fill in the required fields shown above.
  3. Click Run.
  4. 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.

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.


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).


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.


Last Updated: 2026.07.12