Author Profiles & Metrics
The Author endpoints return citation counts, h-index, and i10-index with research interests, so you can analyze influence in one call.
Easily integrate and automate the extraction of academic papers, citations, and author details into your application for faster research and data analysis using our Google Scholar API.
"scholar_results": [
{
"title": "Machine learning algorithms-a review",
"title_link": "https://www.researchgate.net/...",
"id": "sR_ChBn63tIJ",
"type": "[PDF]",
"displayed_link": "B Mahesh - International Journal of Science and Research...",
"snippet": "… Here's a quick look at some of the commonly used algorithms in machine learning...",
"inline_links": {
"versions": {
"total": "All 2 versions",
"link": "https://scholar.google.com/scholar?cluster=...",
"cluster_id": "15194857180303073201"
},
"cited_by": {
"total": "Cited by 3294",
"link": "https://scholar.google.com/scholar?cites=..."
},
"related_pages_link": "https://scholar.google.com/scholar?q=related:..."
},
"resources": [
{
"title": "researchgate.net",
"type": "PDF",
"link": "https://www.researchgate.net/..."
}
]
}
]"search_details": {
"query": "Machine Learning",
"number_of_results": "About 5,800,000 results"
}"related_searches": [
{
"title": "machine learning prediction",
"link": "https://www.google.com/scholar?..."
}
],
"pagination": {
"current": 1,
"page_no": {
"1": "https://www.scholar.google.com/scholar?start=10&q=...",
"2": "https://www.scholar.google.com/scholar?start=20&q=..."
}
}import requests
api_key = "5eaa61a6e562fc52fe763tr516e4653"
url = "https://api.scrapingdog.com/google_scholar"
params = {
"api_key": api_key,
"query": "Machine Learning"
}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
print(data)
else:
print(f"Request failed with status code: {response.status_code}")import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
// Set the API key and request parameters
String apiKey = "5eaa61a6e562fc52fe763tr516e4653";
String query = "Machine+Learning";
// Construct the API endpoint URL
String apiUrl = "https://api.scrapingdog.com/google_scholar?api_key=" + apiKey
+ "&query=" + query;
URL url = new URL(apiUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
if (responseCode == 200) {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = reader.readLine()) != null) {
response.append(inputLine);
}
reader.close();
System.out.println(response.toString());
} else {
System.out.println("HTTP request failed with response code: " + responseCode);
}
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}<?php
// Set the API key and request parameters
$api_key = '5eaa61a6e562fc52fe763tr516e4653';
$query = 'Machine+Learning';
// Set the API endpoint
$url = 'https://api.scrapingdog.com/google_scholar?api_key=' . $api_key . '&query=' . $query;
// Initialize cURL session
$ch = curl_init($url);
// Set cURL options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Execute the cURL request
$response = curl_exec($ch);
// Check if the request was successful
if ($response === false) {
echo 'cURL error: ' . curl_error($ch);
} else {
echo $response;
}
// Close the cURL session
curl_close($ch);require 'net/http'
require 'uri'
# Set the API key and request parameters
api_key = '5eaa61a6e562fc52fe763tr516e4653'
query = 'Machine+Learning'
# Construct the API endpoint URL
url = URI.parse("https://api.scrapingdog.com/google_scholar?api_key=#{api_key}&query=#{query}")
# Create an HTTP GET request
request = Net::HTTP::Get.new(url)
# Create an HTTP client
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true # Enable SSL (https)
# Send the request and get the response
response = http.request(request)
# Check if the request was successful
if response.is_a?(Net::HTTPSuccess)
puts response.body
else
puts "HTTP request failed with code: #{response.code}, message: #{response.message}"
endconst axios = require('axios');
const api_key = '5eaa61a6e562fc52fe763tr516e4653';
const url = 'https://api.scrapingdog.com/google_scholar';
const params = {
api_key: api_key,
query: 'Machine Learning',
};
axios
.get(url, { params: params })
.then(function (response) {
if (response.status === 200) {
const data = response.data;
console.log(data);
} else {
console.log('Request failed with status code: ' + response.status);
}
})
.catch(function (error) {
console.error('Error making the request: ' + error.message);
});titletitle_linktypedisplayed_linksnippetidresourcestitletypelinkinline_linkscited_bytotalversionscluster_idrelated_pages_linksearch_detailsquerynumber_of_resultsrelated_searchestitlelinkpaginationcurrentpage_noWithout Scrapingdog, you need to manage proxies, handle CAPTCHA, parse raw HTML, and deal with frequent blocks while collecting academic data.
Scholar throttles repeated queries and throws CAPTCHA walls, so bulk literature reviews stall after a few hundred searches.
Citation totals, version counts, and cluster_id values hide in nested markup that breaks whenever Scholar tweaks its layout.
Scholar paginates by a start= offset, so walking past result 10 means hand-stitching query strings for every page.
Linking a paper to its author profile and citation export means scraping several separate Scholar surfaces and joining them.
One API call handles proxies, CAPTCHA, parsing, and scaling, so you focus on the academic data.
Leverage comprehensive academic data, including citations and author profiles, to make better-informed research decisions.
Automate gathering large volumes of academic papers, citations, and author information, saving time on manual collection.
Filter your data extraction by publication year, author name, keywords, or journal to get the most relevant results.
Integrate the extracted data into your applications and workflows using JSON for smooth compatibility with existing tools.
The Author endpoints return citation counts, h-index, and i10-index with research interests, so you can analyze influence in one call.
The Cite endpoint collects citation records and cited-by totals for any paper, so you track scholarly impact without manual scraping.
Query by keyword, author, journal, or publication year and receive the latest papers, versions, and PDF resources in real time.
A built-in rotating proxy pool changes IP for every request, so high-volume literature reviews never trip rate limits.
Scrapingdog clears the "robot" walls Scholar throws at repeated queries, keeping your bulk research jobs running.
Titles, snippets, versions, resources, and pagination arrive as clean JSON, ready for your reference database or pipeline.
Find and access relevant academic papers quickly by topic, keyword, or author, speeding up the literature review process.
Monitor citation frequency and counts over time to measure the impact and influence of specific research and publications.
Build detailed author profiles with publications and credentials to support collaboration, hiring, and partnership decisions.
Analyze trends, citation networks, and emerging research areas to spot what is gaining momentum across academic fields.
Enhance existing datasets with current citations and author information to keep your research databases accurate and up to date.
Stay updated on the latest publications in your field by continuously monitoring journals and conference proceedings.
Sign up and get free credits to start testing the Google Scholar API.
Access your unique API key from the dashboard and use it to scrape the data.
Call the /google_scholar endpoint with a query like "Machine Learning" to fetch real-time results from Google Scholar.
Get clean JSON with scholar_results, cited-by counts, version clusters, PDF resources, and pagination ready to use in your app.
Start your web scraping journey with 200 free credits. Test our service and upgrade to one of the plans below. Cancel anytime.

