Categories for Keywords
This endpoint will provide you with Google product and service categories related for each specified keyword. You can indicate a maximum of 1,000 keywords in one API request.
This endpoint will provide you with Google product and service categories related for each specified keyword. You can indicate a maximum of 1,000 keywords in one API request.
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" => [ "dentist new york", "pizza brooklyn", "car dealer los angeles" ], "language_name" => "English" ); try { // POST /v3/dataforseo_labs/google/categories_for_keywords/live $result = $client->post('/v3/dataforseo_labs/google/categories_for_keywords/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.20240626", "status_code": 20000, "status_message": "Ok.", "time": "0.0969 sec.", "cost": 0.00103, "tasks_count": 1, "tasks_error": 0, "tasks": [ { "id": "07121857-1535-0587-0000-8673f930481b", "status_code": 20000, "status_message": "Ok.", "time": "0.0382 sec.", "cost": 0.00103, "result_count": 1, "path": [ "v3", "dataforseo_labs", "google", "categories_for_keywords", "live" ], "data": { "api": "dataforseo_labs", "function": "categories_for_keywords", "se_type": "google", "language_code": "en", "keywords": [ "dentist new york", "pizza brooklyn", "car dealer los angeles" ] }, "result": [ { "language_code": "en", "items_count": 3, "items": [ { "keyword": "dentist new york", "categories": [ 10011, 10091, 10514, 11797 ] }, { "keyword": "pizza brooklyn", "categories": [ 10020, 10169, 12228 ] }, { "keyword": "car dealer los angeles", "categories": [ 10001, 13655, 13656 ] } ] } ] } ] }
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 |
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 thehttps://api.dataforseo.com/v3/dataforseo_labs/google/categories_for_keywords/languages 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 thehttps://api.dataforseo.com/v3/dataforseo_labs/google/categories_for_keywords/languages 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 |
total_count |
integer | total amount of results in our database relevant to your request |
items_count |
integer | the number of results returned in the items array |
items |
array | contains keywords and related keyword difficulty scores |
keyword |
string | keyword in a POST array |
categories |
array | product and service categories you can download the full list of possible categories |