Shifter Documentation
  • Getting Started
  • PROXIES
    • Rotating Residential Proxies
    • Static Residential Proxies
  • SCRAPING API
    • Web Scraping API
      • API Request
      • Basic Request
      • Rendering JavaScript
      • Custom Headers
      • Custom Cookies
      • Proxies
      • Geolocation
      • Sessions
      • Forcing Timeouts
      • Binary Files
      • Waiting for CSS
      • Screenshot
      • Extraction Rules
      • JSON Auto Parser
      • Javascript Instructions
      • Disable Stealth
      • POST Requests
      • PUT Requests
      • Conclusion
      • API Errors
  • Google SERP API
    • Search APIs
      • Google Search API
      • Google Product API
      • Google Scholar Cite API
      • Google Scholar Author API
      • Google Scholar Profiles API
      • Google Scholar API
      • Google Autocomplete API
      • Google Maps Photos API
      • Google Maps Reviews API
      • Google Reverse Image API
      • Google Events API
      • Google Finance API
      • Google Play API
      • Google Jobs API
      • Google Local Services API
      • Google Jobs Listing API
      • Google Maps API
      • Google Trends API
        • Google Trends Categories List
        • Geo Parameter Options List
    • API Response
  • Bing SERP API
    • Search API
    • API Parameters
    • Basic API Requests
  • Yandex SERP API
    • Search API
    • Basic API Requests
    • API Parameters
  • Amazon API
    • Getting Started
      • API Parameters
      • Access the API
      • Supported Domains
    • Amazon Search
    • Amazon Seller Products
    • Amazon Seller Profile
    • Amazon Seller Feedback
    • Amazon Product
    • Amazon Category
    • Amazon Bestsellers
    • Amazon Deals
  • Useful Links
    • Github
    • Shifter Homepage
    • Knowledge Base
Powered by GitBook
On this page
  • Google Scholar API Integration Examples
  • Ready to Use Google Scholar Scraping Scripts
  • Google Scholar Parameters

Was this helpful?

  1. Google SERP API
  2. Search APIs

Google Scholar API

Unlock a wealth of academic resources by scraping Google Scholar via our SERP API.

To tap into this specialized capability, append the engine=google_scholar parameter to your request.

Google Scholar stands as a premier search engine dedicated to academic and scholarly content. By leveraging our SERP API, you gain immediate and efficient access to real-time search results from Google Scholar. To harness this, simply align your request to engage the google_scholar engine. Furthermore, the Google Scholar API provides a plethora of customization options through specific parameters, ensuring tailored and precise results for your academic inquiries.

Google Scholar API Integration Examples

We will use following URL as an example for this request:

https://serp.shifter.io/v1?api_key=<YOUR_API_KEY>&engine=google_scholar&q=python

Ready to Use Google Scholar Scraping Scripts

curl --request GET --url "https://serp.shifter.io/v1?api_key=YOUR_API_KEY%7D&engine=google_scholar&q=python"
const http = require("https");

