Skip to main content
Enrich

The Brand Lookup API returns a company's name, logos, colors, fonts and social profiles from its domain

Send a domain, a web address or an email address and get the brand kit the company's own site publishes: its name, every logo file with its type and size, colors ranked by use, fonts, social profiles and a description. 2 credits per brand found, and nothing when the site has no name or logo to read.

2 credits per lookupOnly charged on a matchSame credits as every other product
1Lookup Brand Lookup API turning the domain shop.example.com into a brand kit for a fictional company, Sample Shop, with its logo, three brand colors, two fonts and three social profiles, for 2 credits

2

Credits per brand found

about $0.01 on Starter

0

Credits when there is nothing to read

no site, no charge

7

Social networks read

from LinkedIn to GitHub

4

Requests to the site at most

home page, manifest, two stylesheets

The home page and two stylesheets hold everything the brand kit is made from

The name, the logos and the description come from the home page and the manifest, the colors from the stylesheets, and the social profiles from the links on the page. The company here is invented.

A fictional shop's home page in a browser beside the four files a brand lookup reads: the home page for the name, logos and social links, the web app manifest for icons and theme color, and two stylesheets for colors and fonts

A brand kit comes back as a set of facts the site itself publishes, in one flat payload.

Every logo comes with its type and size

Logos are listed best first, each with its address, its purpose (logo for a wordmark or symbol, icon for a favicon-style square), its file type and its width and height when the site states them. The sharing image is returned separately.

  • Best logo first
  • SVG, PNG and other types named
  • Width and height where stated
  • The sharing image on its own

Colors arrive as hex values, most prominent first

Each color comes with where it was found, such as the site's declared theme color or its stylesheets, and how often a stylesheet uses it. The main color and the full list are also in the flat block.

  • Hex values, ready to paste
  • Most prominent first
  • Where each color was found
  • Use counts from the stylesheets

Fonts and social profiles are listed by name

The fonts the site loads come back by name with their source, and the social links it publishes come back as one address and handle per network: LinkedIn, X, Facebook, Instagram, YouTube, TikTok and GitHub.

  • Font names with their source
  • Seven networks, one address each
  • The handle for each profile
  • A count of profiles found

The site is read when you ask, not copied from an index

The kit is worked out from the home page, the manifest and the first two stylesheets as they are now. A result is remembered for 7 days, and bypass_cache: true reads the site again after a rebrand.

  • Read from the company's own site
  • The day it was read in checked_at
  • Remembered for 7 days
  • Bypass the memory on request

A site with nothing to read costs nothing

You are charged 2 credits only when a company name or a logo is found. A name that is not in DNS, a site with no home page or one that refuses the request, a page that names no company and a site that could not be reached cost 0, and that holds for bulk CSV jobs as well as the API.

  • Zero credits when nothing is found
  • Bulk CSV with a domain column
  • The same credits as every other product
  • One API key for all of it

A part the site does not publish is left empty

A color, font or profile the site does not publish comes back null or empty and is never guessed. A site that blocks automated requests answers access_refused, which is an answer and not an error.

  • Null where nothing is published
  • No guessed colors or profiles
  • A reason for every empty answer
  • Errors kept apart from answers

A domain goes in and a brand kit comes out

01

Send a domain

POST a domain, a web address or an email address. It is cut down to the site's host name. An IP address, a single word or a bare public suffix is refused with a clear error and costs nothing.

request

$ POST /api/v1/brand-lookup

"domain": "shop.example.com"

> a site, an address or an email

02

We read the site's own pages

1Lookup opens the home page, the web app manifest and the first two stylesheets, the same files a visitor's browser loads, with at most four requests and 8 seconds in all. A private or internal address is never connected to.

processing

Home page read

Web app manifest read

First two stylesheets read

Name, logos, colors and fonts worked out

03

Get the kit, flat and structured

The name, the best logo, the colors, the fonts and the social profiles arrive in one JSON payload. A brand that is found bills 2 credits, and a site with no name or logo to read bills nothing.

200 OK

nameSample Shop

logologo.svg

colors#4f46e5, #f59e0b, #0f172a

3 social profiles2 credits, 0 if nothing is found

One endpoint reads a site and works like every other 1Lookup call.

Same authentication, same credit balance, and the same response envelope as every other 1Lookup product. If you have already integrated one endpoint, this one is a URL change.

