---
title: "Errors"
url: "https://docs.dataforseo.com/v3/appendix/errors"
date: "2026-05-29"
---

## Errors

 

 

This endpoint returns a list of possible DataForSEO API errors and general status codes. Below you will find a list of HTTP response codes and internal messages. We recommend storing the data connected to error codes in your application log and designing a necessary system for handling related exceptional or error conditions.

**Note:** DataForSEO API servers always return the `200` HTTP response code, except for the following cases.

**HTTP response codes:**

| Code | Message | Description |
|---|---|---|
| `401` | Unauthorized | *You are not authorized to access this resource. See your login details here: https://app.dataforseo.com/api-access* |
| `402` | Payment Required | *We had a problem billing your account. Please, check your account’s balance.* |
| `404` | Not Found | *Requested endpoint not found* |
| `500` | Internal Server Error | *Sorry, we could not process your request due to the internal server error. Please, try again later.* |

Alongside the `200` HTTP code, our system also generates internal status codes which you may find in `status_code` and `status_message` fields of the API response.

**Note:** status messages can be expanded in the API response and may vary depending on the event that triggered them.

**Internal status codes and messages:**

| Code | Message | Description |
|---|---|---|
| `20000` | Ok. | the request has been successfully completed |
| `20100` | Task Created. | as a result of the successful request, the task has been created |
| `40000` | You can set only one task at a time. | you cannot specify more than one task in the POST array |
| `40001` | This id is used by another client, check the id. | the task identifier `id` is unique to the client used to send the request |
| `40002` | This id is used by another search engine, check the Path. | the task identifier `id` is unique to the search engine used in the URL path of the request |
| `40003` | This id is used by another search type, check the Path. | the task identifier `id` is unique to the search type used in the URL path of the request |
| `40004` | This id is used by another function, check the id. | the task identifier `id` is unique to the function used in the URL path of the request |
| `40006` | You can set no more than 100 tasks at a time. | each POST request can contain up to 100 tasks |
| `40100` | You are not authorized to access this resource. See your login details here: https://app.dataforseo.com/api-access . | check if the specified credentials match those in your [account dashboard ](https://app.dataforseo.com/api-access) |
| `40101` | Internal SE server error. | the requested search engine was unable to process your request and responded with an error |
| `40102` | No Search Results. | no results matching the details of your request have been found |
| `40103` | Task execution failed, please try to resubmit the task. | the task could not be executed, try posting another task with similar parameters |
| `40104` | Please verify your account before using the API. You can complete the verification in the user panel: https://app.dataforseo.com/ . | email and/or phone verification is required for new users; to use DataForSEO APIs, you have to complete the account verification process in the [User Panel](https://app.dataforseo.com/) |
| `40200` | Payment Required. | the request cannot be completed until the balance is recharged;   check your balance in the [account dashboard](https://app.dataforseo.com/api-access) |
| `40201` | We noticed some unusual activity in your DataForSEO account, so we’ve temporarily paused access as a precaution. Please, reach out to our support team at support@dataforseo.com for more details, and we’ll work with you to resolve this quickly. | unusual activity detected in your account may result from the creation of several **trial** accounts or violation of the DataForSEO Terms of Service in some other way;   therefore, your account access and DataForSEO API access have been temporarily paused;   contact our support team to resolve the issue |
| `40202` | The rate-limit per minute has been exceeded. | you can make up to 2000 requests per minute;   contact our support team if you need to increase the limit |
| `40203` | The cost limit has been exceeded. You can modify your cost limit in the user panel https://app.dataforseo.com/api-settings. | you can modify daily cost limits for APIs and endpoints in your account dashboard |
| `40204` | Access denied. Visit Plans and Subscriptions to activate your subscription and get access to this API: https://app.dataforseo.com/users/getrows . | the access to Backlinks API is limited by a minimal commitment. [Learn more.](https://dataforseo.com/help-center/backlinks-api-pricing-explained) |
| `40205` | The duplicate task limit per hour has been exceeded. You can modify your limits in the user panel https://app.dataforseo.com/api-settings. | you can modify the duplicate task limit in your account dashboard. [Learn more.](https://dataforseo.com/help-center/limit-duplicate-tasks) |
| `40206` | The duplicate task limit per day has been exceeded. You can modify your limits in the user panel https://app.dataforseo.com/api-settings . | you can modify the duplicate task limit in your account dashboard. [Learn more.](https://dataforseo.com/help-center/limit-duplicate-tasks) |
| `40207` | Access denied. Your IP is not whitelisted. You can modify your IP whitelist in the user panel https://app.dataforseo.com/api-access . | you can whitelist all the necessary IPs in the account dashboard. [Learn more.](https://dataforseo.com/help-center/whitelist-ips) |
| `40209` | Too many simultaneous queries. | the limit for simultaneous requests made by a single user is 30 |
| `40210` | Insufficient Funds. Your account’s balance is too low to complete this request. | visit your [account dashboard](https://app.dataforseo.com/signin) to add funds; [learn more about making payments](https://dataforseo.com/help-center/making-a-payment-changing-details-refunds) |
| `40400` | Not found. | the requested resource doesn’t exist;   check the URL of the request |
| `40401` | Task Not Found. | the requested task does not exist |
| `40402` | Invalid Path. | the URL path of your request is invalid |
| `40403` | Results Expired. | it’s not possible to retrieve the results of a task that was created more than a month ago |
| `40404` | No Prepared Data Found.Please Contact Our Support Team. | the Sandbox does not contain prepared data for the task you set |
| `40405` | Textual content on the target page is insufficient. | target page does not have enough textual data, please try specifying a different page |
| `40406` | Requested page was not submitted for crawling. | the page was not submitted for crawling in Task POST |
| `40407` | Duplicate Host. | duplicate hosts detected in request |
| `40408` | Target URL is invalid. | website resource at the target URL returned a 404 status code or is invalid |
| `40501` | Invalid Field. | one of the fields in the POST request is invalid |
| `40502` | POST Data Is Empty. | the body of your POST request is empty, please check the body structure and validity |
| `40503` | POST Data is Invalid. | the structure of the POST request is invalid |
| `40504` | The number of intersecting keywords for the specified domains exceeds 10 million. Try specifying different domains. | there are too many intersecting keywords for the specified domains, please try again with different domain names |
| `40505` | You are using old data. | location parameters you are using are outdated, please check our documentation or call the relevant locations endpoint for up-tp-date parameters |
| `40506` | Unknown Fields in POST Data. | the body of your POST request contains unknown fields, please consult the documentation of the requested endpoint and use available fields |
| `40601` | Task Handed. | the task has been received but has not yet been enqueued for processing |
| `40602` | Task in Queue. | the task has been enqueued for processing |
| `50000` | Internal Error. | our system encountered an unexpected condition;   please contact our support team |
| `50001` | Error While Checking the Balance. | our system failed to check your account balance;   please contact our support team |
| `50100` | Not Implemented. | you specified a non-existing task or parameter, please check the body of your POST request |
| `50301` | 3rd Party API Service Unavailable. | one of our external data sources is currently unavailable or responded with an error;   the error can be triggered by Google Ads API or other third-party services used by DataForSEO API;   message of the error may vary depending on the third-party service status;   corresponding message examples:   `Too many requests`   `Could not connect to host`   `3rd Party API Service Unavailable` |
| `50303` | Update is in progress. Please try after a few minutes | the API you’re requesting is being updated;   this can take a few minutes |
| `50304` | This function is temporarily unavailable. Please contact support for more information. | the function you’re requesting failed to respond;   please contact our support team for more information |
| `50401` | Internal Error – Timeout. | our system failed to process a live-mode task in 120 seconds;   please try setting a task one more time |
| `50402` | Target page took too long to respond. | target page took longer than 50 seconds to respond, please try again later or specify a different page |

**You can also get the list of internal error codes by calling the ‘Errors’ endpoint:**  
      

Pricing

 Your account will not be charged for using this API

 ![checked](https://docs.dataforseo.com/v3/wp-content/themes/dataforseo/assets/img/icons/checked-circle.svg) GET  https://api.dataforseo.com/v3/appendix/errors     

By calling this endpoint you will receive information about the possible error codes.

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.

| 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) |
| `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 | *total 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 returned with 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 the 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` | array | *contains the same parameters that you specified in the POST request* |
| **`result`** | array | *array of results* |
| `code` | integer | *code* |
| `message` | string | *message* |



 

 









> 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 GET "https://api.dataforseo.com/v3/appendix/errors" 
--header "Authorization: Basic ${cred}"  
--header "Content-Type: application/json" 
--data-raw ""
```





```php
<?php
// You can download this file from here https://api.dataforseo.com/v3/_examples/php/_php_RestClient.zip
require('RestClient.php');
$api_url = 'https://api.dataforseo.com/';
try {
	// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
	$client = new RestClient($api_url, null, 'login', 'password');
} 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";
	exit();
}
try {
	// using this method you can get a list of errors
	// GET /v3/appendix/errors
	$result = $client->get('/v3/appendix/errors');
	print_r($result);
	// do something with 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
const axios = require('axios');

axios({
    method: 'get',
    url: 'https://api.dataforseo.com/v3/appendix/errors',
    auth: {
        username: 'login',
        password: 'password'
    },
    headers: {
        'content-type': 'application/json'
    }
}).then(function (response) {
    var result = response['data']['tasks'][0]['result'];
    // Result data
    console.log(result);
}).catch(function (error) {
    console.log(error);
});
```





```python
from random import Random
from client import RestClient
# You can download this file from here https://api.dataforseo.com/v3/_examples/python/_python_Client.zip

client = RestClient("login", "password")
# using this method you can get a list of errors
# GET /v3/appendix/errors
response = client.get("/v3/appendix/errors")
# 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.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 appendix_errors()
        {
            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"))) }
            };
            // using this method you can get a list of errors
            // GET /v3/appendix/errors
            var response = await httpClient.GetAsync("/v3/appendix/errors");
            var result = JsonConvert.DeserializeObject(await response.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.20260525",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "0.0843 sec.",
  "cost": 0,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "05281823-1535-0161-0000-e34edbd173ff",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "0.0000 sec.",
      "cost": 0,
      "result_count": 51,
      "path": [
        "v3",
        "appendix",
        "errors"
      ],
      "data": {
        "api": "appendix",
        "function": "errors"
      },
      "result": [
        {
          "code": 20000,
          "message": "Ok."
        },
        {
          "code": 20100,
          "message": "Task Created."
        },
        {
          "code": 40000,
          "message": "You can set only one task at a time."
        },
        {
          "code": 40001,
          "message": "This id is used by another client, check the id."
        },
        {
          "code": 40002,
          "message": "This id is used by another search engine, check the Path."
        },
        {
          "code": 40003,
          "message": "This id is used by another search type, check the Path."
        },
        {
          "code": 40004,
          "message": "This id is used by another function, check the id."
        },
        {
          "code": 40005,
          "message": "This id is used by a different API, check the Path."
        },
        {
          "code": 40006,
          "message": "You can set no more than 100 tasks at a time."
        },
        {
          "code": 40100,
          "message": "You are not authorized to access this resource. See your login details here: https://app.dataforseo.com/api-access ."
        },
        {
          "code": 40101,
          "message": "Internal SE Server Error."
        },
        {
          "code": 40102,
          "message": "No Search Results."
        },
        {
          "code": 40103,
          "message": "Task execution failed, please try to resubmit the task."
        },
        {
          "code": 40104,
          "message": "Please verify your account before using the API. You can complete verification in the user panel: https://app.dataforseo.com/ ."
        },
        {
          "code": 40200,
          "message": "Payment Required."
        },
        {
          "code": 40201,
          "message": "We noticed some unusual activity in your DataForSEO account, so we’ve temporarily paused access as a precaution. Please, reach out to our support team at support@dataforseo.com for more details, and we’ll work with you to resolve this quickly."
        },
        {
          "code": 40202,
          "message": "The rate-limit per minute has been exceeded."
        },
        {
          "code": 40203,
          "message": "The cost limit has been exceeded. You can modify your cost limit in the user panel https://app.dataforseo.com/api-settings ."
        },
        {
          "code": 40204,
          "message": "Access denied. Visit Plans and Subscriptions to activate your subscription and get access to this API: https://app.dataforseo.com/backlinks-subscription ."
        },
        {
          "code": 40205,
          "message": "The duplicate task limit per hour has been exceeded. You can modify your limits in the user panel https://app.dataforseo.com/api-settings ."
        },
        {
          "code": 40206,
          "message": "The duplicate task limit per day has been exceeded. You can modify your limits in the user panel https://app.dataforseo.com/api-settings ."
        },
        {
          "code": 40207,
          "message": "Access denied. Your IP is not whitelisted. You can modify your IP whitelist in the user panel https://app.dataforseo.com/api-access ."
        },
        {
          "code": 40208,
          "message": "Russian and Belarus accounts are blocked due to aggression over Ukraine. Ask your president to stop the war."
        },
        {
          "code": 40209,
          "message": "Too many simultaneous queries."
        },
        {
          "code": 40210,
          "message": "Insufficient Funds. Your account's balance is too low to complete this request."
        },
        {
          "code": 40400,
          "message": "Not Found."
        },
        {
          "code": 40401,
          "message": "Task Not Found."
        },
        {
          "code": 40402,
          "message": "Invalid Path."
        },
        {
          "code": 40403,
          "message": "Results Expired."
        },
        {
          "code": 40404,
          "message": "No Prepared Data Found. Please Contact Our Support Team."
        },
        {
          "code": 40405,
          "message": "Textual content on the target page is insufficient."
        },
        {
          "code": 40406,
          "message": "Requested page was not submitted for crawling."
        },
        {
          "code": 40407,
          "message": "Duplicate Host."
        },
        {
          "code": 40408,
          "message": "Target URL is invalid."
        },
        {
          "code": 40501,
          "message": "Invalid Field."
        },
        {
          "code": 40502,
          "message": "POST Data Is Empty."
        },
        {
          "code": 40503,
          "message": "POST Data Is Invalid."
        },
        {
          "code": 40504,
          "message": "The number of intersecting keywords for the specified domains exceeds 10 million. Try specifying different domains."
        },
        {
          "code": 40505,
          "message": "You are using old data."
        },
        {
          "code": 40506,
          "message": "Unknown Fields in POST Data."
        },
        {
          "code": 40601,
          "message": "Task Handed."
        },
        {
          "code": 40602,
          "message": "Task In Queue."
        },
        {
          "code": 50000,
          "message": "Internal Error."
        },
        {
          "code": 50001,
          "message": "Error While Checking the Balance."
        },
        {
          "code": 50100,
          "message": "Not Implemented."
        },
        {
          "code": 50301,
          "message": "3rd Party API Service Unavailable."
        },
        {
          "code": 50302,
          "message": "Internal 3rd Party API Service Unavailable."
        },
        {
          "code": 50303,
          "message": "Update in progress. Please try after a few minutes."
        },
        {
          "code": 50304,
          "message": "This function temporarily unavailable. Please contact support for more information."
        },
        {
          "code": 50401,
          "message": "Internal Error - Timeout."
        },
        {
          "code": 50402,
          "message": "Target page took too long to respond."
        }
      ]
    }
  ]
}
```









 

  cURL   php   Node.js   Python   cSharp