Get historical keyword data
Return historical search volume and search ad metrics since 2019 for specified keywords, for trend and seasonality analysis.
Pricing — $$ · min $0.05
Minimum 50 credits ($0.05) per call. Records returned above the minimum bill 1 credit ($0.001) each.
Authorization
bearerAuth UnifAPI API key. Provider credentials are managed by UnifAPI.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/seo/keywords/history" \ -H "Content-Type: application/json" \ -d '{ "keywords": [ "string" ] }'{
"request_id": "string",
"data": {
"keywords": [
"string"
],
"location": "string",
"language": "string",
"results": [
{
"keyword": "string",
"history": [
{
"year": 0,
"month": 0,
"search_volume": 0,
"cpc": 0,
"competition": 0,
"competition_level": "string"
}
]
}
]
},
"billing": {
"credits_charged": 0,
"records_charged": 0,
"balance_remaining": 0,
"truncated_due_to_balance": true
}
}{
"error": {
"type": "validation_error",
"message": "string",
"request_id": "string",
"issues": [
null
],
"billing": {
"credits_required": 0,
"credits_charged": 0,
"records_charged": 0,
"balance_remaining": 0,
"truncated_due_to_balance": true
}
}
}{
"error": {
"type": "validation_error",
"message": "string",
"request_id": "string",
"issues": [
null
],
"billing": {
"credits_required": 0,
"credits_charged": 0,
"records_charged": 0,
"balance_remaining": 0,
"truncated_due_to_balance": true
}
}
}{
"error": {
"type": "validation_error",
"message": "string",
"request_id": "string",
"issues": [
null
],
"billing": {
"credits_required": 0,
"credits_charged": 0,
"records_charged": 0,
"balance_remaining": 0,
"truncated_due_to_balance": true
}
}
}{
"error": {
"type": "validation_error",
"message": "string",
"request_id": "string",
"issues": [
null
],
"billing": {
"credits_required": 0,
"credits_charged": 0,
"records_charged": 0,
"balance_remaining": 0,
"truncated_due_to_balance": true
}
}
}{
"error": {
"type": "validation_error",
"message": "string",
"request_id": "string",
"issues": [
null
],
"billing": {
"credits_required": 0,
"credits_charged": 0,
"records_charged": 0,
"balance_remaining": 0,
"truncated_due_to_balance": true
}
}
}{
"error": {
"type": "validation_error",
"message": "string",
"request_id": "string",
"issues": [
null
],
"billing": {
"credits_required": 0,
"credits_charged": 0,
"records_charged": 0,
"balance_remaining": 0,
"truncated_due_to_balance": true
}
}
}{
"error": {
"type": "validation_error",
"message": "string",
"request_id": "string",
"issues": [
null
],
"billing": {
"credits_required": 0,
"credits_charged": 0,
"records_charged": 0,
"balance_remaining": 0,
"truncated_due_to_balance": true
}
}
}{
"error": {
"type": "validation_error",
"message": "string",
"request_id": "string",
"issues": [
null
],
"billing": {
"credits_required": 0,
"credits_charged": 0,
"records_charged": 0,
"balance_remaining": 0,
"truncated_due_to_balance": true
}
}
}Find keywords a domain ranks for POST
Return the keywords a target domain is relevant for, each with search volume, CPC, competition, keyword difficulty, and search intent, for competitor and own-site keyword research.
Discover keyword ideas POST
Expand seed keywords into related search terms that fall into the same product or service categories, each with search volume, CPC, competition, keyword difficulty, and search intent for SEO and content research.