Skip to content
heyenrich
GTM engineers

One request, one record, a state on every field

Call /v1/lookup from Clay's HTTP column, n8n, Zapier or your own code. Ask only for the fields you'll use, branch on the state, and never pay for a miss. Median response 180 ms because there's one database behind it.

GTM engineering is building the system that finds, enriches and routes leads without a human in the loop. The enrichment step is where it usually breaks: a waterfall that takes four seconds, a vendor that charges for empty results, a value with no way to tell how old it is. This page is the recipes, the credit math per row, and where to put us in your waterfall.

Clay: an HTTP API column, no provider needed

Works today on any Clay plan. Map work_email.value and work_email.state to columns, then a formula column that only passes verified rows to your sending tool.

Clay → Enrich → HTTP API
Method:  POST
URL:     https://api.heyenrich.io/v1/lookup
Headers: Authorization: Bearer {{HEYENRICH_KEY}}
         Content-Type: application/json
Body:    {
           "linkedin_url": "{{LinkedIn URL}}",
           "fields": ["work_email", "mobile"]
         }

Columns to map:
  work_email.value, work_email.state, work_email.checked_at
  mobile.value, mobile.line_type, mobile.state
  credits_charged

n8n: an HTTP Request node, or the community node

The community node adds Lookup, Bulk, Company and Verify operations. The raw HTTP node works on any n8n version.

n8n HTTP Request node (JSON)
{
  "parameters": {
    "method": "POST",
    "url": "https://api.heyenrich.io/v1/lookup",
    "authentication": "genericCredentialType",
    "genericAuthType": "httpHeaderAuth",
    "sendBody": true,
    "specifyBody": "json",
    "jsonBody": "={{ { linkedin_url: $json.linkedin_url, fields: ['work_email'] } }}"
  },
  "name": "HeyEnrich lookup",
  "type": "n8n-nodes-base.httpRequest",
  "typeVersion": 4.2
}
// then an IF node on {{ $json.work_email.state }} === "verified"

Credit math per row

What a 1,000-row Clay table costs, at our average find rates for US and UK lists.

Fields requestedExpected findsCredits and phonesPlan that covers it
work_email780780 creditsStarter, $29
work_email + mobile780 + 520780 credits + 520 phonesStarter, $29
mobile only520520 phonesStarter, $29
personal_email only410820 creditsStarter, $29

Misses cost nothing, so the table assumes you request only what you will use. Starter covers 10,000 credits and 2,000 phones a month for $29; Growth covers 30,000 and 10,000 for $49.

Where to put us in a waterfall

First, for speed and cost

One query, 180 ms, nothing on a miss. Anything we return has a state and a date; anything we don't costs you nothing before the next provider.

Last, for coverage gaps

If a specialist covers your region better, run them first and send the misses to us. Our coverage page tells you which it is before you build the table.

Alone, for bulk

A 10,000-row file runs in under 15 minutes through /v1/bulk with a webhook on completion. No table, no per-row orchestration.

Test keys never charge

Keys prefixed he_test_ return the three sample people from the homepage, with every state, so you can build the branch logic before a credit is spent.

FAQ

GTM engineer questions

What is a GTM engineer?

Someone who builds the go-to-market system rather than working inside it: sourcing, enrichment, scoring and routing as pipelines in tools like Clay and n8n, with code where needed. The enrichment step is the one this page is about.

Is there an MCP server?

Not yet. It ships when it works. The REST API is one endpoint, so an agent can call it with a single tool definition in the meantime.

Can I get a suppression webhook?

Yes. Subscribe to person.suppressed and delete the record on your side when someone opts out. Required if you store what we return.

How do rate limits work with sub-keys?

Limits are per account and shared across sub-keys: 60 rpm on Starter, 300 on Growth; Custom sets its own. Bulk jobs are queued and don't count.

Does the HTTP column cost Clay credits?

No. An HTTP API column uses your HeyEnrich key, not Clay's data credits. That's the point of using it this way.

Related