---
title: "Setting Live ‘Bing Ads Keyword Suggestions for URL’ Tasks"
url: "https://docs.dataforseo.com/v3/keywords_data/bing/keyword_suggestions_for_url/live/"
date: "2026-06-06"
---

## Setting Live ‘Bing Ads Keyword Suggestions for URL’ Tasks

This endpoint provides keyword suggestions based on the content of a given webpage URL. It analyzes the page and returns a list of relevant keywords, along with a confidence score that indicates the probability that the keyword would match a user’s search query.

If your system requires delivering instant results, the Live method is the best solution for you. Unlike the Standard method, this method doesn’t require making separate POST and GET requests to the corresponding endpoints.

If you don’t need to receive data in real-time, you can use [the Standard method](https://docs.dataforseo.com/v3/keywords_data/bing/keywords_for_site/task_post.md) of data retrieval. This method requires making separate POST and GET requests, but it’s more affordable. Using this method you can retrieve the results after our system collects them.

 

 

 ![checked](https://docs.dataforseo.com/v3/wp-content/themes/dataforseo/assets/img/icons/checked-circle.svg) POST  https://api.dataforseo.com/v3/keywords\_data/bing/keyword\_suggestions\_for\_url/live     

      

Pricing

  Your account is charged for each request.  
The cost can be calculated on the [Pricing](https://dataforseo.com/pricing/keywords-data/bing-ads "Pricing") page.

 

 All POST data should be sent in the [JSON](https://en.wikipedia.org/wiki/JSON) format (UTF-8 encoding). The task setting is done using the POST method. When setting a task, you should send all task parameters in the task array of the generic POST array. You can send up to 2000 API calls per minute. Visit [DataForSEO Help Center](https://dataforseo.com/help-center/best-practices-for-handling-keywords-data-api-requests) to get practical tips for request handling depending on your Keyword Data API payload volume.

Below you will find a detailed description of the fields you can use for setting a task.

**Description of the fields for setting a task:**

| Field name | Type | Description |
|---|---|---|
| `target` | string | *target URL of the webpage to scan for possible keywords*   **required field**   maximum length: 2000 characters |
| `language_name` | string | *full name of search engine language*   **required field if you don’t specify** `language_code`   if you use this field, you don’t need to specify `language_code`you can receive the list of available languages with their language\_name by making a separate request to the   https://api.dataforseo.com/v3/keywords\_data/bing/keyword\_suggestions\_for\_url/languages  example:   `English` |
| `language_code` | string | *search engine language code*   **required field if you don’t specify** `language_name`   if you use this field, you don’t need to specify `language_name`you can receive the list of available languages with their language\_code by making a separate request to https://api.dataforseo.com/v3/keywords\_data/bing/keyword\_suggestions\_for\_url/languages  example:   `en` |
| `exclude_brands` | boolean | *determines whether the results exclude brand keywords*   optional field |



As a response of the API server, you will receive [JSON](https://en.wikipedia.org/wiki/JSON)-encoded data containing a `tasks` array with the information specific to the set tasks.

**Description of the fields in the results array:**

| Field name | Type | Description |
|---|---|---|
| `version` | string | *the current version of the API* |
| `status_code` | integer | *general status code*   you can find the full list of the response codes [here](https://docs.dataforseo.com/v3/appendix/errors.md)   **Note:** we strongly recommend designing a necessary system for handling related exceptional or error conditions |
| `status_message` | string | *general informational message*   you can find the full list of general informational messages [here](https://docs.dataforseo.com/v3/appendix/errors.md) |
| `time` | string | *execution time, seconds* |
| `cost` | float | *total *tasks* cost, USD* |
| `tasks_count` | integer | *the number of tasks in the **`tasks`** array* |
| `tasks_error` | integer | *the number of tasks in the **`tasks`** array that were returned an error* |
| **`tasks`** | array | *array of tasks* |
| `id` | string | *task identifier*   **unique task identifier in our system in the [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format** |
| `status_code` | integer | *status code of the task*   generated by DataForSEO; can be within the following range: 10000-60000   you can find the full list of response codes [here](https://docs.dataforseo.com/v3/appendix-errors.md) |
| `status_message` | string | *informational message of the task*   you can find the full list of general informational messages [here](https://docs.dataforseo.com/v3/appendix-errors.md) |
| `time` | string | *execution time, seconds* |
| `cost` | float | *cost of the task, USD* |
| `result_count` | integer | *number of elements in the `result` array* |
| `path` | array | *URL path* |
| `data` | object | *contains the same parameters that you specified in the POST request* |
| **`result`** | array | *array of results*   results are sorted in order from keywords with the highest confidence score to those with the lowest confidence score |
| `keyword` | string | *suggested keyword* |
| `confidence_score` | float | *a score from 0.0 to 1.0 that indicates the probability that the keyword would match a user’s search query* |



 

 









> Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-access

```
# Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access 
login="login" 
password="password" 
cred="$(printf ${login}:${password} | base64)" 
curl --location --request POST "https://api.dataforseo.com/v3/keywords_data/bing/keyword_suggestions_for_url/live" 
--header "Authorization: Basic ${cred}"  
--header "Content-Type: application/json" 
--data-raw '[
    {
        "language_code": "en",
        "target": "dataforseo.com"
    }
]'
```





```php
<?php
// You can download this file from here https://cdn.dataforseo.com/v3/examples/php/php_RestClient.zip
require('RestClient.php');
$api_url = 'https://api.dataforseo.com/';
// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
$client = new RestClient($api_url, null, 'login', 'password');

$post_array = array();
// simple way to set a task
$post_array[] = array(
	"target" => "https://dataforseo.com/apis/serp-api"
);
try {
	// POST /v3/keywords_data/bing/keyword_suggestions_for_url/live
	// the full list of possible parameters is available in documentation
	$result = $client->post('/v3/keywords_data/bing/keyword_suggestions_for_url/live', $post_array);
	print_r($result);
	// do something with post result
} catch (RestClientException $e) {
	echo "n";
	print "HTTP code: {$e->getHttpCode()}n";
	print "Error code: {$e->getCode()}n";
	print "Message: {$e->getMessage()}n";
	print  $e->getTraceAsString();
	echo "n";
}
$client = null;
?>
```





```js
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://api.dataforseo.com/v3/keywords_data/bing/keyword_suggestions_for_url/live',
  'headers': {
    'Content-Type': 'application/json',
    'Authorization': '••••••'
  },
  body: JSON.stringify([
    {
      "language_code": "en",
      "target": "dataforseo.com"
    }
  ])

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
```





```python
from client import RestClient
# You can download this file from here https://cdn.dataforseo.com/v3/examples/python/python_Client.zip
client = RestClient("login", "password")
post_data = dict()
# simple way to set a task
post_data[len(post_data)] = dict(
    target="https://dataforseo.com/apis/serp-api"
)
# POST /v3/keywords_data/bing/keyword_suggestions_for_url/live
# the full list of possible parameters is available in documentation
response = client.post("/v3/keywords_data/bing/keyword_suggestions_for_url/live", post_data)
# you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
if response["status_code"] == 20000:
    print(response)
    # do something with result
else:
    print("error. Code: %d Message: %s" % (response["status_code"], response["status_message"]))
```





```csharp
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

namespace DataForSeoDemos
{
    public static partial class Demos
    {
        public static async Task keywords_data_bing_keyword_suggestions_for_url_live()
        {
            var httpClient = new HttpClient
            {
                BaseAddress = new Uri("https://api.dataforseo.com/"),
                // Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
                DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password"))) }
            };
            var postData = new List<object>();
            postData.Add(new
            {
                target = "https://dataforseo.com/apis/serp-api"
            });
            // POST /v3/keywords_data/bing/audience_estimation/live
            // the full list of possible parameters is available in documentation
            var taskPostResponse = await httpClient.PostAsync("/v3/keywords_data/bing/audience_estimation/live", new StringContent(JsonConvert.SerializeObject(postData)));
            var result = JsonConvert.DeserializeObject<dynamic>(await taskPostResponse.Content.ReadAsStringAsync());
            // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
            if (result.status_code == 20000)
            {
                // do something with result
                Console.WriteLine(result);
            }
            else
                Console.WriteLine($"error. Code: {result.status_code} Message: {result.status_message}");
        }
    }
}
```





> The above command returns JSON structured like this:

```
{
  "version": "0.1.20240801",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "12.7173 sec.",
  "cost": 0.075,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "09271216-1535-0596-0000-e87191ce0f35",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "12.6605 sec.",
      "cost": 0.075,
      "result_count": 800,
      "path": [
        "v3",
        "keywords_data",
        "bing",
        "keyword_suggestions_for_url",
        "live"
      ],
      "data": {
        "api": "keywords_data",
        "function": "keyword_suggestions_for_url",
        "se": "bing",
        "language_code": "en",
        "target": "dataforseo.com"
      },
      "result": [
        {
          "keyword": "pro seo tools",
          "confidence_score": 0.798
        },
        {
          "keyword": "best seo tools",
          "confidence_score": 0.798
        },
        {
          "keyword": "seo web tools",
          "confidence_score": 0.797
        },
        {
          "keyword": "cheap seo tools",
          "confidence_score": 0.795
        },
        {
          "keyword": "best local seo software",
          "confidence_score": 0.793
        },
        {
          "keyword": "professional seo",
          "confidence_score": 0.79
        },
        {
          "keyword": "local seo tools",
          "confidence_score": 0.789
        },
        {
          "keyword": "best seo tools small business",
          "confidence_score": 0.789
        },
        {
          "keyword": "good seo tool",
          "confidence_score": 0.789
        },
        {
          "keyword": "small seo tools",
          "confidence_score": 0.789
        },
        {
          "keyword": "best automated seo software",
          "confidence_score": 0.788
        },
        {
          "keyword": "buy seo tools",
          "confidence_score": 0.788
        },
        {
          "keyword": "all seo tool",
          "confidence_score": 0.788
        },
        {
          "keyword": "best seo tool",
          "confidence_score": 0.788
        },
        {
          "keyword": "cheap seo service",
          "confidence_score": 0.788
        },
        {
          "keyword": "top seo tools",
          "confidence_score": 0.788
        },
        {
          "keyword": "small seo tool",
          "confidence_score": 0.786
        },
        {
          "keyword": "affordable seo",
          "confidence_score": 0.785
        },
        {
          "keyword": "local seo software",
          "confidence_score": 0.785
        },
        {
          "keyword": "new seo tools",
          "confidence_score": 0.784
        },
        {
          "keyword": "professional seo services",
          "confidence_score": 0.782
        },
        {
          "keyword": "api payroll services",
          "confidence_score": 0.781
        },
        {
          "keyword": "seo tools",
          "confidence_score": 0.78
        },
        {
          "keyword": "what is seo tools",
          "confidence_score": 0.78
        },
        {
          "keyword": "seo tools website",
          "confidence_score": 0.78
        }
      ]
    }
  ]
}
```









 

  cURL   php   Node.js   Python   cSharp