# Setting ‘Keyword Suggestions For URL’ Tasks

**API:** Data API

**Endpoint:** `POST /v1/beta/dataforseo/keywords_data/bing/keyword_suggestions_for_url/task_post`

**Tags:** DataForSEO

Queues a Bing keywords-for-URL task, returning a task `id`. Wrapped in DataForSEO's envelope: data in `tasks[0].result`, outcome in `tasks[0].status_code` - a rejected request still returns HTTP 200. Retrieve with `get_dataforseo_keywords_bing_kw_for_url_fetch`.

### Pricing reference

- Metering: Reported response cost.
- Reference request estimate: USD 0.09.
- Reference customer multiplier: 1.0. Do not apply it again to a settled customer amount.

Reference metadata only, not an account quote, a guaranteed price or a spending cap. Resource credits are not Felo credits. Final charges follow Felo billing records.

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Request body

Required: **yes**

### application/json

Schema:

```json
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "target": {
        "type": "string",
        "description": "target URL of the webpage to scan for possible keywords required field maximum length: 2000 characters"
      },
      "language_code": {
        "type": "string",
        "description": "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": {
        "type": "boolean",
        "description": "determines whether the results exclude brand keywords optional field"
      },
      "language_name": {
        "type": "string",
        "description": "Full name of the search engine language. Required if language_code is not supplied; either language_name or language_code is sufficient."
      }
    },
    "required": [
      "target"
    ],
    "allOf": [
      {
        "anyOf": [
          {
            "required": [
              "language_name"
            ]
          },
          {
            "required": [
              "language_code"
            ]
          }
        ]
      }
    ]
  }
}
```

## Responses

### 200 — Successful response

Headers:
- `X-Request-Id` (string) — Request identifier to include when contacting Felo support.

**application/json**

Schema: object

```json
{
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "description": "the current version of the API"
    },
    "status_code": {
      "type": "integer",
      "description": "general status code you can find the full list of the response codes here Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions"
    },
    "status_message": {
      "type": "string",
      "description": "general informational message"
    },
    "time": {
      "type": "string",
      "description": "execution time, seconds"
    },
    "cost": {
      "type": "number",
      "description": "total tasks cost, USD"
    },
    "tasks_count": {
      "type": "integer",
      "description": "the number of tasks in the tasks array"
    },
    "tasks_error": {
      "type": "integer",
      "description": "the number of tasks in the tasks array returned with an error"
    },
    "tasks": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "array of tasks"
    },
    "tasks.id": {
      "type": "string",
      "description": "task identifier unique task identifier in our system in the UUID format"
    },
    "tasks.status_code": {
      "type": "integer",
      "description": "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"
    },
    "tasks.status_message": {
      "type": "string",
      "description": "informational message of the task you can find the full list of general informational messages here"
    },
    "tasks.time": {
      "type": "string",
      "description": "execution time, seconds"
    },
    "tasks.cost": {
      "type": "number",
      "description": "cost of the task, USD"
    },
    "tasks.result_count": {
      "type": "integer",
      "description": "number of elements in the result array"
    },
    "tasks.path": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "URL path"
    },
    "tasks.data": {
      "type": "object",
      "description": "contains the same parameters that you specified in the POST request"
    },
    "tasks.result": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "array of results in this case, the value will be null"
    }
  }
}
```

### 400 — The request could not be processed. Check the request parameters.

### 401 — A valid Felo API key is required.

### 402 — The request cannot proceed because a billing requirement is not met.

### 403 — The account is not permitted to perform this operation.

### 429 — A request or spending limit has been reached.

### 502 — The service could not complete the request.

### 503 — The API or billing service is temporarily unavailable.

### 504 — The service timed out while processing the request.

### default — Error response; upstream passthrough responses may use provider formats

**application/json**

Schema:

```json
{}
```
