Get competitor
A single competitor’s identity record. Use it when you already hold a competitor_id and need its
details, rather than fetching and filtering the whole list.
Share of voice numbers are not here — those live on Competitor rankings.
GET /v1/brands/{brand_id}/competitors/{competitor_id}Authorization
| Header | Type | Required |
|---|---|---|
Authorization | Bearer asky_sk_… | required |
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
brand_id | uuid | required | From List brands |
competitor_id | uuid | required | From List competitors |
Query parameters
None.
Any parameter you pass returns 400 invalid_request naming the offending key, rather than being
ignored silently.
Request
cURL
curl --request GET \
--url 'https://api.askylabs.com/v1/brands/242546de-4cee-4a7d-952e-f6aa60c63ef8/competitors/b7c3e910-4482-4f5a-bb2e-7d1e0a93c684' \
--header 'Authorization: Bearer <api-key>'Response
200
{
"data": {
"id": "b7c3e910-4482-4f5a-bb2e-7d1e0a93c684",
"name": "Peec AI",
"primary_url": "https://peec.ai",
"domain": "peec.ai",
"relation": "direct_competitor",
"aliases": ["Peec"],
"favicon_url": null,
"is_active": true,
"is_manual": false,
"created_at": "2026-02-19T11:04:33.219Z"
},
"request_id": "req_88ac410f2de7495db6c3"
}Response fields
| Field | Type | Description |
|---|---|---|
data.id | uuid | required |
data.name | string | required |
data.primary_url | string | null | |
data.domain | string | null | Registrable apex domain |
data.relation | string | required |
data.aliases | string[] | required |
data.favicon_url | string | null | |
data.is_active | boolean | required |
data.is_manual | boolean | required |
data.created_at | timestamptz | required |
request_id | string | required. Also returned as the x-request-id header. Quote it when contacting support |
Errors
| Status | Code | When |
|---|---|---|
| 400 | invalid_request | A parameter is unknown or malformed. The message names it |
| 401 | invalid_token | The key is missing, malformed, or does not exist |
| 401 | token_expired | The key passed its expiry date |
| 401 | token_revoked | The key was revoked |
| 404 | not_found | The brand does not exist, or this key is not allowed to reach it. The two are deliberately indistinguishable |
| 429 | rate_limited | Over 300 requests per minute. See the Retry-After header |
Notes
A competitor id belonging to another brand returns 404 not_found, identical to one that does not exist.
Last updated on