Links

Google Scholar API

Scraping Google Scholar gives you access to various educational resources. With our SERP API, accessing real time data from the Google Scholar page becomes faster and easier.
To enable this engine, set the engine=google_scholar parameter.
Google Scholar is a search engine for education material. Our SERP API offers fast access to Google Scholar search results by simply tuning the request to use the google_scholar engine. Moreover, the Google Scholar API can by highly customised using the engine's parameters.
Scrape Google Scholar Results

Google Scholar API Integration Examples

We will use following URL as an example for this request:
https://serpapi.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&engine=google_scholar&q=python

Ready to Use Google Scholar Scraping Scripts

cURL
NodeJS
Python
PHP
Go
Java
.NET
Ruby
curl --request GET --url "https://serpapi.webscrapingapi.com/v1?api_key=YOUR_API_KEY%7D&engine=google_scholar&q=python"
const http = require("https");
const options = {
"method": "GET",
"hostname": "serpapi.webscrapingapi.com",
"port": null,
"path": "/v1?api_key=YOUR_API_KEY%7D&engine=google_scholar&q=python",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("serpapi.webscrapingapi.com")
conn.request("GET", "/v1?api_key=YOUR_API_KEY%7D&engine=google_scholar&q=python")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://serpapi.webscrapingapi.com/v1?api_key=YOUR_API_KEY%7D&engine=google_scholar&q=python",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://serpapi.webscrapingapi.com/v1?api_key=YOUR_API_KEY%7D&engine=google_scholar&q=python"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.get("https://serpapi.webscrapingapi.com/v1?api_key=YOUR_API_KEY%7D&engine=google_scholar&q=python")
.asString();
var client = new RestClient("https://serpapi.webscrapingapi.com/v1?api_key=YOUR_API_KEY%7D&engine=google_scholar&q=python");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://serpapi.webscrapingapi.com/v1?api_key=YOUR_API_KEY%7D&engine=google_scholar&q=python")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body

Google Scholar Parameters

#1: Query Parameter

Parameter
Type
Description
q Required
string
The keywords that you are searching for on Google (the query).

#2: Localisation Parameters

Parameter
Type
Description
lr
string
One or multiple languages to limit your search to. Values are formatted as lang_{2 letter code of the country} You can find all the available languages here
hl
string
The language you want to use for your Google search. List of supported languages

#3: Pagination Parameters

Parameter
Type
Description
start
int
The offset of the Google Search Results. Represents the number of results that you want to skip.
num
int
The number of results returned on each page.

#4: Advanced Filtering Parameters

Parameter
Type
Description
as_vis
int
Represents if you would like to include citations or not. Set it to 1 to exclude citations or 0otherwise.
safe
string
This parameter allows you to filter or not the adult content. It can take the values active and off.
cites
string
Parameter defines unique ID for an article to trigger Cited By searches.
as_ylo
int
The parameter defines the year from when you want the results to be included.
as_yhi
int
The parameter defines the year until which you want the results to be included.
scisbd
int
Represents if it should include only abstract results (set on 1) or all the results (set on 0)
{
"search_parameters": {
"google_url": "https://scholar.google.com/scholar?q=python&sourceid=chrome&ie=UTF-8",
"engine": "google_scholar",
"google_domain": "scholar.google.com",
"device": "desktop",
"query": "python"
},
"search_information": {
"organic_results_state": "Results for exact spelling",
"total_results": 1440000,
"time_taken_displayed": 0.03,
"query_displayed": "python"
},
"organic_results": [
{
"type": "book",
"title": "Python tutorial",
"link": "http://lib.21h.io/library/G7B3RFY7/download/GBMFTU3C/Python_3.8.3_Docs_.pdf",
"result_id": "mPZrr4kzeywJ",
"snippet": "Python applications will often use packages and modules that don't come as part of the standard library. Applications will sometimes need a specific version of a library, because the application may require that a particular bug has been fixed or the application may be …",
"publication_info": {
"summary": "G Van Rossum, FL Drake Jr - 1995 - lib.21h.io"
},
"inline_links": {
"cited_by": {
"total": 992,
"link": "https://scholar.google.com/scholar?cites=3205212226250864280&as_sdt=5,47&sciodt=0,47&hl=en",
"cites_id": "3205212226250864280"
},
"related_pages_link": "/scholar?q=related:mPZrr4kzeywJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
"versions": {
"total": 90,
"link": "https://scholar.google.com/scholar?cluster=3205212226250864280&hl=en&as_sdt=0,47",
"cluster_id": "3205212226250864280"
}
},
"position": 1
},
{
"type": "book",
"title": "Programming python",
"link": "https://books.google.com/books?hl=en&lr=&id=c8pV-TzyfBUC&oi=fnd&pg=PR11&dq=python&ots=n55H7QXWTW&sig=NiSpjE-XScQIJA6AW_Adp3-nKmI",
"result_id": "hAkjjWUqTAsJ",
"snippet": "Programming Pythonfocuses on advanced uses of the Python programming/scripting language, which has evolved from an emerging language of interest primarily to pioneers, to a widely accepted tool that traditional programmers use for real day-to-day development …",
"publication_info": {
"summary": "M Lutz - 2001 - books.google.com"
},
"inline_links": {
"cited_by": {
"total": 731,
"link": "https://scholar.google.com/scholar?cites=814072248295164292&as_sdt=5,47&sciodt=0,47&hl=en",
"cites_id": "814072248295164292"
},
"related_pages_link": "/scholar?q=related:hAkjjWUqTAsJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
"versions": {
"total": 7,
"link": "https://scholar.google.com/scholar?cluster=814072248295164292&hl=en&as_sdt=0,47",
"cluster_id": "814072248295164292"
}
},
"position": 2
},
{
"type": "pdf",
"title": "Pattern for python",
"link": "https://www.jmlr.org/papers/volume13/desmedt12a/desmedt12a.pdf",
"result_id": "04lXz42eH6kJ",
"snippet": "Pattern is a package for Python 2.4+ with functionality for web mining (Google+ Twitter+ Wikipedia, web spider, HTML DOM parser), natural language processing (tagger/chunker, n- gram search, sentiment analysis, WordNet), machine learning (vector space model, k-means …",
"publication_info": {
"summary": "T De Smedt, W Daelemans - The Journal of Machine Learning Research, 2012 - jmlr.org",
"authors": [
{
"name": "T De Smedt",
"link": "https://scholar.google.com/citations?user=8VBuRDwAAAAJ&hl=en&oi=sra",
"author_id": "8VBuRDwAAAAJ"
},
{
"name": "W Daelemans",
"link": "https://scholar.google.com/citations?user=21RjEWwAAAAJ&hl=en&oi=sra",
"author_id": "21RjEWwAAAAJ"
}
]
},
"inline_links": {
"cited_by": {
"total": 408,
"link": "https://scholar.google.com/scholar?cites=12186633448594049491&as_sdt=5,47&sciodt=0,47&hl=en",
"cites_id": "12186633448594049491"
},
"related_pages_link": "/scholar?q=related:04lXz42eH6kJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
"versions": {
"total": 28,
"link": "https://scholar.google.com/scholar?cluster=12186633448594049491&hl=en&as_sdt=0,47",
"cluster_id": "12186633448594049491"
}
},
"position": 3
},
{
"title": "Python for scientific computing",
"link": "https://ieeexplore.ieee.org/abstract/document/4160250/",
"result_id": "y_I3vcmcXH0J",
"snippet": "Python is an excellent\" steering\" language for scientific codes written in other languages. However, with additional basic tools, Python transforms into a high-level language suited for scientific and engineering code that's often fast enough to be immediately useful but also …",
"publication_info": {
"summary": "TE Oliphant - Computing in science & engineering, 2007 - ieeexplore.ieee.org",
"authors": [
{
"name": "TE Oliphant",
"link": "https://scholar.google.com/citations?user=kUTSKZwAAAAJ&hl=en&oi=sra",
"author_id": "kUTSKZwAAAAJ"
}
]
},
"inline_links": {
"cited_by": {
"total": 3318,
"link": "https://scholar.google.com/scholar?cites=9033267342875292363&as_sdt=5,47&sciodt=0,47&hl=en",
"cites_id": "9033267342875292363"
},
"related_pages_link": "/scholar?q=related:y_I3vcmcXH0J:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
"versions": {
"total": 11,
"link": "https://scholar.google.com/scholar?cluster=9033267342875292363&hl=en&as_sdt=0,47",
"cluster_id": "9033267342875292363"
}
},
"position": 4
},
{
"title": "Pingouin: statistics in Python",
"link": "https://joss.theoj.org/papers/10.21105/joss.01026.pdf",
"result_id": "J8H_4rDwE-0J",
"snippet": "Python is currently the fastest growing programming language in the world, thanks to its ease-of-use, fast learning curve and its numerous high quality packages for data science and machine-learning. Surprisingly however, Python is far behind the R programming …",
"publication_info": {
"summary": "R Vallat - Journal of Open Source Software, 2018 - joss.theoj.org",
"authors": [
{
"name": "R Vallat",
"link": "https://scholar.google.com/citations?user=XH8IG2UAAAAJ&hl=en&oi=sra",
"author_id": "XH8IG2UAAAAJ"
}
]
},
"inline_links": {
"cited_by": {
"total": 179,
"link": "https://scholar.google.com/scholar?cites=17083262454059745575&as_sdt=5,47&sciodt=0,47&hl=en",
"cites_id": "17083262454059745575"
},
"related_pages_link": "/scholar?q=related:J8H_4rDwE-0J:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
"versions": {
"total": 5,
"link": "https://scholar.google.com/scholar?cluster=17083262454059745575&hl=en&as_sdt=0,47",
"cluster_id": "17083262454059745575"
}
},
"position": 5
},
{
"type": "book",
"title": "Python reference manual",
"link": "http://www.cs.cmu.edu/afs/cs.cmu.edu/project/gwydion-1/OldFiles/OldFiles/python/Doc/ref.ps",
"result_id": "oEYg8p8rRYYJ",
"snippet": "Python is a simple, yet powerful, interpreted programming language that bridges the gap between C and shell programming, and is thus ideally suited for\\throw-away programming\" and rapid prototyping. Its syntax is put together from constructs borrowed from a variety of …",
"publication_info": {
"summary": "G Van Rossum, FL Drake Jr - 1995 - cs.cmu.edu"
},
"inline_links": {
"cited_by": {
"total": 1628,
"link": "https://scholar.google.com/scholar?cites=9675187340437374624&as_sdt=5,47&sciodt=0,47&hl=en",
"cites_id": "9675187340437374624"
},
"related_pages_link": "/scholar?q=related:oEYg8p8rRYYJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
"versions": {
"total": 38,
"link": "https://scholar.google.com/scholar?cluster=9675187340437374624&hl=en&as_sdt=0,47",
"cluster_id": "9675187340437374624"
}
},
"position": 6
},
{
"title": "Python for scientists and engineers",
"link": "https://ieeexplore.ieee.org/abstract/document/5725235/",
"result_id": "O9xuKGYXJ5gJ",
"snippet": "Python has arguably become the de facto standard for exploratory, interactive, and computation-driven scientific research. This issue discusses Python's advantages for scientific research and presents several of the core Python libraries and tools used in …",
"publication_info": {
"summary": "KJ Millman, M Aivazis - Computing in Science & Engineering, 2011 - ieeexplore.ieee.org",
"authors": [
{
"name": "KJ Millman",
"link": "https://scholar.google.com/citations?user=RH1sMcQAAAAJ&hl=en&oi=sra",
"author_id": "RH1sMcQAAAAJ"
}
]
},
"inline_links": {
"cited_by": {
"total": 755,
"link": "https://scholar.google.com/scholar?cites=10963757545389218875&as_sdt=5,47&sciodt=0,47&hl=en",
"cites_id": "10963757545389218875"
},
"related_pages_link": "/scholar?q=related:O9xuKGYXJ5gJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
"versions": {
"total": 12,
"link": "https://scholar.google.com/scholar?cluster=10963757545389218875&hl=en&as_sdt=0,47",
"cluster_id": "10963757545389218875"
}
},
"position": 7
},
{
"type": "html",
"title": "ACPYPE-Antechamber python parser interface",
"link": "https://link.springer.com/article/10.1186/1756-0500-5-367",
"result_id": "4EdLgbJlEtEJ",
"snippet": "ACPYPE (or AnteChamber PYthon Parser interfacE) is a wrapper script around the ANTECHAMBER software that simplifies the generation of small molecule topologies and parameters for a variety of molecular dynamics programmes like GROMACS, CHARMM and …",
"publication_info": {
"summary": "AWS Da Silva, WF Vranken - BMC research notes, 2012 - Springer",
"authors": [
{
"name": "WF Vranken",
"link": "https://scholar.google.com/citations?user=2PfcYK4AAAAJ&hl=en&oi=sra",
"author_id": "2PfcYK4AAAAJ"
}
]
},
"inline_links": {
"cited_by": {
"total": 1261,
"link": "https://scholar.google.com/scholar?cites=15065215520855508960&as_sdt=5,47&sciodt=0,47&hl=en",
"cites_id": "15065215520855508960"
},
"related_pages_link": "/scholar?q=related:4EdLgbJlEtEJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
"versions": {
"total": 22,
"link": "https://scholar.google.com/scholar?cluster=15065215520855508960&hl=en&as_sdt=0,47",
"cluster_id": "15065215520855508960"
}
},
"position": 8
},
{
"type": "book",
"title": "Python machine learning",
"link": "https://books.google.com/books?hl=en&lr=&id=GOVOCwAAQBAJ&oi=fnd&pg=PP1&dq=python&ots=Nd9DIeUWZH&sig=PJTyGGRYlXPn-yt63aqHbEX4k24",
"result_id": "02jmKWjQSB8J",
"snippet": "Unlock deeper insights into Machine Leaning with this vital guide to cutting-edge predictive analytics About This Book Leverage Python's most powerful open-source libraries for deep learning, data wrangling, and data visualization Learn effective strategies and best practices …",
"publication_info": {
"summary": "S Raschka - 2015 - books.google.com",
"authors": [
{
"name": "S Raschka",
"link": "https://scholar.google.com/citations?user=X4RCC0IAAAAJ&hl=en&oi=sra",
"author_id": "X4RCC0IAAAAJ"
}
]
},
"inline_links": {
"cited_by": {
"total": 881,
"link": "https://scholar.google.com/scholar?cites=2254280759297075411&as_sdt=5,47&sciodt=0,47&hl=en",
"cites_id": "2254280759297075411"
},
"related_pages_link": "/scholar?q=related:02jmKWjQSB8J:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
"versions": {
"total": 8,
"link": "https://scholar.google.com/scholar?cluster=2254280759297075411&hl=en&as_sdt=0,47",
"cluster_id": "2254280759297075411"
}
},
"position": 9
},
{
"type": "html",
"title": "ParselTongue: AIPS Talking Python",
"link": "http://adsabs.harvard.edu/pdf/2006ASPC..351..497K",
"result_id": "khhr5Q74JJsJ",
"snippet": "After more than 20 years of service, classic AIPS still is the data reduction package of choice for many radio-interferometry projects, especially for VLBI. Its age shows, most prominently in the limited scripting capabilities of its user interface: POPS. ParselTongue is an attempt to …",
"publication_info": {
"summary": "M Kettenis, HJ van Langevelde… - … and systems XV, 2006 - adsabs.harvard.edu",
"authors": [
{
"name": "HJ van Langevelde",
"link": "https://scholar.google.com/citations?user=_x0yHp8AAAAJ&hl=en&oi=sra",
"author_id": "_x0yHp8AAAAJ"
}
]
},
"inline_links": {
"cited_by": {
"total": 199,
"link": "https://scholar.google.com/scholar?cites=11179332917902645394&as_sdt=5,47&sciodt=0,47&hl=en",
"cites_id": "11179332917902645394"
},
"related_pages_link": "/scholar?q=related:khhr5Q74JJsJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
"versions": {
"total": 10,
"link": "https://scholar.google.com/scholar?cluster=11179332917902645394&hl=en&as_sdt=0,47",
"cluster_id": "11179332917902645394"
}
},
"position": 10
}
],
"pagination": {
"other_pages": {
"2": "https://scholar.google.com/scholar?start=10&q=python&hl=en&as_sdt=0,47",
"3": "https://scholar.google.com/scholar?start=20&q=python&hl=en&as_sdt=0,47",
"4": "https://scholar.google.com/scholar?start=30&q=python&hl=en&as_sdt=0,47",
"5": "https://scholar.google.com/scholar?start=40&q=python&hl=en&as_sdt=0,47",
"6": "https://scholar.google.com/scholar?start=50&q=python&hl=en&as_sdt=0,47",
"7": "https://scholar.google.com/scholar?start=60&q=python&hl=en&as_sdt=0,47",
"8": "https://scholar.google.com/scholar?start=70&q=python&hl=en&as_sdt=0,47",
"9": "https://scholar.google.com/scholar?start=80&q=python&hl=en&as_sdt=0,47",
"10": "https://scholar.google.com/scholar?start=90&q=python&hl=en&as_sdt=0,47"
},
"current": 1,
"next": "https://scholar.google.com/scholar?start=10&q=python&hl=en&as_sdt=0,47"
},
"searchdata_pagination": {
"current": 1,
"next": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=10",
"other_pages": {
"2": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=10",
"3": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=20",
"4": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=30",
"5": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=40",
"6": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=50",
"7": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=60",
"8": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=70",
"9": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=80",
"10": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=90"
}
}
}