claude-codeClaude Code

Connect Claude Code to Hunter

Run Claude Code as a hosted agent in NoClick with Hunter wired into its tools handle. It can use Hunter directly while it works. No glue code, nothing to install. Click below to open a ready-to-run agent and connect your account.
Loading preview…
Opens a workflow with 182 tools ready to use.

Set up in minutes

The open button drops you into a guided setup. It asks exactly this, nothing else:
  1. Choose where it runs

    On your computer through your own Claude Code, or hosted in the cloud. The rest of setup adapts to your choice:

  2. Pick what it can do in Hunter

    A preset of real Hunter operations. Each one becomes a tool the agent can call, and it can't touch anything outside the list.

  3. Connect Hunter

    One sign-in. The agent acts through your account, scoped to the operations you picked.

  4. Add your personal MCP link

    The last step mints a private MCP URL for this agent and walks you through exactly this, with your real link filled in. The page flips to Connected the moment your Claude Code first calls in. Claude Code connects when a session starts — run claude, or restart a running one.

    Run this in your terminal

    $claude mcp add --transport http noclick https://mcp.noclick.app/s/<your-link>

    <your-link> is your personal server URL — setup mints it for you.

Tools Claude Code gets

Pick the operations you want and each becomes a tool the agent can call directly while it works.

Hunter

182 tools
Add campaign recipients

(POST /campaigns/{id}/recipients).

Add a company to a company list

(POST /company-lists/{id}/companies).

Add sequence recipients

(POST /sequences/{id}/recipients).

Archive a sequence

(POST /sequences/{sequence_id}/archive).

Upsert leads in bulk

Create or update up to 100 leads in one call. Each lead is matched on `email` and written in its own transaction, so one invalid lead does not cancel the others. The team's lead limit is checked for each new lead using the current committed lead count. If an item would exceed that limit, earlier successful items remain saved and that item returns a `leads_limit_reached` error. If another request is creating leads for the team, the new lead's item returns `status: failed` with error `lead_creation_in_progress` and code 409. Retry only those failed items after one second; other items still run normally. The response is always 200: read `status` and `errors` of each result to know what happened to each lead. The call is free and consumes no request. (PUT /leads/bulk).

Check whether a lead exists

(GET /leads/exist).

Check whether leads exist in bulk

(GET /leads/bulk/exist).

Copy companies to another list in bulk

(POST /companies/bulk/copy).

Count email addresses for a domain

Return aggregate counts without revealing individual email addresses. This operation is free. (GET /email-count).

Count domains matching discovery filters

(GET /domain-count).

Create an API key

(POST /api-keys).

Add a campaign follow-up step

(POST /campaigns/{id}/follow-ups).

Save a company

(POST /companies).

Create a company list

(POST /company-lists).

Create a company list folder

When `color` is omitted the folder gets a random color from the palette's vivid swatches. (POST /company-lists/folders).

Create a company tag

(POST /company-tags).

Create a saved discover view

(POST /discover/views).

Submit product feedback

(POST /feedback).

Create a lead

Creates a lead, or adds an existing lead to the requested lists. When an `email` matches a lead already on your team, the request is additive: it adds only the missing list memberships and returns 201 rather than an email duplicate error. When the matched lead belongs to a teammate, the request still adds it to your lists, and the teammate's lead itself is only updated if you have permission to edit it. A request without an `email` is never matched by email — it does not reuse an existing email-less lead — though a lead with an identical name, company, and list is still rejected as a duplicate. Accepts `department` since HUN-23171, normalized to its canonical key so a localized display label ("Sales") is stored as `sales`. Lead attributes are not modelled field-by-field in this contract yet — the response uses the generic resource envelope — so this note is where the accepted set is recorded. When another request is creating leads for the team, returns 409 with `lead_creation_in_progress` and `Retry-After: 1`. Retry the request after one second. (POST /leads).

Create a lead custom attribute

