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)
Response Example
Copy link
Outline
Google Scholar API Integration Examples
Ready to Use Google Scholar Scraping Scripts
Google Scholar Parameters