Find domains competing for keywords
Return the domains that rank for a set of seed keywords, ranked by visibility, with average position, estimated traffic, and the number of shared keywords, to discover SERP competitors.
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/competitors/serp" \ -H "Content-Type: application/json" \ -d '{ "keywords": [ "string" ] }'{
"request_id": "string",
"data": {
"keywords": [
"string"
],
"location": "string",
"language": "string",
"total_count": 0,
"results": [
{
"domain": "string",
"avg_position": 0,
"median_position": 0,
"rating": 0,
"etv": 0,
"keywords_count": 0,
"visibility": 0,
"relevant_serp_items": 0
}
]
},
"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
}
}
}List a domain's top ranking pages POST
Return the pages of a target domain that drive the most organic search traffic, each with its ranking distribution and estimated traffic, for content gap and page-level analysis.
List a domain's subdomains with traffic POST
Return the subdomains of a target domain, each with its organic ranking distribution and estimated traffic, to see which subdomains drive search visibility.