(POST /leads_custom_attributes).

Create a lead list

(POST /leads_lists).

Create a lead list folder

When `color` is omitted the folder gets a random color from the palette's vivid swatches. (POST /leads_lists/folders).

Create a lead list folder (hyphen alias)

When `color` is omitted the folder gets a random color from the palette's vivid swatches. (POST /leads-lists/folders).

Create a lead list (hyphen alias)

(POST /leads-lists).

Create a leads import from CSV data

Creates a draft leads import and returns its id, the guessed column matching, and a configuration_url. This call does not import anything: a person must open that URL in a browser and complete the mapping step before any lead is created. It is intended for clients that can hand off to a browser session, not for unattended automation. csv_data must be sent in the request body; it is rejected in the query string, where it would reach access logs verbatim. (POST /leads-imports).

Send a one-off message

The sender must be available for outreach to the authenticated user. On the Free plan, extra or SMTP accounts retained only for Inbox Protection cannot send one-off messages. Selecting one returns 422 with error ID email_account_not_found. (POST /messages).

Create a message template

(POST /message-templates).

Create a sequence

Sender IDs must be available for outreach to the sequence owner. On the Free plan, extra or SMTP accounts retained only for a paid Inbox Protection period cannot be selected as senders. Submitting one returns 422 with error ID unknown_email_account_ids. Enabling `ai_assistant_enabled` requires a plan that includes the AI writing assistant. A request that turns it on without that entitlement is rejected with `ai_assistant_requires_upgrade` (422). (POST /sequences).

Add a sequence follow-up step

(POST /sequences/{id}/follow-ups).

Create a lead tag

(POST /tags).

Create a webhook

(POST /webhooks).

Delete an API key

(DELETE /api-keys/{id}).

Delete companies in bulk

(POST /companies/bulk/delete).

Delete a saved company

(DELETE /companies/{id}).

Delete a company list

(DELETE /company-lists/{id}).

Delete a company list folder

(DELETE /company-lists/folders/{id}).

Delete a company tag

(DELETE /company-tags/{id}).

Delete a saved discover view

(DELETE /discover/views/{id}).

Delete a lead

(DELETE /leads/{id}).

Delete a lead custom attribute

(DELETE /leads_custom_attributes/{id}).

Delete a lead list

(DELETE /leads_lists/{id}).

Delete a lead list folder

(DELETE /leads_lists/folders/{id}).

Delete a lead list folder (hyphen alias)

(DELETE /leads-lists/folders/{id}).

Delete a lead list (hyphen alias)

(DELETE /leads-lists/{id}).

Delete leads in bulk

(POST /leads/bulk/delete).

Delete a message template

(DELETE /message-templates/{id}).

Delete a sequence

(DELETE /sequences/{id}).

Delete a sequence follow-up step

(DELETE /sequences/{id}/follow-ups/{follow_up_id}).

Delete a lead tag

(DELETE /tags/{id}).

Delete a webhook

(DELETE /webhooks/{id}).

Delete webhooks by identifier (legacy)

(DELETE /webhooks).

Discover companies

Find companies matching a structured filter set. This operation is free. (POST /discover).

Discover people matching filters

(GET /discover/people).

Discover people using request-body filters

(POST /discover/people).

Enrich a company

(GET /companies/find).

Enrich a lead

(POST /leads/{id}/enrich).

Enrich a person

(GET /people/find).

Enrich a person and company

(GET /combined/find).

Favorite a company list

(POST /company-lists/{id}/favorite).

Favorite a lead list

(POST /leads_lists/{id}/favorite).

Favorite a lead list (hyphen alias)

(POST /leads-lists/{id}/favorite).

Find the domain for a company

(GET /domain-finder).

Find the domain for a company via POST

(POST /domain-finder).

Find a professional email address

