KeywordsExtractorEntity
object
url
string
required
keywords
array
required
Tools
Extract top X keywords from given URLs
Extract top X keywords from given URLs.
Your organization, project and token stay in this browser's local storage and are sent straight to the API — this page never sees them.
Fixed cost per item requested, plus the data the query scans. Narrowing the date range you ask for is what keeps this down.
These usage SKUs can be charged on a call.
| SKU | Credits | Description |
|---|---|---|
| Tool call | 1 per request | Charged once per successful item, on top of any usage below. |
| Data scanned | 6,250 per TiB scanned | Analytical queries are billed on the volume of data the query reads, not on the rows it returns: a narrow filter over a large table can still scan the whole table. |
item is what you send, config how the tool behaves,
and the response is what you get back.
urls
array
required
List of URLs we want to retrieve the keywords
{
"urls": [
"string"
]
}
limit
integer
Limit of top keywords to retrieve per URL
start_date
string
Start date of the period (format YYYY-MM-DD)
end_date
string
End date of the period
exclude_branded
boolean
Whether to exclude branded keywords
min_ctr
number | null
Minimum CTR to filter keywords (between 0 and 1)
sort
string
Metric to sort keywords by (descending order)
{
"limit": 10,
"start_date": "2026-08-17",
"end_date": "2026-09-16",
"exclude_branded": true,
"min_ctr": null,
"sort": "impressions"
}
results
KeywordsExtractorEntity
required
List of keywords per URL
{
"results": [
{
"url": "string",
"keywords": [
"string"
]
}
]
}
These are the available sub-object types that can be used in the properties above.
KeywordsExtractorEntity
object
url
string
required
keywords
array
required
http://agents.botify.com/{organization}/{project}/keywords_extractor/process
http://agents.botify.com/{organization}/{project}/keywords_extractor/batch_process
http://agents.botify.com/{organization}/{project}/keywords_extractor/async_process
http://agents.botify.com/{organization}/{project}/keywords_extractor/async_batch_process
See running a long job in the background for the polling flow.
curl -X POST "http://agents.botify.com/{organization}/{project}/keywords_extractor/process" \
-H "Authorization: Bearer $BOTIFY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"item": {
"urls": []
}
}'