Retrieve Brand by Name
Look up brand data using a company name. Uses fuzzy matching (trigram similarity) and returns the best match plus a list of alternative candidates.
Endpoint: GET /v1/brand/retrieve-by-name
Credits: 2 per request
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Company or brand name (e.g., Stripe, Linear) |
Response Schema
{
"data": {
"brand": {
"id": "...",
"domain": "stripe.com",
"title": "Stripe",
"description": "Financial infrastructure for the internet.",
"logos": { "primary": "...", "favicon": "..." },
"colors": { "primary": "#635BFF" },
"industries": ["Financial Technology"]
},
"matches": [
{ "id": "...", "domain": "stripe.com", "title": "Stripe", "similarity": 1.0 },
{ "id": "...", "domain": "stripe.press", "title": "Stripe Press", "similarity": 0.82 }
]
},
"_meta": {}
}Code Examples
cURL
curl -X GET "https://api.orsa.dev/v1/brand/retrieve-by-name?name=Stripe" \
-H "Authorization: Bearer YOUR_API_KEY"TypeScript
const { data } = await client.brand.retrieveByName({
name: 'Stripe',
});
console.log(data.brand.domain); // "stripe.com"
console.log(data.matches[0].similarity); // 1.0Python
res = client.brand.retrieve_by_name(name="Stripe")
data = res["data"]
print(data["brand"]["domain"]) # "stripe.com"
print(data["matches"][0]["similarity"]) # 1.0Error Codes
| Code | Status | Description |
|---|---|---|
INPUT_VALIDATION_ERROR | 400 | Missing or empty name parameter |
UNAUTHORIZED | 401 | Missing or invalid API key |
NOT_FOUND | 404 | No brand found matching the given name |
RATE_LIMITED | 429 | Rate limit exceeded |
USAGE_EXCEEDED | 402 | Insufficient credits |
Notes
- Uses fuzzy matching (trigram similarity) — exact spelling isn’t required.
data.brandis the highest-similarity match;data.matcheslists the top candidates with their similarity scores (0–1).- If the brand hasn’t been indexed yet, you’ll get a 404. Use Retrieve by Domain to trigger extraction for new domains.