POST /api/v1/brands/extract
Request
url, logoBase64, or imagesBase64 is required.
Body parameters
Website URL to crawl and extract brand DNA from. The pipeline performs an
extensive scrape including branding metadata, markdown, and a screenshot.
Base64-encoded logo image (e.g.
data:image/png;base64,...). Uploaded to
storage before processing.Array of base64-encoded reference images. Include your highest-signal brand
visuals — logos and 1–3 references are usually sufficient.
Optional locale hints passed to the Firecrawl scrape for URL inputs.
At least one of
url, logoBase64, or imagesBase64 must be present.
Requests that omit all three are rejected with 400.Response
The endpoint always returns202 Accepted for valid requests. You receive a
job_id immediately — the heavy extraction work runs asynchronously.
Response fields
Unique request identifier prefixed with
req_pi_.Always
"job" for this endpoint.Always
"queued" on the initial 202 response.Unix timestamp (seconds) when the request was received.
Examples
202 Accepted):
Polling for results
After you receive thejob_id, poll GET /api/v1/jobs/:job_id until status
is "completed" or "failed". Jobs transition through:
?expand=brand to the jobs request. The completed job’s data.expanded.brand
will contain the full brand record including brand_dna.
See the Jobs reference for full polling details.