NAVNavbar
Logo
cURL php NodeJS Python cSharp

Search Intent


This endpoint will provide you with search intent data for up to 1,000 keywords. For each keyword that you specify when setting a task, the API will return the keyword’s search intent and intent probability. Besides the highest probable search intent, the results will also provide you with other likely search intent(s) and their probability.

Based on keyword data and search results data, our system has been trained to detect four types of search intent: informational, navigational, commercial, transactional.

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

<?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(
   "keywords" => [
      "login page",
      "audi a7",
      "elon musk",
      "milk store new york"
   ],
   "language_name" => "English"
);
try {
   // POST /v3/dataforseo_labs/google/search_intent/live
   $result = $client->post('/v3/dataforseo_labs/google/search_intent/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;
?>

The above command returns JSON structured like this:

{
    "version": "0.1.20221214",
    "status_code": 20000,
    "status_message": "Ok.",
    "time": "0.1285 sec.",
    "cost": 0.0014,
    "tasks_count": 1,
    "tasks_error": 0,
    "tasks": [
        {
            "id": "02271900-1535-0541-0000-2ab771deb8e2",
            "status_code": 20000,
            "status_message": "Ok.",
            "time": "0.0253 sec.",
            "cost": 0.0014,
            "result_count": 1,
            "path": [
                "v3",
                "dataforseo_labs",
                "google",
                "search_intent",
                "live"
            ],
            "data": {
                "api": "dataforseo_labs",
                "function": "search_intent",
                "se_type": "google",
                "language_code": "en",
                "keywords": [
                    "login page",
                    "audi a7",
                    "elon musk",
                    "milk store new york"
                ]
            },
            "result": [
                {
                    "language_code": "en",
                    "items_count": 4,
                    "items": [
                        {
                            "keyword": "login page",
                            "keyword_intent": {
                                "label": "navigational",
                                "probability": 0.9694191
                            },
                            "secondary_keyword_intents": null
                        },
                        {
                            "keyword": "audi a7",
                            "keyword_intent": {
                                "label": "commercial",
                                "probability": 1
                            },
                            "secondary_keyword_intents": null
                        },
                        {
                            "keyword": "elon musk",
                            "keyword_intent": {
                                "label": "informational",
                                "probability": 0.95328856
                            },
                            "secondary_keyword_intents": null
                        },
                        {
                            "keyword": "milk store new york",
                            "keyword_intent": {
                                "label": "commercial",
                                "probability": 0.49751797
                            },
                            "secondary_keyword_intents": [
                                {
                                    "label": "transactional",
                                    "probability": 0.37083894
                                },
                                {
                                    "label": "informational",
                                    "probability": 0.30781138
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

All POST data should be sent in the 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. The maximum number of requests that can be sent simultaneously is limited to 30.

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
keywords array target keywords
required field
UTF-8 encoding
maximum number of keywords you can specify in this array: 1000;
the keywords will be converted to lowercase format

learn more about rules and limitations of keyword and keywords fields in DataForSEO APIs in this Help Center article

language_name string full name of the language
required field if don’t specify language_code
you can receive the list of available languages with their language_name by making a separate request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages

Note: this endpoint currently supports the following languages only:
Arabic, ar,
Chinese(Traditional), zh-TW,
Czech, cs,
Danish, da,
Dutch, nl,
English, en,
Finnish, fi,
French, fr,
German, de,
Hebrew, he,
Hindi, hi,
Italian, it,
Japanese, ja,
Korean, ko,
Malay, ms,
Norwegian(Bokmål), nb,
Polish, pl,
Portuguese, pt,
Russian, ru,
Spanish, es,
Swedish, sv,
Thai, th,
Ukrainian, uk,
Vietnamese, vi

example:
English

language_code string language code
required field if don’t 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/dataforseo_labs/locations_and_languages
Note: this endpoint currently supports these languages only;
example:
en
tag string user-defined task identifier
optional field
the character limit is 255
you can use this parameter to identify the task and match it with the result
you will find the specified tag value in the data object of the response

As a response of the API server, you will receive 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
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
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 returned with an error
tasks array array of tasks
        id string task identifier
unique task identifier in our system in the UUID 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
        status_message string informational message of the task
you can find the full list of general informational messages here
        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
            language_code string language code in a POST array
if there is no data, then the value is null
            items_count integer the number of results returned in the items array
            items array array of items with relevant traffic estimation data
                keyword string target keyword in a POST array
                keyword_intent object search intent data relevant for the specified keyword
                    label string search intent name
possible values: informational, navigational, commercial, transactional
                    probability float search intent probability
1 indicates the highest probability
                secondary_keyword_intents array contains objects with other possible search intents for the specified keyword
                        label string search intent name
possible values: informational, navigational, commercial, transactional
                        probability float search intent probability

‌‌