POST /v1/brand-lookup
curl -X POST https://app.1lookup.io/api/v1/brand-lookup \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "domain": "shop.example.com" }'
200 OK
{
  "classification": {
    "found": true,
    "domain": "shop.example.com",
    "site_url": "https://shop.example.com/",
    "redirected_to": null,
    "company_name": "Sample Shop",
    "description": "Sample Shop sells made-up goods for testing.",
    "logo_url": "https://shop.example.com/assets/logo.svg",
    "logo_format": "svg",
    "primary_color": "#4f46e5",
    "colors": "#4f46e5, #f59e0b, #0f172a",
    "primary_font": "Inter",
    "fonts": "Inter, Fraunces",
    "linkedin_url": "https://www.linkedin.com/company/sample-shop",
    "x_url": "https://x.com/sampleshop",
    "facebook_url": null,
    "instagram_url": "https://www.instagram.com/sampleshop",
    "youtube_url": null,
    "tiktok_url": null,
    "github_url": null,
    "social_count": 3,
    "checked_at": "2026-10-25"
  },
  "insights": {
    "brand_lookup_result": {
      "name": "Sample Shop",
      "alternate_names": ["Sample Shop Inc."],
      "language": "en",
      "logos": [
        { "url": "https://shop.example.com/assets/logo.svg", "source": "json_ld", "purpose": "logo", "format": "svg", "width": null, "height": null },
        { "url": "https://shop.example.com/apple-touch-icon.png", "source": "apple_touch_icon", "purpose": "icon", "format": "png", "width": 180, "height": 180 }
      ],
      "social_image_url": "https://shop.example.com/og-card.png",
      "colors": [
        { "hex": "#4f46e5", "source": "theme_color", "uses": null },
        { "hex": "#f59e0b", "source": "css", "uses": 18 },
        { "hex": "#0f172a", "source": "css", "uses": 9 }
      ],
      "fonts": [
        { "name": "Inter", "source": "google_fonts" },
        { "name": "Fraunces", "source": "css" }
      ],
      "social_profiles": [
        { "network": "linkedin", "url": "https://www.linkedin.com/company/sample-shop", "handle": "sample-shop" },
        { "network": "x", "url": "https://x.com/sampleshop", "handle": "sampleshop" },
        { "network": "instagram", "url": "https://www.instagram.com/sampleshop", "handle": "sampleshop" }
      ],
      "data_source": "site_html"
    }
  },
  "metadata": { "credits_used": 2, "cache_hit": false }
}

A column of domains goes in and one row per domain comes out

Upload a CSV with a domain column and download a result file with each company's name, main color and fonts, with the best logo and its type in more columns. The three domains here are invented.

domains.csvYou upload
  1. 1domain
  2. 2shop.example.com
  3. 3studio.example.com
  4. 4parked.example.com
brand-lookup-results.csvYou download
domainFoundCompany NamePrimary ColorFontsCredits Used
shop.example.comYesSample Shop#4f46e5Inter, Fraunces2
studio.example.comYesSample Studio#0f766eLora2
parked.example.comNo0

More columns in the file, among them Logo URL, Logo Type, Colors, Description, one column for each social network, Website Address and Why Nothing Found.

One row in, one row out

Every domain becomes one row, so a list of 500 domains is a spreadsheet of 500 rows you can filter by whether a logo was found or sort by company name.

A site with nothing to read is a free row

A name that is not in DNS, a site with no home page or one that refuses the request comes back as a row with the reason in its own column and costs 0 credits.

A social profile the site does not link is left blank

Each network has its own column, so a spreadsheet shows at a glance which companies publish a LinkedIn page and which do not.

One call turns a domain into the brand kit its site publishes

One call turns a domain from a signup form, a CRM or a list into the pieces a design needs: the company name, the logo files, the colors ranked by use, the fonts and the social profiles, with the raw JSON your code receives beside it. The company, its logo and its colors here are invented.

app.1lookup.io/api/v1Brand found
  • Domainshop.example.com
  • CompanySample Shop
  • Best logologo.svg (SVG)
  • Iconapple-touch-icon.png, 180 by 180
  • Main color#4f46e5
  • All colors#4f46e5, #f59e0b, #0f172a
  • FontsInter, Fraunces
  • Social profiles3: LinkedIn, X, Instagram
  • Sharing imageog-card.png
  • DescriptionSample Shop sells made-up goods for testing.
200 OK, 2 credits
{
  "classification": {
    "found": true,
    "domain": "shop.example.com",
    "company_name": "Sample Shop",
    "logo_url": "https://shop.example.com/assets/logo.svg",
    "logo_format": "svg",
    "primary_color": "#4f46e5",
    "primary_font": "Inter",
    "social_count": 3,
    "checked_at": "2026-10-25"
  },
  "insights": {
    "brand_lookup_result": {
      "name": "Sample Shop",
      "data_source": "site_html"
    }
  },
  "metadata": { "credits_used": 2 }
}

Every brand lookup returns the same fields at one flat price.

Every brand that is found returns the same fields and costs the same 2 credits, whatever the size of the company.

These fields name the company and describe it.

  • found
  • domain
  • company_name
  • alternate_names[]
  • description
  • language
  • site_url
  • redirected_to

These fields hold the logos.

  • logo_url
  • logo_format
  • logos[]
  • logos[].purpose
  • logos[].width
  • logos[].height
  • social_image_url

These fields hold the colors and the fonts.

  • primary_color
  • colors
  • colors[].hex
  • colors[].uses
  • primary_font
  • fonts
  • fonts[].name

These fields hold the social profiles.

  • linkedin_url
  • x_url
  • facebook_url
  • instagram_url
  • youtube_url
  • tiktok_url
  • github_url
  • social_count
  • social_profiles[]

