Skip to main content
Use case prompt
A new user types a work email, and the form fills in their company name, logo, and brand color. Fewer fields to type means more teams finish setup, and the workspace looks like theirs from the first screen. Logo.dev supplies the logo from the email domain, and the name and colors from the Brand endpoint. Your app decides which domains to skip, what to show while a new brand indexes, and which values the user can change.

Choose what to look up from the email

  • Show the logo at once. Build a Logo.dev CDN URL from the domain after the @. It needs no server call.
  • Prefill the rest on the server. Send the domain to Brand. It returns the brand’s name, colors, and a stable id.
  • Skip free email providers. A personal address says nothing about the company. Keep a short list of these domains.
This server route looks up one domain and returns a small result for the signup form:
api/company-profile.ts

Handle every lookup result

Key the workspace on the brand id, not on the domain. A brand keeps its id when its domain changes.

Render the signup step

The form shows the logo from the CDN, not from the Brand response, because response image URLs expire:

Test the signup step

Try a work email at a well-known company, a gmail.com address, and a domain with no brand. Type an email slowly, and check that no lookup starts before you leave the field. Then try a small company’s domain that Logo.dev has not indexed yet, and check that the name fills in after the retry. Type a company name before a lookup finishes, and check that the lookup does not replace it.

Brand

Get the full brand profile: name, colors, logo, and brandmark.

Company autocomplete

Let users pick their company by name when the email is personal.