Links
Comment on page

Google Scholar Author API

Scrape Google Author Profiles and get instant data about the authors and their academic publications.
To enable this engine, set the engine=google_scholar_author parameter.
The Google Scholar Author API is used to scrape author profiles and quickly retrieve data regarding published authors. Make use of these parameters in order to customise your request.
Scrape Google Author Pages

Google Scholar Author API Integration Examples

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

Ready to Use Google Scholar Author Scraping Scripts

cURL
NodeJS
Python
PHP
Go
Java
.NET
Ruby
curl --request GET --url "https://serpapi.webscrapingapi.com/v1?engine=google_scholar_author&api_key=YOUR_API_KEY&author_id=LSsXyncAAAAJ"
const http = require("https");
const options = {
"method": "GET",
"hostname": "serpapi.webscrapingapi.com",
"port": null,
"path": "/v1?engine=google_scholar_author&api_key=YOUR_API_KEY&author_id=LSsXyncAAAAJ",
"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?engine=google_scholar_author&api_key=YOUR_API_KEY&author_id=LSsXyncAAAAJ")
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?engine=google_scholar_author&api_key=YOUR_API_KEY&author_id=LSsXyncAAAAJ",
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?engine=google_scholar_author&api_key=YOUR_API_KEY&author_id=LSsXyncAAAAJ"
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?engine=google_scholar_author&api_key=YOUR_API_KEY&author_id=LSsXyncAAAAJ")
.asString();
var client = new RestClient("https://serpapi.webscrapingapi.com/v1?engine=google_scholar_author&api_key=YOUR_API_KEY&author_id=LSsXyncAAAAJ");
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?engine=google_scholar_author&api_key=YOUR_API_KEY&author_id=LSsXyncAAAAJ")
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 Profiles Parameters

#1: Query Parameter

Parameter
Type
Description
author_id Required
string
The ID of the author you want to scrape.

#2: Request Customisation Parameters

Parameter
Type
Description
device
string
The device used for your search. Can be set to desktop, mobile or tablet.
view_op
string
Is used to view specific parts of the page. It can be set to view_citation or list_colleagues.
sort
string
Sorts the results. Can be set as title to sort by title or pubdate to sort by published date.
citation_id
string
It's used to retrieve a specific citation. It is required when view_op is set on view_citation.

#3: Localisation Parameters

Parameter
Type
Description
hl
string
The language you want to use for your Google Search. List of supported languages

#4: 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.
Response Example
{
"search_parameters": {
"google_url": "https://scholar.google.com/citations?user=LSsXyncAAAAJ&sourceid=chrome&ie=UTF-8",
"engine": "google_scholar_author",
"google_domain": "scholar.google.com",
"device": "desktop",
"query": "LSsXyncAAAAJ"
},
"author": {
"name": "Cliff Meyer",
"affiliations": "Dana-Farber Cancer Institute and Harvard T.H. Chan School of Public Health",
"email": "Verified email at jimmy.harvard.edu",
"interests": [
{
"link": "https://scholar.google.com/citations?view_op=search_authors&hl=en&mauthors=label:computational_biology",
"title": "Computational Biology"
},
{
"link": "https://scholar.google.com/citations?view_op=search_authors&hl=en&mauthors=label:epigenetics",
"title": "Epigenetics"
},
{
"link": "https://scholar.google.com/citations?view_op=search_authors&hl=en&mauthors=label:gene_regulation",
"title": "Gene Regulation"
},
{
"link": "https://scholar.google.com/citations?view_op=search_authors&hl=en&mauthors=label:genomics",
"title": "Genomics"
},
{
"link": "https://scholar.google.com/citations?view_op=search_authors&hl=en&mauthors=label:transcription_factors",
"title": "Transcription Factors"
}
]
}
}