Supply a LinkedIn handle, or supply a domain/company plus either a full name or first and last name. A found email address is also saved automatically to your leads. This is enabled by default and can be disabled for your account. The saved lead leaves out a phone number that is on a data broker deletion list, such as California's DROP. (GET /email-finder).

Get a previously found email address

Found-only variant of email finder. Supply a LinkedIn handle, or supply a domain/company plus either a full name or first and last name. (GET /email-finder/found).

Get a previously found email address via POST

Found-only variant of email finder using request-body parameters. (POST /email-finder/found).

Get account details and usage

(GET /account).

Get account profile summary

(GET /account-stats).

Get a campaign follow-up step

(GET /campaigns/{id}/follow-ups/{follow_up_id}).

Get a saved company

(GET /companies/{id}).

Get a company list

(GET /company-lists/{id}).

Get a company list folder

(GET /company-lists/folders/{id}).

Get a company tag

(GET /company-tags/{id}).

Get a connected app

(GET /connected-apps/{id}).

Get a saved discover view

(GET /discover/views/{id}).

Get an email account

The account's `signature` is returned HTML-sanitized (HUN-22571). (GET /email-accounts/{id}).

Get email account sending capacities

(GET /email-accounts/capacities).

Get an email account health report

(GET /email-accounts/{id}/health-report).

Get an email account usage report

(GET /email-accounts/{id}/usage).

Get an email account warmup report

(GET /email-accounts/{id}/warmup-report).

Get deliverability insight for an email address

(GET /email-insight).

Get a lead

Returns `department` since HUN-23171. It was filterable on the collection endpoint and settable by enrichment before that, but never emitted, so a caller could filter on a field it could not read back. (GET /leads/{id}).

Get a lead custom attribute

(GET /leads_custom_attributes/{id}).

Get a lead list

(GET /leads_lists/{id}).

Get a lead list folder

(GET /leads_lists/folders/{id}).

Get a lead list folder (hyphen alias)

(GET /leads-lists/folders/{id}).

Get a lead list (hyphen alias)

(GET /leads-lists/{id}).

Get a message template

(GET /message-templates/{id}).

Get a sequence

(GET /sequences/{id}).

Get a sequence follow-up step

(GET /sequences/{id}/follow-ups/{follow_up_id}).

Get sequence performance stats

(GET /sequences/{id}/stats).

Get a lead tag

(GET /tags/{id}).

Get credit usage summary

(GET /usage).

Get credit usage history

(GET /usage/history).

Get a webhook

(GET /webhooks/{id}).

List API keys

(GET /api-keys).

List campaign recipients

(GET /campaigns/{id}/recipients).

List campaigns

Each campaign carries `editable`. It is true when the API key's user owns the campaign or is a team admin or owner, and only then can that user add recipients to it. (GET /campaigns).

List saved companies

(GET /companies).

List company list folders

(GET /company-lists/folders).

List company lists

(GET /company-lists).

List company tags

(GET /company-tags).

List connected apps

(GET /connected-apps).

List saved discover views

(GET /discover/views).

List sequences using an email account

(GET /email-accounts/{id}/sequences).

List email accounts

(GET /email-accounts).

List lead custom attributes

(GET /leads_custom_attributes).

List lead list folders

(GET /leads_lists/folders).

List lead list folders (hyphen alias)

(GET /leads-lists/folders).

List lead lists

(GET /leads_lists).

List lead lists (hyphen alias)

(GET /leads-lists).

List leads

Each lead carries `department` since HUN-23171. It was already a filter on this endpoint, but was never emitted, so a caller could filter on a field it could not read back. (GET /leads).

Find lookalike companies from a company list

Finds companies that look like the ones in one of your company lists. The companies in the list are used as a seed, and we return the most similar companies ranked by a similarity score. This endpoint is not paginated: it returns a single ranked page of the top limit results, so the offset parameter is not supported and returns 400 if supplied. This call is free. (GET /lookalikes).

List message templates

(GET /message-templates).

List messages

(GET /messages).

List sequence follow-up steps

