Google Scholar Search API
API health status
Healthy Available Limited Mostly unavailable No data
Loading health status...
Search Google Scholar papers, patents, legal documents, citations, and article versions for literature review and academic monitoring. Provide query, cites, or cluster; cluster cannot be combined with query or cites.
Tags: Google Scholar
Parameters
| Name | Required | Type | Default | Description |
|---|---|---|---|---|
query | No | string | The academic search query (e.g., 'machine learning', 'CRISPR gene editing'). Supports advanced operators like 'author:'. Required unless cites or cluster is provided, and cannot be combined with cluster. | |
html | No | boolean | false | Set to true to return the raw HTML of the Google Scholar search page. |
cites | No | string | Return articles that cite the article with the specified ID. Can be used alone or with query, but cannot be combined with cluster. | |
as_ylo | No | string | Minimum publication year filter (e.g., '2020'). | |
as_yhi | No | string | Maximum publication year filter (e.g., '2024'). | |
scisbd | No | string | Controls whether to return only abstract results or all results. Available Values: - ALL_RESULTS: Return all results. Legacy value 0 is also accepted.- ABSTRACT_RESULTS_ONLY: Return abstract results only. Legacy value 1 is also accepted. | |
cluster | No | string | The unique ID of an article cluster to retrieve all versions of a specific work. Cannot be combined with query or cites. | |
language | No | string | en | Set the language for the results using its two-letter code (e.g., 'en' for English, 'fr' for French). See Google Language. |
lr | No | string | Restrict results to one or more languages using the 'lang_{language_code}' format (e.g., 'lang_en'). See Google LR Language. | |
page | No | integer | 0 | The results page number. Use 0 for the first page, 1 for the second, and so on. |
results | No | integer | 10 | The number of search results to return per page. |
as_sdt | No | string | Advanced filter for specific document types or legal jurisdictions. E.g., '7' to include patents. | |
safe | No | string | OFF | SafeSearch filter setting. Available Values: - ACTIVE: Filter adult content. Legacy value active is also accepted.- OFF: Disable SafeSearch filtering. Legacy value off is also accepted. |
filter | No | string | Toggle 'Similar Results' and 'Omitted Results' filters. Set to '1' (default) to enable, '0' to disable. | |
as_vis | No | string | Controls whether citations are included in the results. Available Values: - INCLUDE_CITATIONS: Include citations in the results. Legacy value 0 is also accepted.- EXCLUDE_CITATIONS: Exclude citations from the results. Legacy value 1 is also accepted. | |
as_rr | No | string | Controls whether to show only review articles or return all results. Available Values: - ALL_RESULTS: Return all results. Legacy value 0 is also accepted.- REVIEW_ARTICLES_ONLY: Return review articles only. Legacy value 1 is also accepted. |
Copy Request
bash
curl -X GET "https://api.justserpapi.com/api/v1/google/scholar/search?query=YOUR_VALUE" \
-H "X-API-Key: YOUR_API_KEY"js
const res = await fetch("https://api.justserpapi.com/api/v1/google/scholar/search?query=YOUR_VALUE", {
headers: { "X-API-Key": "YOUR_API_KEY" }
});
const data = await res.json();
console.log(data);python
import requests
url = "https://api.justserpapi.com/api/v1/google/scholar/search"
headers = { "X-API-Key": "YOUR_API_KEY" }
params = {
"query": "YOUR_VALUE"
}
response = requests.get(url, headers=headers, params=params)
print(response.json())php
<?php
$url = "https://api.justserpapi.com/api/v1/google/scholar/search?query=YOUR_VALUE";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: YOUR_API_KEY"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;go
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "https://api.justserpapi.com/api/v1/google/scholar/search?query=YOUR_VALUE", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}Response
Loading the latest response example...
