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 |
|
SerpApi authentication | Required |
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 |
|
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 ( | A research question in plain language |
What you get | One Scholar results page: titles, snippets, links, | A list of papers with all their relevant metadata |
Sources | Google Scholar only | SciSpace's 280M+ index, |
Author profile metrics (h-index, i10) | Yes, through SerpApi's author engine with a known | 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.

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 |
Cite returns an error or wrong result | Wrong identifier passed as | Pass the organic result's |
OpenAlex first page succeeds, then HTTP 401 | Anonymous request followed | Include the API key when traversing cursors (paging). |
HasData HTTP 200, | 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 |
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.

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
- Google Scholar Help
- Crossref REST API documentation
- Requests installation
- Requests advanced usage
- SerpApi Google Scholar API
- SerpApi pricing
- SearchApi Google Scholar documentation
- OpenAlex API reference
- OpenAlex authentication
- OpenAlex database snapshot
- SearchApi pricing
- HasData Google Scholar Search documentation
- HasData Google Scholar Cite documentation
- HasData pricing
- HasData Google Scholar API and billing options
- HasData API response codes
- SerpApi API status and error codes
- Crossref metadata retrieval
- OpenAlex access and pricing
- OpenAlex example operation costs
- SerpApi Google Scholar Organic Results
- SerpApi Google Scholar Cite API
- SerpApi Google Scholar Author API
- SerpApi author citation metrics
- SerpApi author publications
- SerpApi author publication detail
- SerpApi Google Scholar Profiles discontinuation notice
- OpenAlex API endpoints
- OpenAlex paging
- OpenAlex searching
- SerpApi official Python package
- scholarly Python library
- 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.