跳到正文

Google Scholar API: Python, Keys, Pricing and Alternatives

摘要

Google Scholar 没有官方公开开发者 API,开发者只能通过 SerpApi、HasData 等第三方接口或 OpenAlex、Crossref 等独立学术 API 获取数据。

摘要由模型根据原文撰写,以原文为准。

正文 · 原文

Google Scholar has no documented public developer API; use a third-party integration or an independent scholarly API, not a bulk Scholar export (Google Scholar Help). This no-key example searches Crossref's /works endpoint, not Scholar; install Requests with python -m pip install requests.

Output:

Tested Oct 22, 2026

Google Scholar API at a glance

Property

What developers need to know

Scholar integration endpoint

GET https://serpapi.com/search with engine=google_scholar; this is a vendor endpoint (SerpApi).

SerpApi authentication

Required api_key parameter containing a provider-issued key (documentation).

SerpApi response

JSON by default (documentation).

SerpApi Free rate limit

50 searches per hour, separate from the monthly allowance (pricing).

SearchApi Scholar page size

Default 10 results; maximum 20 (documentation).

Scholar result cap

At most 1,000 visible results per query (Google Scholar Help).

OpenAlex base URL

https://api.openalex.org; an independent scholarly graph (API reference).

OpenAlex authentication

Basic queries can work without a key; a key is required to follow cursors (authentication).

Crossref authentication

No registration required for public metadata access (documentation).

SciSpace Search API

One plain-language query across SciSpace's 280M+ paper index, Google Scholar, PubMed and arXiv. Returns papers with all their relevant metadata. Not a Google-issued API

SciSpace API access

Early access now; open to anyone at launch with $5 in free API credits. Separate from SciSpace consumer plans

Scraper APIs: keys, pricing and limits

How do I get a Google Scholar API key?

Obtain credentials from your chosen provider, not Google. SerpApi requires an api_key parameter; the examples below read SERPAPI_API_KEY. HasData uses an x-api-key header.

Free offers and paid plans

Distinguish recurring allowances from signup offers, and credits from requests:

A successful HasData Scholar Search request costs 10 credits, as does a Scholar Cite request. Budget by successful requests, not papers returned: HasData can charge a completed scrape that returns no data (response codes).

What is the rate limit?

There is no shared vendor limit. SerpApi Free allows 50 searches per hour, separately from its monthly balance. An HTTP 429 response can mean hourly exhaustion or no searches remaining; backoff cannot replenish an exhausted allowance.

Official scholarly APIs

OpenAlex and Crossref provide their own scholarly data, not Google Scholar's result order or profile metrics.

OpenAlex: connected records and bulk access

OpenAlex connects works, authors, sources, institutions and topics. A free account provides $1 of API usage daily, resetting at midnight UTC. Operation prices differ: list/filter calls cost $0.10 per 1,000; keyword search costs $1 per 1,000; reranking adds another $1 per 1,000.

For whole-database work, use the snapshot, available as compressed JSON Lines or Parquet without an AWS account, rather than treating a search loop as a bulk export. OpenAlex metadata is CC0.

Crossref: bibliographic metadata without signup

Crossref metadata includes titles, contributors, descriptions, dates, references and connecting identifiers. Public access is free, and no signup is required. Optional Metadata Plus provides a dedicated service pool and monthly snapshots.

SciSpace Search API: Scholar results alongside other sources

Scraper APIs return a single Google Scholar results page. OpenAlex and Crossref return their own records. The SciSpace Search API takes one research question in plain language and returns a list of papers, each with all its relevant metadata, drawn from SciSpace's 280M+ paper index, Google Scholar, PubMed and arXiv.

Scholar scraper APIs

SciSpace Search API

What you send

Keywords plus provider-specific parameters (q, start, num)

A research question in plain language

What you get

One Scholar results page: titles, snippets, links, result_ids

A list of papers with all their relevant metadata

Sources

Google Scholar only

SciSpace's 280M+ index, [GS-SOURCE] Google Scholar, PubMed, arXiv

Author profile metrics (h-index, i10)

Yes, through SerpApi's author engine with a known author_id

