page_type: sample languages:
- python products:
- Bing Apis description: "These samples will show you how to get up and running using the Python SDKs."
These samples will show you how to get up and running using the Python SDKs. They'll cover a few rudimentary use cases and hopefully express best practices for interacting with the data from these APIs.
This project framework provides examples for the following services:
- Using the Bing Spell Check SDK bing-spellcheck for the Bing Spell Check API
- Using the Bing Autosuggest SDK bing-search-autosuggest for the Autosuggest API
- Using the Bing Custom Search SDK bing-search-customsearch for the Custom Search API
- Using the Bing Custom Image Search SDK bing-search-customimagesearch for the Custom Image Search API
- Using the Bing Entity Search SDK bing-search-entitysearch for the Entity Search API
- Using the Bing Image Search SDK bing-search-imagesearch for the Image Search API
- Using the Bing News Search SDK bing-search-newssearch for the News Search API
- Using the Bing Video Search SDK bing-search-videosearch for the Video Search API
- Using the Bing Visual Search SDK bing-search-visualsearch for the Visual Search API
- Using the Bing Web Search SDK bing-search-websearch for the Web Search API
We provide several meta-packages to help you install several packages at a time. Please note that meta-packages are only recommended for development purpose. It's recommended in production to always pin specific version of individual packages.
- A Bing API key with which to authenticate the SDK's calls. Create a new bing account, and try Bing Apis for free.
-
If you don't already have it, install Python.
This sample (and the SDK) is compatible with Python 2.7, 3.3, 3.4, 3.5 and 3.6.
-
General recommendation for Python development is to use a Virtual Environment. For more information, see https://docs.python.org/3/tutorial/venv.html
Install and initialize the virtual environment with the "venv" module on Python 3 (you must install virtualenv for Python 2.7):
python -m venv mytestenv # Might be "python3" or "py -3.6" depending on your Python installation cd mytestenv source bin/activate # Linux shell (Bash, ZSH, etc.) only ./scripts/activate # PowerShell only ./scripts/activate.bat # Windows CMD only
-
Clone the repository.
git clone https://github.com/microsoft/bing-search-sdk-for-python.git
-
Install the dependencies using pip.
cd bing-search-sdk-for-python pip install -r requirements.txt
-
Set up the environment variable
SPELLCHECK_SUBSCRIPTION_KEY
with your key if you want to execute SpellCheck tests. -
Set up the environment variable
AUTOSUGGEST_SUBSCRIPTION_KEY
with your key if you want to execute Autosuggest tests. -
Set up the environment variable
CUSTOMSEARCH_SUBSCRIPTION_KEY
with your key if you want to execute CustomSearch tests. -
Set up the environment variable
CUSTOMIMAGESEARCH_SUBSCRIPTION_KEY
with your key if you want to execute CustomImageSearch tests. -
Set up the environment variable
ENTITYSEARCH_SUBSCRIPTION_KEY
with your key if you want to execute EntitySearch tests. -
Set up the environment variable
IMAGESEARCH_SUBSCRIPTION_KEY
with your key if you want to execute ImageSearch tests. -
Set up the environment variable
NEWSSEARCH_SUBSCRIPTION_KEY
with your key if you want to execute NewsSearch tests. -
Set up the environment variable
VIDEOSEARCH_SUBSCRIPTION_KEY
with your key if you want to execute VideoSearch tests. -
Set up the environment variable
VISUALSEARCH_SUBSCRIPTION_KEY
with your key if you want to execute VideoSearch tests. -
Set up the environment variable
WEBSEARCH_SUBSCRIPTION_KEY
with your key if you want to execute WebSearch tests.
A demo app is included to show how to use the project.
To run the complete demo, execute python example.py
To run each individual demo, point directly to the file. For example (i.e. not complete list):
python samples/sdk/spellcheck_samples.py
python samples/sdk/entity_search_samples.py
python samples/sdk/video_search_samples.py
To see the code of each example, simply look at the examples in the Samples folder. They are written to be isolated in scope so that you can see only what you're interested in.