Research · Coming soon

Google Scholar Search Scraper

Search Google Scholar and get one row per article. Each row has title, authors, year, snippet and cited-by count. It adds a PDF link when shown. You need no Google login.

Built and tested. Prices will be shown after release.

Coming soon to the Apify StoreFollow us on Apify

What you get, for example

queryweb scraping
position1
page1

How it will work: 3 steps

  1. Follow us on ApifyThe tool is built and waits in the queue for the Apify Store. Apify is the cloud platform where our tools run.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: web scraping in Search queries. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Search Google Scholar with your own queries and get one Dataset row per article: title, link, authors, venue, year, snippet, cited-by count and a direct PDF or HTML link when Scholar shows one. Add a year range, skip [CITATION] entries or sort by date. No Google login, account or API key is needed.

Good for

  • Literature review: the top articles on a topic, with authors, venue, year and citation counts in one spreadsheet.
  • Finding open full texts: pdfUrl gives the direct [PDF] or [HTML] link from the right column of Scholar.
  • Comparing topics or periods: several queries in one run, each with the same year range.
  • Feeding papers to an AI agent or a RAG pipeline: titles, snippets and links as clean JSON.

Not a good fit

  • More than 100 articles per query. Scholar cuts deeper pages for automated traffic; split a big topic into narrower queries or year ranges.
  • Author profile pages, "Cited by" lists, BibTeX/citation export or full abstracts. The Actor returns the snippet Scholar shows, not the abstract.
  • Downloading PDFs. The Actor returns links; it does not fetch or store files.
  • Pages behind a CAPTCHA. The Actor never solves CAPTCHAs. When Scholar blocks every proxy IP, the query gets an error row and is not charged.

Who uses it

Students

Make a list of top papers on a topic for a literature review.

Researchers

Compare topics or years in one run with the same filters.

AI builders

Send titles, snippets and links to an AI agent as clean JSON.

Price

Prices will be shown after release.

Questions

Do I need a Google account or an API key?

No. It reads public Scholar pages. You only need an Apify account.

Why is citedBy or year empty for some rows?

Scholar does not show them for every result. Empty means not shown, not zero.

Can I get every article on a topic?

No. It returns up to 100 articles per query. Use narrower queries or year ranges to get more.

Does it download PDFs?

No. It gives you the links only. It does not save files.

Are the results the same as in my browser?

Not always. Scholar answers different IPs and sessions differently: when we ran the same query several times, the order and some of the articles changed between runs. position is Scholar's order at the time of the run, so compare by title or url, not by position.

Details

Step by step on Apify
  1. Open the Input tab. The form is prefilled with the query web scraping and Max results per query = 10.
  2. Click Start.
  3. Open the Results view in the Dataset. Check title, authors, year, citedBy and pdfUrl.
  4. Open the RUN_SUMMARY record in the Key-value store to see the run status and counts.
Use cases
TaskInputYou getKey fieldsNext step
Top papers on a topicqueries + maxResultsArticletitle, authors, year, citedByExport CSV or Excel
Papers from a fixed periodyearFrom + yearToArticleyear, venue, urlScreening spreadsheet
Open full textsincludeCitations: falseArticlepdfUrl, fullTextType, sourceDownload with your own tool
Newest paperssortByDate: trueArticleaddedAgo, title, urlRead via API
Papers by one author or journalqueries with author: or source:ArticleauthorProfiles, venue, citedByJoin on resultId
Tips for better results
  • Use a year range to focus on new papers.
  • Use narrow queries or year ranges to get more than 100 articles.
  • Use the pdfUrl field to find open full texts fast.
Limits and good to know

This Actor is independent of Google. It reads public Google Scholar results pages, the same pages you see in a browser without login. Articles belong to their authors and publishers; check their terms before you reuse texts or PDFs.

  • Up to 200 queries per run and 100 articles per query. In our tests 200 queries × 1 article took about 9 minutes with a 600-second timeout, so raise the timeout for big lists
  • Speed: a 10-article run usually takes under 10 seconds. In our tests 3 queries × 50 articles took about 30 seconds, and 5 queries × 100 articles took 2–3 minutes at 256 MB
  • Deep pages: Scholar often repeats or empties pages after about 70 articles of one query. In our tests 1–2 of 5 queries × 100 ended with a free error row after 72–92 articles; the other queries reached 100
  • The default run timeout is 300 seconds. The Actor stops source work 15 seconds before the timeout and keeps what it has: the run ends SUCCEEDED with status CAPPED and reason DEADLINE. For many queries, raise the timeout in the run options
  • Default memory is 256 MB; more memory does not add results
  • Results are in English Scholar (hl=en) with Scholar's default search scope (articles, no patents)

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. Some values are changed for privacy. In Excel or CSV each field is a column.

