Quickstart: Check spelling with Bing Spell Check REST API and Python
Use this quickstart to make your first call to Bing Spell Check REST API. This simple Python application sends a request to the API and returns a list of suggested corrections.
Although this application is written in Python, the API is a RESTful Web service compatible with most programming languages. The source code for this application is available on GitHub
Prerequisites
- Python 3.x
Initialize the application
Create a new Python file in your favorite IDE or editor, and add the following import statements:
import requests import json
Create variables for the text you want to spell check, your subscription key, and your Bing Spell Check endpoint.
api_key = "<ENTER-KEY-HERE>" example_text = "Hollo, wrld" # the text to be spell-checked endpoint = "https://api.bing.microsoft.com/v7.0/SpellCheck"
Create the parameters for the request
Create a new dictionary with
text
as the key, and your text as the value.data = {'text': example_text}
Add the parameters for your request:
Assign your market code to the
mkt
parameter with the=
operator. The market code is the code of the country/region you make the request from.Add the
mode
parameter with the&
operator, and then assign the spell-check mode. The mode can be eitherproof
(catches most spelling/grammar errors) orspell
(catches most spelling errors, but not as many grammar errors).
params = { 'mkt':'en-us', 'mode':'proof' }
Add a
Content-Type
header and your subscription key to theOcp-Apim-Subscription-Key
header.headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Ocp-Apim-Subscription-Key': api_key, }
Send the request and read the response
Send the POST request by using the requests library.
response = requests.post(endpoint, headers=headers, params=params, data=data)
Get the JSON response and print it.
json_response = response.json() print(json.dumps(json_response, indent=4))
Run the application
If you're using the command line, use the following command to run the application:
python <FILE_NAME>.py
Example JSON response
A successful response is returned in JSON, as shown in the following example:
{
"_type": "SpellCheck",
"flaggedTokens": [
{
"offset": 0,
"token": "Hollo",
"type": "UnknownToken",
"suggestions": [
{
"suggestion": "Hello",
"score": 0.9115257530801
},
{
"suggestion": "Hollow",
"score": 0.858039839213461
},
{
"suggestion": "Hallo",
"score": 0.597385084464481
}
]
},
{
"offset": 7,
"token": "wrld",
"type": "UnknownToken",
"suggestions": [
{
"suggestion": "world",
"score": 0.9115257530801
}
]
}
]
}