(GET /sequences/{id}/follow-ups).

List sequence recipients

(GET /sequences/{id}/recipients).

List sequences

Each sequence carries `editable`. It is true when the API key's user owns the sequence or is a team admin or owner, and only then can that user add recipients to it. (GET /sequences).

List lead tags

(GET /tags).

List team members

(GET /team/members).

List webhooks

(GET /webhooks).

Merge lead lists

(POST /leads_lists/{id}/merge).

Merge lead lists (hyphen alias)

(POST /leads-lists/{id}/merge).

Move companies to another list in bulk

(POST /companies/bulk/move).

Move leads to another list in bulk

(POST /leads/bulk/move).

Multi-domain search

Search professional email addresses across many companies at once using a structured filter set. Returns masked rows — no email address or phone number; use the reveal endpoint to unmask. This masked survey operation is free. At least one filter is required. Filters may be sent in the request body (JSON or form-encoded) or as query-string parameters; the body is therefore optional. (POST /multi-domain-search).

Pause a sequence

(POST /sequences/{sequence_id}/pause).

Push data to a connected app

(POST /connected-apps/{id}/push).

Remove campaign recipients

(DELETE /campaigns/{id}/recipients).

Remove a company from a company list

(DELETE /company-lists/{id}/companies/{company_id}).

Remove sequence recipients

(DELETE /sequences/{id}/recipients).

Replace an API key

(PUT /api-keys/{id}).

Replace a company list

(PUT /company-lists/{id}).

Replace a company list folder

(PUT /company-lists/folders/{id}).

Replace a company tag

(PUT /company-tags/{id}).

Replace an email account

(PUT /email-accounts/{id}).

Replace a lead

Accepts `department` since HUN-23171. The value is normalized to its canonical key, so a localized display label ("Sales") is stored as `sales`. Lead attributes are not modelled field-by-field in this contract yet — the response uses the generic resource envelope — so this note is where the accepted set is recorded. (PUT /leads/{id}).

Replace a lead custom attribute

(PUT /leads_custom_attributes/{id}).

Replace a lead list

(PUT /leads_lists/{id}).

Replace a lead list folder

(PUT /leads_lists/folders/{id}).

Replace a lead list folder (hyphen alias)

(PUT /leads-lists/folders/{id}).

Replace a lead list (hyphen alias)

(PUT /leads-lists/{id}).

Replace a message template

(PUT /message-templates/{id}).

Replace a sequence

Sender IDs must be available for outreach to the sequence owner. On the Free plan, extra or SMTP accounts retained only for a paid Inbox Protection period cannot be selected as senders. Submitting one returns 422 with error ID unknown_email_account_ids. Enabling `ai_assistant_enabled` requires a plan that includes the AI writing assistant. A request that turns it on without that entitlement is rejected with `ai_assistant_requires_upgrade` (422). (PUT /sequences/{id}).

Replace a sequence follow-up step

(PUT /sequences/{id}/follow-ups/{follow_up_id}).

Replace a lead tag

(PUT /tags/{id}).

Replace a webhook

(PUT /webhooks/{id}).

Resume a paused sequence

(DELETE /sequences/{sequence_id}/pause).

Reveal emails from a multi-domain search

(POST /multi-domain-search/reveal).

Find email addresses by domain

(GET /domain-search).

Find email addresses by domain using request-body parameters

Use POST for nested location filters. The body can be JSON or URL-encoded form data. (POST /domain-search).

Start a campaign

(POST /campaigns/{id}/start).

Start a sequence

(POST /sequences/{id}/start).

Suggest domains for a company name

(GET /domains-suggestion).

Tag companies in bulk

(POST /companies/bulk/tag).

Tag a lead

(POST /leads/{id}/tags).

Tag a saved company

(POST /companies/{id}/tags).

Send a test email for every step of a sequence

