Find a domain's organic competitors
Return the domains that compete with a target domain in organic search, with shared-keyword counts and ranking/traffic metrics, for competitive landscape 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/competitors/domain" \ -H "Content-Type: application/json" \ -d '{ "target": "string" }'{
"request_id": "string",
"data": {
"target": "string",
"location": "string",
"language": "string",
"view": "summary",
"total_count": 0,
"results": [
{
"domain": "string",
"avg_position": 0,
"sum_position": 0,
"intersections": 0,
"metrics": {
"organic": {
"count": 0,
"etv": 0,
"estimated_paid_traffic_cost": 0,
"pos_1": 0,
"pos_2_3": 0,
"pos_4_10": 0,
"pos_11_20": 0,
"pos_21_30": 0,
"pos_31_40": 0,
"pos_41_50": 0,
"pos_51_60": 0,
"pos_61_70": 0,
"pos_71_80": 0,
"pos_81_90": 0,
"pos_91_100": 0,
"is_new": 0,
"is_up": 0,
"is_down": 0,
"is_lost": 0
},
"paid": {
"count": 0,
"etv": 0,
"estimated_paid_traffic_cost": 0,
"pos_1": 0,
"pos_2_3": 0,
"pos_4_10": 0,
"pos_11_20": 0,
"pos_21_30": 0,
"pos_31_40": 0,
"pos_41_50": 0,
"pos_51_60": 0,
"pos_61_70": 0,
"pos_71_80": 0,
"pos_81_90": 0,
"pos_91_100": 0,
"is_new": 0,
"is_up": 0,
"is_down": 0,
"is_lost": 0
}
},
"full_domain_metrics": {
"organic": {
"count": 0,
"etv": 0,
"estimated_paid_traffic_cost": 0,
"pos_1": 0,
"pos_2_3": 0,
"pos_4_10": 0,
"pos_11_20": 0,
"pos_21_30": 0,
"pos_31_40": 0,
"pos_41_50": 0,
"pos_51_60": 0,
"pos_61_70": 0,
"pos_71_80": 0,
"pos_81_90": 0,
"pos_91_100": 0,
"is_new": 0,
"is_up": 0,
"is_down": 0,
"is_lost": 0
},
"paid": {
"count": 0,
"etv": 0,
"estimated_paid_traffic_cost": 0,
"pos_1": 0,
"pos_2_3": 0,
"pos_4_10": 0,
"pos_11_20": 0,
"pos_21_30": 0,
"pos_31_40": 0,
"pos_41_50": 0,
"pos_51_60": 0,
"pos_61_70": 0,
"pos_71_80": 0,
"pos_81_90": 0,
"pos_91_100": 0,
"is_new": 0,
"is_up": 0,
"is_down": 0,
"is_lost": 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
}
}
}Get a domain's ranking and traffic overview POST
Return the organic and paid ranking distribution and estimated traffic for a target domain, summarizing how many keywords it ranks for in each position bucket.
Estimate historical traffic for domains POST
Return a monthly estimated organic and paid traffic time series for a list of domains since 2019, for comparing competitor growth trajectories over time.