DataForSEO
On Page Keyword Density
This endpoint will provide you with keyword density and keyword frequency data for terms appearing on the specified website or web page. You can filter and sort the data that will be retrieved with this API call.
Free DataForSEOSEOdataforseo/on-page-keyword-densityActive
Use this tool with your agent
Give this to your agent
Use my connected Agentik MCP server. I want to use the tool dataforseo/on-page-keyword-density (On Page Keyword Density). Call inspect_tool with {"tool_id": "dataforseo/on-page-keyword-density"} first and tell me the price before anything runs. Ask me for the inputs it needs; never invent values, IDs or file URLs. When I confirm, call run_tool with tool_id "dataforseo/on-page-keyword-density" and my inputs, follow it with get_run if it is still running, and give me the result and the price Agentik reports. If the tool is unavailable, say so and use discover_tools to propose an alternative.Show the prompt
Paste it into Claude, ChatGPT or Codex: your agent takes it from there, and shows the price before it runs.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | ID of the task required field you can get this ID in the response of the Task POST endpoint example: "07131248-1535-0216-1000-17384017ad04" |
keyword_length | integer | Yes | number of words for a keyword required field possible values: 1, 2, 3, 4, 5 |
url | string | No | page URL optional field if you do not specify a page here, the results will be provided for the whole website if you use this field, the API response will contain only keywords from the specified page a page should be specified with absolut |
limit | integer | No | the maximum number of returned keywords optional field default value: 100 maximum value: 1000 |
filters | any[] | No | array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, =, <>, in |
order_by | string[] | No | results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc - results will be sorted in the ascending order desc - results will be sorted in the descending order y |
tag | string | No | 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 |
How your agent calls it
Call inspect_tool with the identifier below. No example input is published for this tool; collect the required inputs before calling run_tool.
{
"tool_id": "dataforseo/on-page-keyword-density"
}Price and billing
- Price
- Free
- Model
- Per call
- Detail
- No charge per call. A workspace is still needed so your agent can call it.
- The provider’s price, 0% markup.
- One prepaid balance for every provider; your agent sees the price before it runs.
- Pay for measured usage; unused reservations are released.