Queues one test message per follow-up of the sequence, in step order, to the supplied address. When A/B testing is enabled on a step, both variants are sent. Subjects are prefixed with [TEST]. Returns 422 when the sequence has no step, a step is missing its subject or body, the sequence has no email account, the account cannot send, or the recipient cannot be contacted. At most 30 test emails can be queued per 10 minutes. (POST /sequences/{sequence_id}/test).

Unfavorite a company list

(DELETE /company-lists/{id}/favorite).

Unfavorite a lead list

(DELETE /leads_lists/{id}/favorite).

Unfavorite a lead list (hyphen alias)

(DELETE /leads-lists/{id}/favorite).

Remove a tag from a lead

(DELETE /leads/{id}/tags/{tag_id}).

Remove a tag from a saved company

(DELETE /companies/{id}/tags/{tag_id}).

Update account details

(PUT /account).

Update an API key

(PATCH /api-keys/{id}).

Update a company list

(PATCH /company-lists/{id}).

Update a company list folder

(PATCH /company-lists/folders/{id}).

Update a company tag

(PATCH /company-tags/{id}).

Update an email account

(PATCH /email-accounts/{id}).

Update a lead

Accepts `department` since HUN-23171. The value is normalized to its canonical key, so a localized display label ("Sales") is stored as `sales`. Lead attributes are not modelled field-by-field in this contract yet — the response uses the generic resource envelope — so this note is where the accepted set is recorded. (PATCH /leads/{id}).

Update a lead custom attribute

(PATCH /leads_custom_attributes/{id}).

Update a lead list

(PATCH /leads_lists/{id}).

Update a lead list folder

(PATCH /leads_lists/folders/{id}).

Update a lead list folder (hyphen alias)

(PATCH /leads-lists/folders/{id}).

Update a lead list (hyphen alias)

(PATCH /leads-lists/{id}).

Update a message template

(PATCH /message-templates/{id}).

Update a sequence

Sender IDs must be available for outreach to the sequence owner. On the Free plan, extra or SMTP accounts retained only for a paid Inbox Protection period cannot be selected as senders. Submitting one returns 422 with error ID unknown_email_account_ids. Enabling `ai_assistant_enabled` requires a plan that includes the AI writing assistant. A request that turns it on without that entitlement is rejected with `ai_assistant_requires_upgrade` (422). (PATCH /sequences/{id}).

Update a sequence follow-up step

(PATCH /sequences/{id}/follow-ups/{follow_up_id}).

Update a lead tag

(PATCH /tags/{id}).

Update a webhook

(PATCH /webhooks/{id}).

Upsert a lead

Accepts `department`, normalized to its canonical key so a localized display label ("Sales") is stored as `sales`. This operation keeps its own allowlist, separate from the one `createLead` uses, so the two can differ — it does not currently accept `company_type`, `lead_country_code`, `lead_city` or `lead_state`. When creating a new lead while another request is creating leads for the team, returns 409 with `lead_creation_in_progress` and `Retry-After: 1`. Retry the request after one second. Existing leads can still be updated. (PUT /leads).

Verify an email address

Check the deliverability of an email address. A verified email address is also saved automatically to your leads. This is enabled by default and can be disabled for your account. The saved lead leaves out a phone number that is on a data broker deletion list, such as California's DROP. (GET /email-verifier).

About Claude Code

Claude Code is Anthropic's command-line coding agent. In NoClick you run it as a hosted agent and connect your real apps to its tools handle, so it does far more than write code. Wire in an integration and Claude Code can read and act on Slack, Linear, your database, and more on its own, calling each one as a tool while it works. It is the same capable agent, pointed at your actual workflows instead of a sandbox.
Careful multi-step planning before it acts
Reliable on long, structured tasks
Reads context thoroughly before making changes
Comfortable across code, data, and APIs

Frequently asked questions

More ways to connect

Open your Claude Code agent in one click.

NoClick runs Claude Code for you with Hunter wired in as tools. Connect your account and run.