const options = {
  "method": "GET",
  "hostname": "serp.shifter.io",
  "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("serp.shifter.io")

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://serp.shifter.io/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://serp.shifter.io/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://serp.shifter.io/v1?api_key=YOUR_API_KEY%7D&engine=google_scholar&q=python")
  .asString();
var client = new RestClient("https://serp.shifter.io/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://serp.shifter.io/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

hl

string

#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
{
  "search_parameters": {
    "google_url": "https://scholar.google.com/scholar?q=python&sourceid=chrome&ie=UTF-8",
    "engine": "google_scholar",
    "google_domain": "scholar.google.com",
    "device": "desktop",
    "query": "python"
  },
  "search_information": {
    "organic_results_state": "Results for exact spelling",
    "total_results": 1440000,
    "time_taken_displayed": 0.03,
    "query_displayed": "python"
  },
  "organic_results": [
    {
      "type": "book",
      "title": "Python tutorial",
      "link": "http://lib.21h.io/library/G7B3RFY7/download/GBMFTU3C/Python_3.8.3_Docs_.pdf",
      "result_id": "mPZrr4kzeywJ",
      "snippet": "Python applications will often use packages and modules that don't come as part of the standard library. Applications will sometimes need a specific version of a library, because the application may require that a particular bug has been fixed or the application may be …",
      "publication_info": {
        "summary": "G Van Rossum, FL Drake Jr - 1995 - lib.21h.io"
      },
      "inline_links": {
        "cited_by": {
          "total": 992,
          "link": "https://scholar.google.com/scholar?cites=3205212226250864280&as_sdt=5,47&sciodt=0,47&hl=en",
          "cites_id": "3205212226250864280"
        },
        "related_pages_link": "/scholar?q=related:mPZrr4kzeywJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
        "versions": {
          "total": 90,
          "link": "https://scholar.google.com/scholar?cluster=3205212226250864280&hl=en&as_sdt=0,47",
          "cluster_id": "3205212226250864280"
        }
      },
      "position": 1
    },
    {
      "type": "book",
      "title": "Programming python",
      "link": "https://books.google.com/books?hl=en&lr=&id=c8pV-TzyfBUC&oi=fnd&pg=PR11&dq=python&ots=n55H7QXWTW&sig=NiSpjE-XScQIJA6AW_Adp3-nKmI",
      "result_id": "hAkjjWUqTAsJ",
      "snippet": "Programming Pythonfocuses on advanced uses of the Python programming/scripting language, which has evolved from an emerging language of interest primarily to pioneers, to a widely accepted tool that traditional programmers use for real day-to-day development …",
      "publication_info": {
        "summary": "M Lutz - 2001 - books.google.com"
      },
      "inline_links": {
        "cited_by": {
          "total": 731,
          "link": "https://scholar.google.com/scholar?cites=814072248295164292&as_sdt=5,47&sciodt=0,47&hl=en",
          "cites_id": "814072248295164292"
        },
        "related_pages_link": "/scholar?q=related:hAkjjWUqTAsJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
        "versions": {
          "total": 7,
          "link": "https://scholar.google.com/scholar?cluster=814072248295164292&hl=en&as_sdt=0,47",
          "cluster_id": "814072248295164292"
        }
      },
      "position": 2
    },
    {
      "type": "pdf",
      "title": "Pattern for python",
      "link": "https://www.jmlr.org/papers/volume13/desmedt12a/desmedt12a.pdf",
      "result_id": "04lXz42eH6kJ",
      "snippet": "Pattern is a package for Python 2.4+ with functionality for web mining (Google+ Twitter+ Wikipedia, web spider, HTML DOM parser), natural language processing (tagger/chunker, n- gram search, sentiment analysis, WordNet), machine learning (vector space model, k-means …",
      "publication_info": {
        "summary": "T De Smedt, W Daelemans - The Journal of Machine Learning Research, 2012 - jmlr.org",
        "authors": [
          {
            "name": "T De Smedt",
            "link": "https://scholar.google.com/citations?user=8VBuRDwAAAAJ&hl=en&oi=sra",
            "author_id": "8VBuRDwAAAAJ"
          },
          {
            "name": "W Daelemans",
            "link": "https://scholar.google.com/citations?user=21RjEWwAAAAJ&hl=en&oi=sra",
            "author_id": "21RjEWwAAAAJ"
          }
        ]
      },
      "inline_links": {
        "cited_by": {
          "total": 408,
          "link": "https://scholar.google.com/scholar?cites=12186633448594049491&as_sdt=5,47&sciodt=0,47&hl=en",
          "cites_id": "12186633448594049491"
        },
        "related_pages_link": "/scholar?q=related:04lXz42eH6kJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
        "versions": {
          "total": 28,
          "link": "https://scholar.google.com/scholar?cluster=12186633448594049491&hl=en&as_sdt=0,47",
          "cluster_id": "12186633448594049491"
        }
      },
      "position": 3
    },
    {
      "title": "Python for scientific computing",
      "link": "https://ieeexplore.ieee.org/abstract/document/4160250/",
      "result_id": "y_I3vcmcXH0J",
      "snippet": "Python is an excellent\" steering\" language for scientific codes written in other languages. However, with additional basic tools, Python transforms into a high-level language suited for scientific and engineering code that's often fast enough to be immediately useful but also …",
      "publication_info": {
        "summary": "TE Oliphant - Computing in science & engineering, 2007 - ieeexplore.ieee.org",
        "authors": [
          {
            "name": "TE Oliphant",
            "link": "https://scholar.google.com/citations?user=kUTSKZwAAAAJ&hl=en&oi=sra",
            "author_id": "kUTSKZwAAAAJ"
          }
        ]
      },
      "inline_links": {
        "cited_by": {
          "total": 3318,
          "link": "https://scholar.google.com/scholar?cites=9033267342875292363&as_sdt=5,47&sciodt=0,47&hl=en",
          "cites_id": "9033267342875292363"
        },
        "related_pages_link": "/scholar?q=related:y_I3vcmcXH0J:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
        "versions": {
          "total": 11,
          "link": "https://scholar.google.com/scholar?cluster=9033267342875292363&hl=en&as_sdt=0,47",
          "cluster_id": "9033267342875292363"
        }
      },
      "position": 4
    },
    {
      "title": "Pingouin: statistics in Python",
      "link": "https://joss.theoj.org/papers/10.21105/joss.01026.pdf",
      "result_id": "J8H_4rDwE-0J",
      "snippet": "Python is currently the fastest growing programming language in the world, thanks to its ease-of-use, fast learning curve and its numerous high quality packages for data science and machine-learning. Surprisingly however, Python is far behind the R programming …",
      "publication_info": {
        "summary": "R Vallat - Journal of Open Source Software, 2018 - joss.theoj.org",
        "authors": [
          {
            "name": "R Vallat",
            "link": "https://scholar.google.com/citations?user=XH8IG2UAAAAJ&hl=en&oi=sra",
            "author_id": "XH8IG2UAAAAJ"
          }
        ]
      },
      "inline_links": {
        "cited_by": {
          "total": 179,
          "link": "https://scholar.google.com/scholar?cites=17083262454059745575&as_sdt=5,47&sciodt=0,47&hl=en",
          "cites_id": "17083262454059745575"
        },
        "related_pages_link": "/scholar?q=related:J8H_4rDwE-0J:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
        "versions": {
          "total": 5,
          "link": "https://scholar.google.com/scholar?cluster=17083262454059745575&hl=en&as_sdt=0,47",
          "cluster_id": "17083262454059745575"
        }
      },
      "position": 5
    },
    {
      "type": "book",
      "title": "Python reference manual",
      "link": "http://www.cs.cmu.edu/afs/cs.cmu.edu/project/gwydion-1/OldFiles/OldFiles/python/Doc/ref.ps",
      "result_id": "oEYg8p8rRYYJ",
      "snippet": "Python is a simple, yet powerful, interpreted programming language that bridges the gap between C and shell programming, and is thus ideally suited for\\throw-away programming\" and rapid prototyping. Its syntax is put together from constructs borrowed from a variety of …",
      "publication_info": {
        "summary": "G Van Rossum, FL Drake Jr - 1995 - cs.cmu.edu"
      },
      "inline_links": {
        "cited_by": {
          "total": 1628,
          "link": "https://scholar.google.com/scholar?cites=9675187340437374624&as_sdt=5,47&sciodt=0,47&hl=en",
          "cites_id": "9675187340437374624"
        },
        "related_pages_link": "/scholar?q=related:oEYg8p8rRYYJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
        "versions": {
          "total": 38,
          "link": "https://scholar.google.com/scholar?cluster=9675187340437374624&hl=en&as_sdt=0,47",
          "cluster_id": "9675187340437374624"
        }
      },
      "position": 6
    },
    {
      "title": "Python for scientists and engineers",
      "link": "https://ieeexplore.ieee.org/abstract/document/5725235/",
      "result_id": "O9xuKGYXJ5gJ",
      "snippet": "Python has arguably become the de facto standard for exploratory, interactive, and computation-driven scientific research. This issue discusses Python's advantages for scientific research and presents several of the core Python libraries and tools used in …",
      "publication_info": {
        "summary": "KJ Millman, M Aivazis - Computing in Science & Engineering, 2011 - ieeexplore.ieee.org",
        "authors": [
          {
            "name": "KJ Millman",
            "link": "https://scholar.google.com/citations?user=RH1sMcQAAAAJ&hl=en&oi=sra",
            "author_id": "RH1sMcQAAAAJ"
          }
        ]
      },
      "inline_links": {
        "cited_by": {
          "total": 755,
          "link": "https://scholar.google.com/scholar?cites=10963757545389218875&as_sdt=5,47&sciodt=0,47&hl=en",
          "cites_id": "10963757545389218875"
        },
        "related_pages_link": "/scholar?q=related:O9xuKGYXJ5gJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
        "versions": {
          "total": 12,
          "link": "https://scholar.google.com/scholar?cluster=10963757545389218875&hl=en&as_sdt=0,47",
          "cluster_id": "10963757545389218875"
        }
      },
      "position": 7
    },
    {
      "type": "html",
      "title": "ACPYPE-Antechamber python parser interface",
      "link": "https://link.springer.com/article/10.1186/1756-0500-5-367",
      "result_id": "4EdLgbJlEtEJ",
      "snippet": "ACPYPE (or AnteChamber PYthon Parser interfacE) is a wrapper script around the ANTECHAMBER software that simplifies the generation of small molecule topologies and parameters for a variety of molecular dynamics programmes like GROMACS, CHARMM and …",
      "publication_info": {
        "summary": "AWS Da Silva, WF Vranken - BMC research notes, 2012 - Springer",
        "authors": [
          {
            "name": "WF Vranken",
            "link": "https://scholar.google.com/citations?user=2PfcYK4AAAAJ&hl=en&oi=sra",
            "author_id": "2PfcYK4AAAAJ"
          }
        ]
      },
      "inline_links": {
        "cited_by": {
          "total": 1261,
          "link": "https://scholar.google.com/scholar?cites=15065215520855508960&as_sdt=5,47&sciodt=0,47&hl=en",
          "cites_id": "15065215520855508960"
        },
        "related_pages_link": "/scholar?q=related:4EdLgbJlEtEJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
        "versions": {
          "total": 22,
          "link": "https://scholar.google.com/scholar?cluster=15065215520855508960&hl=en&as_sdt=0,47",
          "cluster_id": "15065215520855508960"
        }
      },
      "position": 8
    },
    {
      "type": "book",
      "title": "Python machine learning",
      "link": "https://books.google.com/books?hl=en&lr=&id=GOVOCwAAQBAJ&oi=fnd&pg=PP1&dq=python&ots=Nd9DIeUWZH&sig=PJTyGGRYlXPn-yt63aqHbEX4k24",
      "result_id": "02jmKWjQSB8J",
      "snippet": "Unlock deeper insights into Machine Leaning with this vital guide to cutting-edge predictive analytics About This Book Leverage Python's most powerful open-source libraries for deep learning, data wrangling, and data visualization Learn effective strategies and best practices …",
      "publication_info": {
        "summary": "S Raschka - 2015 - books.google.com",
        "authors": [
          {
            "name": "S Raschka",
            "link": "https://scholar.google.com/citations?user=X4RCC0IAAAAJ&hl=en&oi=sra",
            "author_id": "X4RCC0IAAAAJ"
          }
        ]
      },
      "inline_links": {
        "cited_by": {
          "total": 881,
          "link": "https://scholar.google.com/scholar?cites=2254280759297075411&as_sdt=5,47&sciodt=0,47&hl=en",
          "cites_id": "2254280759297075411"
        },
        "related_pages_link": "/scholar?q=related:02jmKWjQSB8J:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
        "versions": {
          "total": 8,
          "link": "https://scholar.google.com/scholar?cluster=2254280759297075411&hl=en&as_sdt=0,47",
          "cluster_id": "2254280759297075411"
        }
      },
      "position": 9
    },
    {
      "type": "html",
      "title": "ParselTongue: AIPS Talking Python",
      "link": "http://adsabs.harvard.edu/pdf/2006ASPC..351..497K",
      "result_id": "khhr5Q74JJsJ",
      "snippet": "After more than 20 years of service, classic AIPS still is the data reduction package of choice for many radio-interferometry projects, especially for VLBI. Its age shows, most prominently in the limited scripting capabilities of its user interface: POPS. ParselTongue is an attempt to …",
      "publication_info": {
        "summary": "M Kettenis, HJ van Langevelde… - … and systems XV, 2006 - adsabs.harvard.edu",
        "authors": [
          {
            "name": "HJ van Langevelde",
            "link": "https://scholar.google.com/citations?user=_x0yHp8AAAAJ&hl=en&oi=sra",
            "author_id": "_x0yHp8AAAAJ"
          }
        ]
      },
      "inline_links": {
        "cited_by": {
          "total": 199,
          "link": "https://scholar.google.com/scholar?cites=11179332917902645394&as_sdt=5,47&sciodt=0,47&hl=en",
          "cites_id": "11179332917902645394"
        },
        "related_pages_link": "/scholar?q=related:khhr5Q74JJsJ:scholar.google.com/&scioq=python&hl=en&as_sdt=0,47",
        "versions": {
          "total": 10,
          "link": "https://scholar.google.com/scholar?cluster=11179332917902645394&hl=en&as_sdt=0,47",
          "cluster_id": "11179332917902645394"
        }
      },
      "position": 10
    }
  ],
  "pagination": {
    "other_pages": {
      "2": "https://scholar.google.com/scholar?start=10&q=python&hl=en&as_sdt=0,47",
      "3": "https://scholar.google.com/scholar?start=20&q=python&hl=en&as_sdt=0,47",
      "4": "https://scholar.google.com/scholar?start=30&q=python&hl=en&as_sdt=0,47",
      "5": "https://scholar.google.com/scholar?start=40&q=python&hl=en&as_sdt=0,47",
      "6": "https://scholar.google.com/scholar?start=50&q=python&hl=en&as_sdt=0,47",
      "7": "https://scholar.google.com/scholar?start=60&q=python&hl=en&as_sdt=0,47",
      "8": "https://scholar.google.com/scholar?start=70&q=python&hl=en&as_sdt=0,47",
      "9": "https://scholar.google.com/scholar?start=80&q=python&hl=en&as_sdt=0,47",
      "10": "https://scholar.google.com/scholar?start=90&q=python&hl=en&as_sdt=0,47"
    },
    "current": 1,
    "next": "https://scholar.google.com/scholar?start=10&q=python&hl=en&as_sdt=0,47"
  },
  "searchdata_pagination": {
    "current": 1,
    "next": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=10",
    "other_pages": {
      "2": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=10",
      "3": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=20",
      "4": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=30",
      "5": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=40",
      "6": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=50",
      "7": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=60",
      "8": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=70",
      "9": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=80",
      "10": "https://serpapi.webscrapingapi.com/v1?q=python&hl=en&start=90"
    }
  }
}
PreviousGoogle Scholar Profiles APINextGoogle Autocomplete API

Last updated 1 year ago

Was this helpful?

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

The language you want to use for your Google search.

here
List of supported languages