Retrieve Brand by Email
Look up brand data using a business email address. The domain is extracted from the email and used to retrieve brand information.
Endpoint: GET /v1/brand/retrieve-by-email
Credits: 10 per request
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Business email address (e.g., ceo@stripe.com) |
Response Schema
{
"success": true,
"data": {
"name": "Stripe",
"domain": "stripe.com",
"description": "Financial infrastructure for the internet.",
"logos": [
{
"url": "https://cdn.orsa.dev/logos/stripe-light.svg",
"type": "svg",
"theme": "light",
"width": 120,
"height": 40
}
],
"colors": ["#635BFF", "#0A2540", "#00D4AA"],
"fonts": ["Inter", "system-ui"],
"industry": "Financial Technology",
"socials": {
"twitter": "https://twitter.com/stripe",
"linkedin": "https://linkedin.com/company/stripe",
"github": "https://github.com/stripe"
},
"meta": {
"title": "Stripe | Payment Processing Platform",
"favicon": "https://stripe.com/favicon.ico"
},
"email": "ceo@stripe.com",
"cached": false
},
"credits_used": 10,
"request_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
}Code Examples
cURL
curl -X GET "https://api.orsa.dev/v1/brand/retrieve-by-email?email=ceo@stripe.com" \
-H "Authorization: Bearer YOUR_API_KEY"TypeScript
const brand = await client.brand.retrieveByEmail({
email: 'ceo@stripe.com',
});
console.log(brand.domain); // "stripe.com"
console.log(brand.name); // "Stripe"
console.log(brand.colors); // ["#635BFF", "#0A2540", "#00D4AA"]Python
brand = client.brand.retrieve_by_email(email="ceo@stripe.com")
print(brand.domain) # "stripe.com"
print(brand.name) # "Stripe"
print(brand.colors) # ["#635BFF", "#0A2540", "#00D4AA"]Error Codes
| Code | Status | Description |
|---|---|---|
INPUT_VALIDATION_ERROR | 400 | Invalid email format or free/disposable email domain |
UNAUTHORIZED | 401 | Missing or invalid API key |
NOT_FOUND | 404 | No brand data found for the email domain |
RATE_LIMITED | 429 | Rate limit exceeded |
USAGE_EXCEEDED | 402 | Insufficient credits |
WEBSITE_ACCESS_ERROR | 502 | Brand extraction failed for the domain |
Notes
- Free and disposable email providers are rejected. Emails from Gmail, Yahoo, Outlook, Hotmail, etc. return a 400 error. Only business email domains are accepted.
- The domain is extracted from the email (e.g.,
ceo@stripe.com→stripe.com). - If the brand hasn't been indexed yet, Orsa will attempt live extraction, which may take up to 60 seconds.
- Cached brand data returns instantly with no additional latency.