These fields say when the site was read and why nothing was found.

  • checked_at
  • reason
  • data_source
  • credits_used
  • cache_hit

Product, sales and design teams use the brand kit to make every screen look like the customer.

Product teams personalizing onboarding

Take the domain from a new user's work email and greet them with their company's name, logo and brand color on the first screen, before they have filled in a single field.

CRM and sales teams with a list of accounts

Run a column of company domains through a bulk job and add the name, logo address and main color to every account, so a record shows the company instead of a bare domain.

Design and presentation tools

Pull a company's logo files, hex colors and fonts to pre-fill a deck, a proposal, an invoice or a template with the customer's own look.

Agencies preparing a pitch

Read a prospect's logo, colors, fonts and social profiles in one call, so the first mockup you send already looks like their brand.

Directories and marketplaces

Fill each listing with the company's name, description, logo and social links from its own site, and set aside the domains that return nothing at no cost.

Data teams cleaning a company list

Run a list of company websites and sort out the ones that do not exist, have no home page or refuse requests before anyone spends time on them.

A brand that is found is billed, and every other answer is free

A site that names its company or points to a logo returns the full kit. A site with nothing to read and a site that could not be reached cost nothing.

Three results of a brand lookup: a site that names its company or points to a logo returns the brand kit for 2 credits, a page that names no company and points to no logo is not charged, and a site that could not be reached is not charged

These are the questions people ask before they look up their first brand.

What does the Brand Lookup API return?

Send a domain and it returns the brand kit the company's own site publishes: the company name and any alternate names, every logo file listed best first with its purpose (logo or icon), file type and size, the sharing image, the brand colors as hex values with the most prominent first, the fonts, the social profiles it links to (LinkedIn, X, Facebook, Instagram, YouTube, TikTok and GitHub) and a short description. The flat classification block carries the name, the best logo, the main color, the main font and one link per network.

Where does the brand data come from?

From the company's own website, read when you ask. 1Lookup opens the home page, the web app manifest and the first two stylesheets, the same files a visitor's browser loads, and works out the kit from them. At most four requests are made, with 8 seconds for the whole lookup, and a private or internal address is never connected to. No third-party brand database sits behind it, so the answer is what the site itself publishes.

How much does a brand lookup cost?

2 credits per brand found, about $0.01 on the Starter plan. You are charged when a company name or a logo is found. A domain that does not exist, a site with no home page or one that refuses the request, a page that names no company and points to no logo, and a site that cannot be reached cost nothing.

When is a lookup free?

Six cases return found: false with a reason, at 200 OK and no charge: the name is not in DNS (no_such_host), it points to a private or internal address (blocked), the site has no home page (no_page), the site answered 401, 403 or 451 (access_refused), the address answered with something other than a web page (not_a_web_page), or the page names no company and points to no logo (no_brand_details). A site that times out, resets the connection or answers with a server error returns 503 with a Retry-After header, is not charged and is never reported as a company without a brand.

Which inputs does it accept?

A domain, a web address or an email address, cut down to the site's host name with a leading www. dropped. Any other subdomain is read as written, because shop.example.com can carry its own brand. An IP address, a single word or a bare public suffix is refused with a 400 error before anything is read and at no cost.

How are the logos listed?

Best first. Each logo carries its address, where it was found, its purpose (logo for a wordmark or symbol, icon for a favicon-style square), its file type and its width and height when the site states them. The sharing image used for link previews is returned separately and is not counted as a logo. The best logo's address and type are also in the flat block, so one field is enough when you only need a logo.

How are the colors picked?

The colors come back as hex values with the most prominent first, each with where it was found, such as the site's declared theme color or its stylesheets, and how many times it is used when it comes from a stylesheet. The flat block carries the main color and a comma-separated list, so a script can take the first value and a designer can read them all.

How fresh is the answer, and can I ask again?

The site is read when you ask, and every result shows the day it was read in checked_at. A result is remembered for 7 days. Send bypass_cache: true to read the site again, for example right after a company rebrands.

What does it not return?

Only what the site publishes can be returned. A site that blocks automated requests, or whose pages are drawn entirely by scripts, can come back with fewer parts or with access_refused. A part the site does not publish is null or empty, never guessed. It does not return headcount, revenue, funding or an industry, which is what Company Profile Lookup is for.

Can I look up a list of domains at once?

Yes. Upload a CSV with a domain column and you get a row per domain with the company name, the best logo address and type, the main color, all colors, the fonts, the description and one column per social network. A domain with nothing to read is a free row with the reason in its own column. The price stays at the same credits per brand found.

Does it watch a company and tell me when its brand changes?

No. It reads the site when you ask. To keep a record current, call it again for each domain on your own schedule with bypass_cache: true, and compare the name, the logo address and the colors with the last result.

To read the brand kit of a single site before you write any code, try the free brand kit finder.

Look up a few company websites you know and see what comes back.

Start a free trial, and your credits work across every product in the catalog.