Google Scholar Author API Effortlessly extract detailed data from Google Author Profiles, encompassing both authors and their scholarly publications.
To harness this feature, integrate the engine=google_scholar_author
parameter into your request.
The Google Scholar Author API specializes in scraping in-depth author profiles, providing swift access to data on established authors and their academic contributions. Take advantage of the various parameters to fine-tune and tailor your data extraction request for optimal results.
Google Scholar Author API Integration Examples
We will use following URL as an example for this request:
Copy https://serp.shifter.io/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
Copy curl --request GET --url "https://serp.shifter.io/v1?engine=google_scholar_author&api_key=YOUR_API_KEY&author_id=LSsXyncAAAAJ"
Copy const http = require ( "https" );
const options = {
"method" : "GET" ,
"hostname" : "serp.shifter.io" ,
"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 ();
Copy import http . client
conn = http . client . HTTPSConnection ( "serp.shifter.io" )
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" ))
Copy <? php
$curl = curl_init () ;
curl_setopt_array ( $curl , [
CURLOPT_URL => "https://serp.shifter.io/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;
}
Copy package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main () {
url := "https://serp.shifter.io/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))
}
Copy HttpResponse<String> response = Unirest.get("https://serp.shifter.io/v1?engine=google_scholar_author&api_key=YOUR_API_KEY&author_id=LSsXyncAAAAJ")
. asString ();
Copy var client = new RestClient("https://serp.shifter.io/v1?engine=google_scholar_author&api_key=YOUR_API_KEY&author_id=LSsXyncAAAAJ");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Copy require 'uri'
require 'net/http'
require 'openssl'
url = URI ( "https://serp.shifter.io/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 The ID of the author you want to scrape.
#2: Request Customisation Parameters
Parameter Type Description The device used for your search. Can be set to desktop
, mobile
or tablet
.
Is used to view specific parts of the page. It can be set to view_citation
or list_colleagues
.
Sorts the results. Can be set as title
to sort by title or pubdate
to sort by published date.
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 The offset of the Google Search Results. Represents the number of results that you want to skip.
The number of results returned on each page.
Response Example
Copy {
"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"
}
]
}
}
Last updated 8 months ago