Install the Context.dev Zapier app
Authorize Context.dev inside Zapier and connect your API key.
What you get
Version 3 of the Context.dev Zapier app ships 16 actions. Zapier splits them into search actions, which look something up and return data, and write actions, which kick off work. Every action calls the same endpoint you would hit directly via the API, at the same credit cost.Search actions
Write actions
A few things to know before you build:
- No triggers. Context.dev does not fire events into Zapier. Bring the trigger from another app and chain a Context.dev action after it.
- Shared optional fields. Every action accepts Timeout MS (up to
300000). The brand lookups also accept Force Language and Max Speed, with the same meaning as the API parameters. - Free and disposable emails are rejected. The email-based actions return a
422for addresses at Gmail, Yahoo, and similar providers, or at disposable-email domains. - Prioritize is a leftover field. The Screenshot and Styleguide actions still show a Prioritize input. The API has since dropped this parameter, so the field has no effect. Leave it blank.
- Some help text says Brand.dev. That is the API’s former name. It is the same API and the same key.
Common trigger pairings
Setup walkthrough
Trigger fires, Context.dev resolves a brand, the response flows into the destination app.Prerequisites
- A Zapier account (free tier works for testing)
- A Context.dev account and an API key from the dashboard (prefix
ctxt_secret_) - A Zapier-supported trigger source (for testing, Email by Zapier works without external setup)
1. Install the Context.dev Zapier app
Open the Context.dev Zapier listing and click Connect. Zapier prompts for the API key. Paste yourctxt_secret_* key from the Context.dev dashboard, then give the connection a name (e.g. “Context.dev (production)”) so you can distinguish it from staging keys later.
You only do this once per Context.dev account. Every Zap that uses Context.dev re-uses the saved connection.
2. Add a trigger
Create a new Zap and pick a trigger that fires on the event you care about. For testing without any other integration, use Email by Zapier > New Inbound Email:- Pick Email by Zapier as the trigger app.
- Pick New Inbound Email as the trigger event.
- Zapier generates an inbox address like
[email protected]. Note it. - Click Test trigger. Zapier waits for an inbound message.
- Send an email to the Zapier inbox address from step 3 with a domain in the subject line (e.g.
test stripe.com). Zapier should detect it.
3. Add the Context.dev action
After the trigger, click + and add an action. Search for Context.dev and pick the action that matches what your trigger gives you. There is no input-type dropdown: each lookup is its own action, so choose Retrieve Brand Data by Domain, by Company Name, by Email Address, or by Stock Ticker based on the field you have. For Retrieve Brand Data by Domain, configure:- Domain: Map the value from the trigger (e.g. the domain parsed from a Typeform submission)
- Force Language, Max Speed, Timeout MS: Leave blank unless you need them
4. Test and publish
Click Test & Review to run the whole Zap end-to-end. Verify every step turns green, then give the Zap a descriptive name and toggle it On. Watch the first few real runs in Zap History: it’s the fastest way to spot mapping mistakes before they pile up.Sample response
Every brand lookup returns the standardbrand envelope. Downstream Zap steps reference fields by path (e.g. 2. Retrieve Brand Data by Domain: Brand Title):
Reshape responses with Code by Zapier
Most destination apps want flat fields. Add a Code by Zapier > Run Python step between the Context.dev action and the destination action.One-shot flatten (most-used)
When you want every common field as a flat output:Best logo for a given UI
brand.logos[] is an array of variants. Pick one by type (icon vs. full wordmark) and mode (light, dark, opaque):
Detect a missing or weak response
A no-brand result (HTTP 400,error_code: "NOT_FOUND" or "WEBSITE_ACCESS_ERROR") or a server error (HTTP 500) comes back without a usable brand. Branch on it before writing to the destination:
enrichment_ok is true.” The Zap silently skips records that didn’t enrich.
Call any endpoint with Custom API Request
The Custom API Request action sends an authenticated HTTP request using your saved Context.dev connection. Use it for endpoints that don’t have a dedicated Zapier action yet: Markdown scraping, web search, SIC codes, people enrichment, and anything added to the API after the Zapier app was last updated.
Example: scrape a pricing page to Markdown after a competitor is added to a Google Sheet.
- Trigger: Google Sheets “New Spreadsheet Row” with a
pricing_urlcolumn - Action: Context.dev “Custom API Request”
- Method:
GET - URL or Path:
https://api.context.dev/v1/web/scrape/markdown - Query JSON:
{"url": "<pricing_url from step 1>", "useMainContentOnly": true} - Throw on non-2xx: on
- Method:
- Action: Notion “Create Page” with the returned
markdownfield as the page body
Example automations
Enrich a new HubSpot contact
- Trigger: HubSpot “New Contact”
- Action: Context.dev “Retrieve Brand Data by Email Address” with the contact’s email
- Code by Zapier: One-shot flatten
- Filter: Continue only if
enrichment_okis true - Action: HubSpot “Update Contact” with logo, industry, LinkedIn, and address fields
Slack notification with brand context
- Trigger: Stripe “New Customer”
- Action: Context.dev “Retrieve Brand Data by Email Address” with the customer’s email
- Code by Zapier: Best logo for a given UI (use
logo_darkfor dark Slack themes) - Action: Slack “Send Channel Message” with company name in the title, dark logo as icon, industry in attachment text
Bulk-enrich a Google Sheet
- Trigger: Google Sheets “New Spreadsheet Row” with a
domaincolumn - Action: Context.dev “Retrieve Brand Data by Domain”
- Code by Zapier: One-shot flatten
- Action: Google Sheets “Update Spreadsheet Row” with logo, industry, LinkedIn, and pricing-page columns
NAICS-tag a CRM lead
- Trigger: Salesforce “New Lead”
- Action: Context.dev “Retrieve NAICS Code for Any Brand” with the lead’s domain
- Code by Zapier: Pull
codes[0].codefor the highest-confidence NAICS - Action: Salesforce “Update Lead” with the NAICS code in a custom field
Visual transaction enrichment
- Trigger: Plaid webhook
- Action: Context.dev “Identify Brand From Transaction Data” with the raw descriptor plus optional MCC, city, and country
- Code by Zapier: Pull brand name and logo
- Action: Notion “Create Page” with merchant logo, name, and category
Warm the cache before onboarding
- Trigger: Typeform “New Form Entry” on your demo-request form
- Action: Context.dev “Prefetch Brand Data by Email” with the submitted work email (0 credits)
- Action: Calendly or Google Calendar “Create Event” for the demo
Weekly product catalog snapshot
- Trigger: Schedule by Zapier “Every Week”
- Action: Context.dev “Extract Products From a Brand’s Website” with a competitor’s domain and Max Products set to
12 - Looping by Zapier: Iterate over
products - Action: Airtable “Create Record” per product with name, price, currency, and product URL
Pricing page screenshot to Slack
- Trigger: Schedule by Zapier “Every Day”
- Action: Context.dev “Take Screenshot of Website” with the competitor’s domain, Page set to
pricing, and Full Screenshot set totrue - Action: Slack “Send Channel Message” with the returned
screenshotURL as an image attachment
Troubleshooting
- “Authentication failed.” The API key was rejected. Re-paste it in Zapier’s My Apps > Context.dev connection settings; confirm the
ctxt_secret_prefix. - Email action returns 422. The address is at a free provider (Gmail, Yahoo, and similar) or a disposable-email domain. Filter those out before the Context.dev step, or fall back to Retrieve Brand Data by Company Name.
- Prefetch action fails on a free account. Both prefetch actions require a paid plan. Upgrade in the dashboard or drop the prefetch step; every other action works on any plan.
- Action returns 408 (“timeout”). Cold-hit timeout on a domain Context.dev hadn’t crawled before. Re-run, or raise Timeout MS; the second hit will be warm.
- Custom API Request returns 404. Check the path starts with
/v1/and that the method matches the API reference. Scrape endpoints areGETwith parameters in Query JSON, not Body JSON. - No logo in the response. A few brands haven’t published a logo Context.dev could capture. Use Logo Link as a fallback (
https://logos.context.dev/?publicClientId=brandLL_xxx&domain=...) for a generated monogram. - The action list or help text says Brand.dev. Brand.dev was the API’s former name. Nothing else changes: same connection, same key, same endpoints.
Next steps
Make integration
The Zapier alternative when you need branching logic and built-in error
handling.
Brand API reference
The underlying endpoints. Useful when reading Zap test responses.
Industry classification
EIC vs NAICS vs SIC: when each one fits.
Troubleshooting
HTTP status codes, retry strategies, and common error patterns.