Not offered. Use a Scholar integration for this

Access

Provider key; monthly plans

Early access; open to anyone at launch, $5 free credits

Where scrapers are the better choice: if your product must reproduce Google Scholar's exact result order, profile metrics or Cite formats, use a Scholar integration. The SciSpace Search API is for finding papers across sources, not mirroring Scholar's pages.

Choose a Scholar integration for exact Scholar profile metrics, OpenAlex for connected records, or Crossref for bibliographic enrichment. or the SciSpace Search API for papers with full metadata from several sources in one query.

Application decision diagram separating Scholar search results, independent scholarly records and a research answer with citations.

Python recipes: search, citations and author metrics

Each recipe below is self-contained. Set the named environment variable to make live requests; without it, the recipe prints a setup reminder and skips the requests.

Search and paginate Scholar results

SerpApi's start parameter is a result offset, not a page number: default pages advance through offsets 0, 10 and 20. SearchApi instead uses page, starting at 1, together with num.

This example requests two pages and prints compact title/identifier pairs from organic_results.

Output:

The sleep is example pacing, not an allowance guarantee. Check throughput and remaining-search limits before expanding the loop.

Format a reference with Scholar Cite

The google_scholar_cite engine expects a search result's result_id in q, not a DOI, author name or text query. This recipe searches first, then passes the first result's identifier to Cite.

Output:

Cite is not cited-by search. Cite formats a reference; HasData's cites parameter retrieves citing papers using citedBy.citesId. Keep those identifiers separate.

Author metrics and retired Profiles discovery

SerpApi's known-author engine requires author_id, obtained from the user parameter in a known Scholar profile URL, not the author's name.

The Profiles discovery engine is discontinued because of login requirements. The separately documented known-author engine is a different workflow.

OpenAlex cursor pagination

OpenAlex supports a maximum per_page value of 100 and requires a key to follow next_cursor. This /works example caps its work at two pages and stops earlier if results are exhausted.

Output:

Replace legacy per_page=200 with 100, and use cursors beyond the first 10,000 results available through basic pagination. When translating searches, OpenAlex supports uppercase AND, OR and NOT; a minus sign does not exclude a word.

Python libraries

For a provider wrapper, use SerpApi's official package, installed with pip install serpapi; do not mix its examples with the legacy google-search-results distribution.

The community scholarly library offers another retrieval path. Its documentation says it "does not use an official API, no key is required." That is not a Google-issued free API entitlement.

Common errors

Symptom

Cause

Fix

SerpApi HTTP 429

Hourly throughput or account allowance exhausted.

Back off for temporary throttling; inspect the remaining allowance (errors).

Pagination repeats or skips results

Provider parameters were mixed.

Use SerpApi's offset start, not SearchApi's page (SerpApi, SearchApi).

Cite returns an error or wrong result

Wrong identifier passed as q.

Pass the organic result's result_id (Cite).

OpenAlex first page succeeds, then HTTP 401

Anonymous request followed next_cursor.

Include the API key when traversing cursors (paging).

HasData HTTP 200, status=ok, no data

Scrape completed, but the item does not exist.

Inspect error and data fields; do not blindly retry a charged scrape (codes).

Identical SerpApi requests look stale

Identical searches are cached for one hour.

Use no_cache=true when needed; do not combine it with async (documentation).

Fresh scrape contains old metadata

Upstream Scholar record remains uncorrected.

Track retrieval time separately; corrections can take "6-9 months to a year or longer" (Scholar Help).

Terms and compliance

Google Scholar asks automated clients to "please respect our robots.txt"; a scraper subscription is not blanket authorization from Google.

Separate collection from reuse: SearchApi's advertised legal protection "does not cover your use of the data or unlawful activities." Separate metadata from article text: Crossref warns that some abstracts may be subject to copyright. Do not promise Scholar bulk export: Google says it is "unable to provide bulk access".

SciSpace API: from discovery to cited answers

SciSpace API: a research API that returns cited answers and extracted paper tables.

Scholar search is a discovery layer: its documented response contains metadata, snippets and resource links, not a guaranteed full-paper evidence corpus (SerpApi organic results).

