Skip to main content
Zapier connects Context.dev to 9,000+ apps. You bring the trigger (Typeform submission, new HubSpot contact, new Gmail email) and Context.dev provides the enrichment action.

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 422 for 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 your ctxt_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:
  1. Pick Email by Zapier as the trigger app.
  2. Pick New Inbound Email as the trigger event.
  3. Zapier generates an inbox address like [email protected]. Note it.
  4. Click Test trigger. Zapier waits for an inbound message.
  5. 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.
For production, swap in a real trigger: Typeform “New Submission”, HubSpot “New Contact”, Google Sheets “New Spreadsheet Row”, whatever fires on the event you want to enrich.

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
Click Test step. Zapier hits Context.dev and shows the parsed response. A first call may require cold crawl work; later calls can reuse a warm cache and are generally faster.

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 standard brand 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:
Add a Filter by Zapier step after this: “Only continue if 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.
  1. Trigger: Google Sheets “New Spreadsheet Row” with a pricing_url column
  2. 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
  3. Action: Notion “Create Page” with the returned markdown field as the page body
Parameter names and response shapes for every endpoint are in the API reference.

Example automations

Enrich a new HubSpot contact

  1. Trigger: HubSpot “New Contact”
  2. Action: Context.dev “Retrieve Brand Data by Email Address” with the contact’s email
  3. Code by Zapier: One-shot flatten
  4. Filter: Continue only if enrichment_ok is true
  5. Action: HubSpot “Update Contact” with logo, industry, LinkedIn, and address fields

Slack notification with brand context

  1. Trigger: Stripe “New Customer”
  2. Action: Context.dev “Retrieve Brand Data by Email Address” with the customer’s email
  3. Code by Zapier: Best logo for a given UI (use logo_dark for dark Slack themes)
  4. Action: Slack “Send Channel Message” with company name in the title, dark logo as icon, industry in attachment text

Bulk-enrich a Google Sheet

  1. Trigger: Google Sheets “New Spreadsheet Row” with a domain column
  2. Action: Context.dev “Retrieve Brand Data by Domain”
  3. Code by Zapier: One-shot flatten
  4. Action: Google Sheets “Update Spreadsheet Row” with logo, industry, LinkedIn, and pricing-page columns

NAICS-tag a CRM lead

  1. Trigger: Salesforce “New Lead”
  2. Action: Context.dev “Retrieve NAICS Code for Any Brand” with the lead’s domain
  3. Code by Zapier: Pull codes[0].code for the highest-confidence NAICS
  4. Action: Salesforce “Update Lead” with the NAICS code in a custom field

Visual transaction enrichment

  1. Trigger: Plaid webhook
  2. Action: Context.dev “Identify Brand From Transaction Data” with the raw descriptor plus optional MCC, city, and country
  3. Code by Zapier: Pull brand name and logo
  4. Action: Notion “Create Page” with merchant logo, name, and category

Warm the cache before onboarding

  1. Trigger: Typeform “New Form Entry” on your demo-request form
  2. Action: Context.dev “Prefetch Brand Data by Email” with the submitted work email (0 credits)
  3. Action: Calendly or Google Calendar “Create Event” for the demo
By the time your team opens the account in your CRM, the brand lookup is already warm and returns in well under a second.

Weekly product catalog snapshot

  1. Trigger: Schedule by Zapier “Every Week”
  2. Action: Context.dev “Extract Products From a Brand’s Website” with a competitor’s domain and Max Products set to 12
  3. Looping by Zapier: Iterate over products
  4. Action: Airtable “Create Record” per product with name, price, currency, and product URL

Pricing page screenshot to Slack

  1. Trigger: Schedule by Zapier “Every Day”
  2. Action: Context.dev “Take Screenshot of Website” with the competitor’s domain, Page set to pricing, and Full Screenshot set to true
  3. Action: Slack “Send Channel Message” with the returned screenshot URL 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 are GET with 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.
Need help implementing a specific Zap? Email us and we’ll walk through it with you.