ravn
Integrations · Clay

Ravn in Clay, as an HTTP API column

In a Clay table, add an HTTP API enrichment that POSTs to https://api.askravn.com/v1/tools/<tool> with your Bearer key and a JSON body built from your columns, then map the fields you want from the response into new columns.

Start free: 1,000 lookups Read the docs

Setup

Add the HTTP API enrichment

  1. / 01

    Get a key

    Create a key after you sign up with an email code, or run npx ravn login. Keys start with rw_live_.

  2. / 02

    Add the enrichment

    In your table, add a column, choose to add an enrichment and search for HTTP API.

  3. / 03

    Fill in the request

    Method POST. Endpoint https://api.askravn.com/v1/tools/validate_email. Add headers Authorization: Bearer rw_live_… and Content-Type: application/json.

  4. / 04

    Build the body from columns

    Paste the JSON body below and replace the placeholder with a reference to your email column using Clay’s column picker.

  5. / 05

    Choose output fields

    Run it on one row, then pick status, results.status and results.risk_score as new columns. Add a run condition so rows with an empty email are skipped.

Config

Request bodies for common columns

One body per enrichment column. Insert your own column references where the angle-bracket placeholders are.

Endpoint: https://api.askravn.com/v1/tools/validate_email
{ "email": "<Email column>" }

Endpoint: https://api.askravn.com/v1/tools/search_business_email_by_name
{ "name": "<Full Name column>", "company": "<Company Domain column>" }

Endpoint: https://api.askravn.com/v1/tools/scrape_website
{ "domain": "<Company Domain column>" }

Headers on every column:
Authorization: Bearer rw_live_…
Content-Type: application/json
Recipes

Waterfalls that use it

  1. / 01

    Verify the last step of a waterfall

    Whatever source found an email, add a Ravn validate_email column after it and only push rows whose results.status is valid to your sequencer.

  2. / 02

    Find, then fall back

    Run search_business_email_by_name first; it learns the pattern from the company’s own site. Only rows that come back not_found (free) go on to your next provider.

  3. / 03

    Fill company context

    Use scrape_website for a description, socials and technologies[] (our own check, no key), or company records on your own provider key for headcount and industry.

Good to know

Reading the response in Clay

Every Ravn answer is HTTP 200 with a top-level status. When it is ok, the data sits under results; when it is not_found, results is empty and you were not charged. Map the top-level status into its own column so you can filter on it, and use it as the run condition for any column that depends on a found email.

The metadata object shows lookups_used and lookups_remaining_5h for each call, which is handy for a cost column while you tune a table. Field meanings for every tool are in the tool reference, and the data page explains the own-key model: people and company lookups run on your own provider account, and Ravn stores nothing.

FAQ

Common questions.

All questions →

Does Ravn scrape LinkedIn for Clay enrichments?

No. The email finder and website tools use the company’s own site and mail servers. People and company records run on your own provider key (People Data Labs); Ravn makes the call, stores nothing, and opted-out people are removed.

Do I pay Clay credits and Ravn lookups?

Ravn charges one lookup per call, only on hits; people and company lookups also run on your own provider key, which bills you for the records. How Clay charges for running an HTTP API column is set by your Clay plan, so check that on Clay’s side.

Why is my whole column showing errors?

Look at one failed cell. A 401 is a wrong or missing Bearer prefix, 422 means the body does not match the tool’s schema (for example company missing), and 429 means the 5-hour window is used up. All codes are in the error reference.

Can I verify a big Clay table in one request?

A Clay column runs per row, so each row is its own request. For a one-off clean of a large table, export it and use the CSV enrich command, then import the result.