canonical: https://jentic.com/apis/clay.com/clay

# Clay Public API

The Clay Public API runs data enrichment routines, starts batch runs and retrieves their results, and searches for people and companies in filters mode or query mode. It also queries Clay tables for stored records and reads the authenticated account. Agents can enrich leads and search for prospects programmatically without building each workflow in the Clay interface.

## For AI agents

Run Clay enrichment routines, start batch runs and read their results, search for people and companies, and query Clay tables. Returns enrichment and search results for an agent to use.

## Scope

Does not handle table row editing, workspace administration, or billing. Use for running enrichment routines, searching, and querying tables only.

## Capabilities

- Run a Clay routine to enrich a record
- Start a batch routine run and retrieve its results
- Create and run a filters-mode search for people or companies
- Create and run a query-mode search
- Query a Clay table for stored records
- Read the authenticated account details

## Use cases

### Agent-Driven Lead Enrichment

An AI agent enriches a lead by running a Clay routine and reading the returned data before writing it into a CRM. It passes the record to the routine, waits for the run to finish, and retrieves the enriched result. This lets an agent fill in missing contact and company details as part of a pipeline without opening Clay.

Example prompt: Run an enrichment routine for a lead, wait for the run to complete, and retrieve the enriched contact and company data

### Batch Data Enrichment

Teams enrich a list of records in one run by starting a batch routine and collecting the results when it finishes. The API starts a batch run, provides an upload path for the input, and returns the run's results. This suits a scheduled job that refreshes a segment of contacts on a cadence.

Example prompt: Start a batch routine run for a list of records, then retrieve the results once the run reports complete

### People and Company Search

An agent finds prospects by building a filters-mode or query-mode search and reading the matches. It can inspect the available fields, create the search, and run it to get results. This turns prospecting into an automated search an agent runs against Clay's data.

Example prompt: Create a filters-mode search for a target segment, run it, and return the matching people or companies

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/me` | Read the authenticated account |
| POST | `/routines/{routine_id}/run` | Run a routine |
| POST | `/routines/{routine_id}/run-batch/start` | Start a batch routine run |
| GET | `/routines/run/{routine_run_id}/results` | Get routine run results |
| POST | `/search/filters-mode` | Create a filters-mode search |
| POST | `/search/filters-mode/{search_id}/run` | Run a filters-mode search |
| POST | `/search/query-mode` | Create a query-mode search |
| POST | `/tables/query` | Query a Clay table |

## Key resources

- **Routines** — Run enrichment routines individually or as batch runs and retrieve their results
- **Searches** — Create and run filters-mode and query-mode searches for people and companies
- **Tables** — Query Clay tables for stored records
- **Account** — Read the authenticated account details

## Why Jentic

- **Setup:** Wiring the Clay Public API by hand means provisioning a key, learning the routine and search models, and orchestrating batch runs and result polling yourself. Through Jentic you install once, import Clay from the API Directory, store the key once, and your agent runs routines and searches.
- **Permission scoping:** Clay puts routine and search identifiers in the URL path, so a rule can bound your agent to a single routine or search. You can also scope by operation, allowing searches and reads while withholding routine runs, and every call the agent makes is logged.
- **Credential handling:** Your Clay API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'run an enrichment routine' or 'search for companies', and Jentic returns the matching Clay operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **Apollo** — Sales intelligence API for contacts, companies, and enrichment
- **Clearbit** — Company and person enrichment API keyed on email or domain
- **People Data Labs** — Person and company data API for building and enriching datasets
- **Hunter** — Email finding and verification API

## FAQ

### What authentication does the Clay Public API use?

The Clay Public API authenticates with an API key sent in the clay-api-key request header per its OpenAPI spec, generated from your Clay workspace. Through Jentic the key is held encrypted by your own Jentic One instance and attached at call time, so it never reaches the agent's context.

### Can I enrich a batch of records with the Clay Public API?

Yes. The API starts a batch routine run, provides a path to upload the input, and returns the run's results when it finishes. An agent can enrich a whole list in one run and collect the output.

### What are the rate limits for the Clay Public API?

The OpenAPI spec does not specify rate limits. Check the Clay developer documentation at https://developers.clay.com for current limits and usage guidance.

### Can I limit what my agent is allowed to do with the Clay Public API?

Yes. Because a routine or search identifier sits in the URL path, a rule can bound your agent to a single routine or search, and you can also scope by operation to allow searches and reads while withholding routine runs. Every call the agent makes is logged.

### How do I enrich a lead in Clay through Jentic?

Search Jentic for 'run an enrichment routine' or 'search for companies', add the Clay Public API from the directory, and store your key once. Your agent then runs the routine and retrieves the enriched data. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Is there a Clay MCP server?

You don't need an MCP server to give your agent the Clay Public API. Jentic connects it directly from the API Directory: import it, store your key once, and your agent runs routines and searches. Operations are discovered on demand, so no extra server's tool definitions sit in the agent's context.