one result · JSON
{
  "query": "web scraping",
  "position": 1,
  "page": 1,
  "resultId": "vzUZDE4wNWMJ",
  "type": "pdf",
  "title": "Web scraping or web crawling: State of art, techniques, approaches and application.",
  "url": "http://i-csrs.org/Volumes/ijasca/2021.3.11.pdf",
  "authors": ["Author One"],
  "authorsTruncated": false,
  "authorProfiles": [
    { "name": "Author One", "profileId": "AUTHOR_ID_1", "profileUrl": "https://scholar.google.com/citations?user=AUTHOR_ID_1&hl=en" }
  ],
  "venue": "International Journal of Advances in Soft Computing & …",
  "year": 2021,
  "source": "i-csrs.org",
  "snippet": "… are required to implement web scrapping properly such as … into what web scraping is, how it works, web scraping stages, …",
  "addedAgo": null,
  "citedBy": 679,
  "versions": 4,
  "pdfUrl": "http://i-csrs.org/Volumes/ijasca/2021.3.11.pdf",
  "fullTextType": "PDF",
  "searchUrl": "https://scholar.google.com/scholar?q=web+scraping&hl=en&as_sdt=0%2C5",
  "status": "complete",
  "statusReason": null,
  "errorCode": null,
  "fetchedAt": "2026-10-17T12:32:46.110Z"
}
Data fields (27)
FieldTypeMeaning
querystringYour search query.
positionintegerPlace of the article among the articles returned for this query, continuing across pages (page 2 normally starts at 11). Articles Scholar repeats from earlier pages are skipped, so later positions can move up. Null on not_found/error rows.
pageintegerScholar result page (1 = first page).
resultIdstringScholar's own id of the result (data-cid), stable across runs; useful for de-duplication.
typestringKind Scholar marks before the title: article (no label), pdf, html, book or citation (known only from reference lists).
titlestringArticle title.
urlstringLink of the title (publisher page or repository). Null for [CITATION] entries without a link.
authorsarrayAuthor names as Scholar prints them (initials and surname). Scholar may shorten long lists, see authorsTruncated.
authorsTruncatedbooleanTrue when Scholar cut the author list with "…".
authorProfilesarrayAuthors with a Google Scholar profile: [{name, profileId, profileUrl}].
venuestringJournal, conference or book as Scholar prints it; may be shortened with "…". Null when Scholar shows none.
yearintegerPublication year from the result line. Null when Scholar shows no year (not 0).
sourcestringDomain or publisher Scholar shows at the end of the result line, e.g. "nature.com".
snippetstringText excerpt Scholar shows under the title.
addedAgostringOnly with sortByDate: how long ago Scholar added the article, as Scholar prints it (e.g. "2 days ago"); removed from the snippet. Null otherwise.
citedByintegerNumber from "Cited by N". 0 when Scholar shows the result's link bar without a "Cited by" link (no known citations); null when the link bar is missing.
citedByUrlstringScholar page listing the citing articles.
versionsintegerNumber from "All N versions"; 1 when the link bar has no versions link; null when the link bar is missing.
versionsUrlstringScholar page listing all versions.
relatedUrlstringScholar "Related articles" search.
pdfUrlstringDirect full-text link from the right column ([PDF] or [HTML]); null when Scholar shows none.
fullTextTypestringLabel Scholar shows for that link: usually PDF or HTML, sometimes another file type such as PS or DOC.
searchUrlstringScholar results page this row came from.
statusstringcomplete: an article row. not_found: Scholar found nothing for the query and filters (no article charge; the query event applies). error: the query or a later page failed (free), see statusReason.
statusReasonstringWhy the row is not_found or error.
errorCodestringMachine-readable error code on error rows, e.g. SOURCE_BLOCKED, DEADLINE_REACHED.
fetchedAtstringWhen the page was fetched (ISO 8601, UTC).
Input settings (7)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Search queries requiredqueriesarray["web scraping"]
Max results per querymaxResultsinteger10
From yearyearFrominteger
To yearyearTointeger
Include citationsincludeCitationsbooleantrue
Sort by datesortByDatebooleanfalse
ProxyproxyConfigurationobject{"useApifyProxy": true}

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure