API Reference
Brand Intelligence
Retrieve by Email

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

ParameterTypeRequiredDescription
emailstringYesBusiness 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

CodeStatusDescription
INPUT_VALIDATION_ERROR400Invalid email format or free/disposable email domain
UNAUTHORIZED401Missing or invalid API key
NOT_FOUND404No brand data found for the email domain
RATE_LIMITED429Rate limit exceeded
USAGE_EXCEEDED402Insufficient credits
WEBSITE_ACCESS_ERROR502Brand 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.comstripe.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.