I got the free trial and in less than a minute I already integrated with their API to scrape Google, matter of fact they had all the plug-and-play codes ready for me, It was seamless. I am about to upgrade as I have used up my trial credits.
United States
I love how you can use it to scrape data from Google.
Oslo, Norway
Scrapingdog is an awesome service. I use it with my Local Leads Sniper system and thanks to it I have been able to land a few clients since it gave me all the info that my client's Google Business Profile was missing. Great service!
Mexico
Their API success rate is 100% on the tests that I have done. The service seems very reliable.
New York, USA
It’s an API that automates the extraction of data from Google Scholar, including academic papers, citations, and author profiles. It allows researchers and developers to integrate scholarly data into their applications for easier access and analysis.
Yes, the API allows you to retrieve citation counts and details for academic papers, enabling you to track the impact and influence of specific research.
Yes, other than the data from Google Scholar, we have dedicated APIs for Google Search, Google Images, Google Maps, and more.
Yes, the Google Scholar API allows you to filter the data by various parameters, such as publication year, specific journals, or keywords, so you can extract only the most relevant information for your research.
Each API request consumes a certain number of credits based on the dedicated API you’re using. For example, the Google Search API costs 5 credits per request.
No, there is no official Google Scholar API.
Get 200 free credits to spin the API. No credit card required!