Check live service health and documented failure responses before you integrate.
Identity & Verification
Logo image API
Put a company logo next to every domain in your product. Request /v1/logo/ followed by a domain and get a square PNG, sized and ready for an img tag, with headers that say where it came from. You may cache, store and serve the images from your own servers or CDN.
Used by people at these companies
Trust signals before you integrate
Transparent docs, authenticated requests, and visible reliability details make it easier to evaluate DomScan before you ship.
OpenAPI, Swagger, Postman, CLI, SDK, and MCP links are one click away.
Authenticated endpoints use API keys with clear credit costs before you call them.
Start with 1,000 free credits every month. Need more? Pick a monthly plan or buy a one-time pack.
What this API helps you ship
Use this page as a production brief: endpoints, examples, response shape, and the workflow pieces needed to plug DomScan into your own product.
Embed domain checks, DNS intelligence, risk signals, or enrichment into onboarding, search, and internal tools.
Replace repeated manual lookups with scheduled jobs, alerting, and reproducible investigation steps.
Use predictable fields, documented status codes, and credit costs instead of scraping provider pages.
Feed agents, dashboards, SOAR playbooks, and CRMs through OpenAPI, SDK, Postman, or MCP.
Integration workflow
A simple path from first request to repeatable production usage.
Send your API key with the documented header and keep requests consistent across services.
Start from the curl and HTTP samples, then map the parameters into your application code.
Use status codes, credit costs, and response fields to build retries, logs, and alerts.
Developer kit
Jump from this page into machine-readable docs, request collections, SDKs, or agent tooling.
Generate clients or inspect every request and response shape.
Postman collectionImport ready-made requests for manual testing and team handoff.
SDKs and CLIUse maintained packages and command-line workflows instead of writing boilerplate.
MCP integrationExpose domain intelligence to AI agents and internal assistant workflows.
Parameters and response map
Scan the inputs, output fields, and status codes before wiring the endpoint into your client.
Parameter
Example response
HTTP status codes
Endpoints
/v1/logo/:domain
Trust signals before you integrate
Transparent docs, authenticated requests, and visible reliability details make it easier to evaluate DomScan before you ship.
Check live service health and documented failure responses before you integrate.
OpenAPI, Swagger, Postman, CLI, SDK, and MCP links are one click away.
Authenticated endpoints use API keys with clear credit costs before you call them.
Start with 1,000 free credits every month. Need more? Pick a monthly plan or buy a one-time pack.
Key Features
Logos come from what the company publishes: its BIMI mail logo, app icons, touch icons, structured-data logos and favicons. Every image is downloaded and decoded before it is returned. When there is no logo you get a 404, or a generated letter image with fallback=monogram that is always labelled as generated.
Choose any size from 16 to 512 pixels, retina for double density, greyscale, and theme=light or theme=dark to place low-contrast logos on a tile that stays visible on your background. Images are square with transparent padding.
Responses carry long-lived public cache headers, an ETag and Last-Modified. Browsers and your CDN can keep them, and you may store the files and serve them from your own servers. Add v= to a URL to make it immutable.
Use a publishable key in the token parameter and it works only from the websites you list, with limits per key and per visitor. Secret keys stay on your server in the X-API-Key header.
Example request
curl -H "X-API-Key: $DOMSCAN_API_KEY" -o stripe.png \
"https://domscan.net/v1/logo/stripe.com?size=128&retina=true"
<img src="https://domscan.net/v1/logo/stripe.com?size=64&token=pk_YOUR_PUBLISHABLE_KEY" width="64" height="64" alt="Stripe">
Example response
HTTP/2 200
content-type: image/png
cache-control: public, max-age=86400, stale-while-revalidate=604800
etag: "9f2c4e1a7b3d5c60-256-c"
x-logo-status: found
x-logo-source: touch_icon
x-logo-verification: decoded
x-logo-source-format: png
x-logo-native-size: 180x180
x-credits-remaining: 4999
Frequently asked questions
One credit per request, including logos served from cache, generated letter images, domains without a logo and 304 Not Modified answers. Requests rejected before any work, such as an invalid domain or a key used from a site that is not allowed, are not charged. Cache the image instead of fetching it on every page view.
Yes. You may cache returned images, store them and serve them from your own servers or CDN. Logos remain the trademarks of their owners, so use them to identify the company they belong to.
Not found means the website and its mail records answered and publish no usable logo; that answer is reused for an hour. Unavailable means the website was blocked, slow or unclear, so no conclusion was drawn and you can try again a few minutes later. X-Logo-Status tells them apart.
X-Logo-Source names the source, such as bimi, manifest_icon, touch_icon or favicon, and X-Logo-Verification says the image was decoded. A generated letter image always has X-Logo-Source: generated and is never presented as a logo.
Related tools and resources
HTTP status codes
These are the HTTP status codes to handle, so you can tell apart successful responses, auth issues, credits, rate limits, missing data, and upstream failures.
Missing or invalid API key/session.
Not enough credits to run this request.
Get a logo