Send SciSpace a research question in plain language, and the agent plans the work, selects tools and sources, searches, reads, extracts and returns an answer with paper citations.

SciSpace can merge and deduplicate search results into a paper table, add extracted columns such as method, dataset and outcome, and answer questions across the result set. The paper table can also be retrieved as structured data. Follow-up questions retain thread context.

SciSpace API is in early access and is not generally available. The diagram is an integration preview showing thread submission, an accepted response, polling and a final answer with paper citations.

SciSpace early-access integration preview showing thread submission, an accepted response, polling and a completed answer with paper citations.

Frequently asked questions

Does Google Scholar have an official API?

No public Google Scholar developer API is documented in the reviewed official material, and Google declines bulk access ([Google Scholar Help](https://scholar.google.com/intl/en/scholar/help.html)). Third-party services issue their own credentials ([SerpApi](https://serpapi.com/google-scholar-api)).

Is there a free Google Scholar API?

Third-party free offers exist: SerpApi has a recurring free tier, while SearchApi's free requests are a signup offer ([SerpApi pricing](https://serpapi.com/pricing), [SearchApi pricing](https://www.searchapi.io/pricing)).

How do I get a Google Scholar API key?

Obtain a provider key. SerpApi expects an api_key parameter; HasData uses an x-api-key header ([SerpApi](https://serpapi.com/google-scholar-api), [HasData](https://docs.hasdata.com/apis/google-scholar/scholar)).

Can I retrieve an author's citation count and h-index?

Yes. SerpApi documents citations, h_index, i10_index and annual citation history in author-profile data ([author metrics](https://serpapi.com/google-scholar-author-cited-by)). Use a known author identifier ([author engine](https://serpapi.com/google-scholar-author-api)).

What is the difference between Scholar Cite and cited-by search?

Cite returns reference formats; cited-by search returns papers that cite a publication. The operations use different identifiers ([Cite](https://serpapi.com/google-scholar-cite-api), [cited-by search](https://docs.hasdata.com/apis/google-scholar/scholar)).

Can an API export every Google Scholar result?

No. Google caps visible results for a particular query and does not provide bulk record access ([Google Scholar Help](https://scholar.google.com/intl/en/scholar/help.html)).

Does SerpApi's Google Scholar Profiles API still work?

No. The Profiles discovery engine is discontinued because of login requirements. The known-author engine is a separate workflow ([Profiles notice](https://serpapi.com/google-scholar-profiles-api), [author engine](https://serpapi.com/google-scholar-author-api)).

Last checked

Facts, prices and code examples in this guide were checked on October 22, 2026.

Sources

  1. Google Scholar Help
  2. Crossref REST API documentation
  3. Requests installation
  4. Requests advanced usage
  5. SerpApi Google Scholar API
  6. SerpApi pricing
  7. SearchApi Google Scholar documentation
  8. OpenAlex API reference
  9. OpenAlex authentication
  10. OpenAlex database snapshot
  11. SearchApi pricing
  12. HasData Google Scholar Search documentation
  13. HasData Google Scholar Cite documentation
  14. HasData pricing
  15. HasData Google Scholar API and billing options
  16. HasData API response codes
  17. SerpApi API status and error codes
  18. Crossref metadata retrieval
  19. OpenAlex access and pricing
  20. OpenAlex example operation costs
  21. SerpApi Google Scholar Organic Results
  22. SerpApi Google Scholar Cite API
  23. SerpApi Google Scholar Author API
  24. SerpApi author citation metrics
  25. SerpApi author publications
  26. SerpApi author publication detail
  27. SerpApi Google Scholar Profiles discontinuation notice
  28. OpenAlex API endpoints
  29. OpenAlex paging
  30. OpenAlex searching
  31. SerpApi official Python package
  32. scholarly Python library
  33. scholarly quickstart

注意转载授权 · 阅读原文

来源:SciSpace · scispace.com

引用原文

SciSpace. Google Scholar API: Python, Keys, Pricing and Alternatives[EB/OL]. (2026-10-19)[访问日期]. https://scispace.com/guides/google-scholar-api.