This repository is the home of the soon–to–be official Python API wrapper for SerpApi. This serpapi
module allows you to access search data in your Python application.
SerpApi supports Google, Google Maps, Google Shopping, Bing, Baidu, Yandex, Yahoo, eBay, App Stores, and more. Check out the documentation for a full list.
To install the serpapi
package, simply run the following command:
$ pip install serpapi
Please note that this package is separate from the legacy serpapi
module, which is available on PyPi as google-search-results
. This package is maintained by SerpApi, and is the recommended way to access the SerpApi service from Python.
Let's start by searching for Coffee on Google:
>>> import serpapi
>>> s = serpapi.search(q="Coffee", engine="google", location="Austin, Texas", hl="en", gl="us")
The s
variable now contains a SerpResults
object, which acts just like a standard dictionary, with some convenient functions added on top.
Let's print the first result:
>>> s["organic_results"][0]["link"]
'https://en.wikipedia.org/wiki/Coffee'
Let's print the title of the first result, but in a more Pythonic way:
>>> s["organic_results"][0].get("title")
'Coffee - Wikipedia'
The SerpApi.com API Documentation contains a list of all the possible parameters that can be passed to the API.
Documentation is available on Read the Docs.
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'bing',
'q': 'coffee'
})
- API Documentation: serpapi.com/bing-search-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'baidu',
'q': 'coffee',
})
- API Documentation: serpapi.com/baidu-search-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'yahoo',
'p': 'coffee',
})
- API Documentation: serpapi.com/yahoo-search-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'youtube',
'search_query': 'coffee',
})
- API Documentation: serpapi.com/youtube-search-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'walmart',
'query': 'coffee',
})
- API Documentation: serpapi.com/walmart-search-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'ebay',
'_nkw': 'coffee',
})
- API Documentation: serpapi.com/ebay-search-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'naver',
'query': 'coffee',
})
- API Documentation: serpapi.com/naver-search-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'home_depot',
'q': 'table',
})
- API Documentation: serpapi.com/home-depot-search-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'apple_app_store',
'term': 'coffee',
})
- API Documentation: serpapi.com/apple-app-store
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'duckduckgo',
'q': 'coffee',
})
- API Documentation: serpapi.com/duckduckgo-search-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'google',
'q': 'coffee'
})
- API Documentation: serpapi.com/search-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'google_scholar',
'q': 'coffee',
})
- API Documentation: serpapi.com/google-scholar-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'google_autocomplete',
'q': 'coffee',
})
- API Documentation: serpapi.com/google-autocomplete-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'google_product',
'q': 'coffee',
'product_id': '4887235756540435899',
})
- API Documentation: serpapi.com/google-product-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'google_reverse_image',
'image_url': 'https://i.imgur.com/5bGzZi7.jpg',
'max_results': '1',
})
- API Documentation: serpapi.com/google-reverse-image
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'google_events',
'q': 'coffee',
})
- API Documentation: serpapi.com/google-events-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'google_local_services',
'q': 'electrician',
'data_cid': '6745062158417646970',
})
- API Documentation: serpapi.com/google-local-services-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'google_maps',
'q': 'pizza',
'll': '@40.7455096,-74.0083012,15.1z',
'type': 'search',
})
- API Documentation: serpapi.com/google-maps-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'google_jobs',
'q': 'coffee',
})
- API Documentation: serpapi.com/google-jobs-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'google_play',
'q': 'kite',
'store': 'apps',
'max_results': '2',
})
- API Documentation: serpapi.com/google-play-api
import os
import serpapi
client = serpapi.Client(api_key=os.getenv("API_KEY"))
results = client.search({
'engine': 'google_images',
'tbm': 'isch',
'q': 'coffee',
})
- API Documentation: serpapi.com/images-results
MIT License.
Bug reports and pull requests are welcome on GitHub. Once dependencies are installed, you can run the tests with pytest
.