Sales Intelligence
Hunter
API integration
Ship Sales Intelligence features without building the integration. Full Hunter API access via Proxy and 150+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Hunter
Common scenarios for SaaS companies building Hunter integrations for their customers.
Embed just-in-time email discovery in your CRM or ATS
Let your users resolve verified professional emails the moment they add a new contact or candidate, using Hunter's Email Finder and Domain Search without leaving your product.
Protect sender reputation with native list verification
If you run a sales engagement, newsletter, or marketing platform, offer a built-in 'verify with Hunter' step that strips invalid addresses before any send — reducing bounces and keeping your sending IPs healthy.
Power prospecting workflows with company and people enrichment
B2B databases, scrapers, and sales intelligence tools can turn a bare domain into a full company profile (industry, size, tech stack, known contacts) and surface associated people records inline.
Bridge prospecting and outreach execution
Push qualified leads from your platform directly into Hunter Leads, Lists, and Sequences so your users can trigger cold email campaigns without exporting CSVs or switching tools.
Centralize deliverability and campaign analytics
Pull sequence stats, email account health reports, and warmup data into your reporting UI so revenue teams can monitor Hunter outreach alongside the rest of their pipeline metrics.
What You Can Build
Ship these features with Truto + Hunter
Concrete product features your team can ship faster by leveraging Truto’s Hunter integration instead of building from scratch.
One-click email finder on contact records
Add a 'Find Email' button that calls Hunter's Email Finder with a name + domain (or LinkedIn handle) and auto-fills the verified address with its confidence score.
Bulk list cleaner with verification status
Loop uploaded recipient lists through Hunter's Email Verifier and tag each row as valid, invalid, accept-all, or webmail before your users hit send.
Domain-to-contacts explorer
Let users type a company domain and browse every known email, job title, seniority, and department returned by Hunter Domain Search natively in your UI.
Lead and company sync into Hunter
Create, update, and bulk-upsert Hunter Leads, Companies, and Lists from your product so segmented audiences stay aligned with your users' outreach workspace.
Sequence and campaign orchestration
Create sequences, add follow-ups, enroll recipients, and start, pause, or resume Hunter sequences programmatically from workflows triggered in your app.
Webhook-driven activity sync
Register Hunter webhooks on behalf of your users to stream campaign events, sequence replies, and lead changes back into your platform in near real time.
SuperAI
Hunter AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
create_a_hunter_discover
Find Hunter companies matching a structured filter set. Returns the matching-company object with content-type-specific attributes. This operation is free. Requires a structured filter set.
list_all_hunter_domain_searches
Find email addresses and the people behind them for a Hunter-indexed company domain. Returns a list of contacts (each with email, name, position, seniority, department, and confidence) plus the queried domain, organization, and meta block.
hunter_domains_search
Search Hunter for email addresses published for a company domain by sending a JSON or form-encoded request body (the POST form is required to use nested location filters). Returns the discovered data: emails with names, positions, and confidence scores alongside the public sources where they were found. The source for this endpoint documents the…
list_all_hunter_email_finders
Find a professional email address in Hunter by combining a LinkedIn handle, or by combining a domain or company with a full name (or first and last name). Returns the best matching email and its supporting sources. Supply either a `linkedin_handle` or a domain/company plus a name; `max_duration` optionally controls how long the lookup runs (3-20,…
list_all_hunter_email_verifiers
Verify an email address deliverability in Hunter. Returns a verification result wrapped in a `data` field containing the deliverability status and verification checks (a `valid` or `accept_all` result is also auto-saved to leads unless disabled for the account). Required: email.
list_all_hunter_email_counts
Get aggregate email-address counts indexed by Hunter for a Hunter domain (or company when the domain is unknown). Returns: total, personal_emails, generic_emails, department, seniority, job_titles. Requires domain.
list_all_hunter_people_finds
Enrich a person in Hunter from an email address. Returns the enriched person record (name, position, employer, location, phone number, and related social profiles) under the response's `data` envelope.
list_all_hunter_companies_finds
Enrich a company in Hunter from its domain. Returns the enriched company record (industry, size, location, technologies, funding rounds, and social profiles via a generic attributes payload). Required: domain.
list_all_hunter_combined_finds
Enrich a person and company in Hunter in a single call from an email address or LinkedIn handle. Returns: person, company.
list_all_hunter_accounts
Get the connected Hunter account's details and usage. Returns the account object containing identity, plan, team, and credit-balance / quota information. No parameters required.
hunter_accounts_bulk_update
Update Hunter account details. Returns an empty 204 response on success. Source documents no request-body fields beyond authentication.
list_all_hunter_account_stats
Get the Hunter account profile summary. Returns the data object with the account identity, plan details, and most used source.
list_all_hunter_usages
Get the Hunter credit usage summary for the authenticated account. Returns the generic resource response for the /usage endpoint — exact fields are defined upstream; consult the Hunter API docs for the field-level breakdown.
list_all_hunter_usage_histories
List Hunter credit usage history entries. Returns the data array returned by Hunter (each item is a usage-history record; field details are defined upstream and not enumerable from the Hunter API spec alone).
list_all_hunter_team_members
List team members in the Hunter workspace. Returns an array of team member records; individual fields are content-type-specific and defined upstream. No required parameters.
list_all_hunter_connected_apps
List the connected apps (third-party integrations such as HubSpot, Pipedrive, Google Sheets, or SMTP/IMAP inboxes) linked to your Hunter account. Returns an array of records, each with id and attribute_mappings.
get_single_hunter_connected_app_by_id
Get a single connected app in Hunter by id, returning the app id and its attribute_mappings — the list of target_field ↔ source_field pairs that map Hunter fields to the integrated CRM's fields. Each mapping also carries direction and conflict_policy when two-way CRM sync is available for the connection. Required: id.
create_a_hunter_connected_app_push
Push Hunter data (such as leads) to the third-party integration behind a connected app in Hunter. The push is queued and runs asynchronously; the call returns a 202 acknowledgment with the request id.
list_all_hunter_email_accounts
List the Hunter email accounts (sending inboxes) connected to the user's account. Returns: id, signature.
get_single_hunter_email_account_by_id
Get a single Hunter email account by id. Returns: id, email, first_name, last_name, sending_status, daily_limit, provider, sender_name, default_account, signature, profile_picture_url, custom_tracking_domain, sending_schedule, warmup. Required: id.
update_a_hunter_email_account_by_id
Replace a Hunter email account by id. Returns: id, email, first_name, last_name, sending_status, daily_limit, provider, sender_name, default_account, signature, profile_picture_url, custom_tracking_domain, sending_schedule, warmup. Required: id.
list_all_hunter_email_accounts_capacities
List sending-capacity entries for email accounts in Hunter. Returns the data array of capacity records with resource-specific attributes.
get_single_hunter_email_account_health_report_by_id
Get an email account health report in Hunter. Returns the health report object with resource-specific fields unwrapped from the upstream data envelope. Required: id.
get_single_hunter_email_account_usage_by_id
Get an email account usage report from Hunter. Returns the report data including its id and content-type-specific attributes (the upstream response shape is opaque and not enumerated in Hunter's docs). Required: id.
get_single_hunter_email_account_warmup_report_by_id
Get a Hunter email account warmup report by id. Returns the report envelope including id and the warmup metrics. Required: id.
list_all_hunter_email_account_sequences
List the Hunter sequences that send from a given email account. Returns each sequence's id, name, owner, recipient count, lifecycle booleans (started, archived, paused), and timestamps.
list_all_hunter_campaigns
List Hunter campaigns. Returns an array of campaign records under `data`, each carrying at least an `editable` flag that is true only when the API key's user owns the campaign or is a team admin/owner (the condition for adding recipients).
hunter_campaigns_start
Start a Hunter campaign so it begins sending real emails to its recipients. Returns the generic response envelope.
list_all_hunter_campaign_recipients
List recipients of a Hunter campaign. Returns the recipients envelope with data.recipients, and a recipient's email is null when they have asked Hunter to delete their address.
create_a_hunter_campaign_recipient
Add recipients to a Hunter campaign by email addresses or lead identifiers. Returns the campaign recipients envelope with data.skipped_recipients, each entry carrying the email and the reason it was skipped; the array is null when no address was skipped.
hunter_campaign_recipients_bulk_delete
Remove recipients from a Hunter campaign by email addresses or lead identifiers in bulk. For draft campaigns the recipients are removed; for started campaigns their pending emails are canceled. Returns the campaign recipients envelope with data.recipients_removed, data.recipients_canceled, data.messages_canceled, and data.skipped_recipients.….
create_a_hunter_campaign_follow_up
Add a follow-up step to a Hunter campaign. Returns the saved follow-up step record including its id and step-specific attributes as defined upstream.
get_single_hunter_campaign_follow_up_by_id
Get a Hunter campaign follow-up step by id. Returns the step record including its id and step-specific attributes as defined upstream. Required: id, campaign_id.
list_all_hunter_sequences
List Hunter outreach sequences in your account. Returns: id, name, editable, started, archived, paused, recipients_count, owner.
create_a_hunter_sequence
Create a new Hunter outreach sequence. Returns the created sequence with id, name, editable, lifecycle booleans (started, archived, paused), recipients_count, and owner. Requires ai_assistant_enabled when opted in.
get_single_hunter_sequence_by_id
Get a Hunter sequence by id, returning its full configuration. Required: id.
update_a_hunter_sequence_by_id
Replace a Hunter sequence by id (full-config replacement). Sender IDs must be available for outreach to the sequence owner; setting ai_assistant_enabled to true requires a paid AI writing-assistant plan. Required: id.
delete_a_hunter_sequence_by_id
Delete a Hunter sequence by id (DRAFT sequences only). Returns an empty 204 response on success. Required: id.
hunter_sequences_start
Start a Hunter sequence so it begins sending outbound emails to its recipients. Returns the generic resource envelope (data contains the sequence record).
hunter_sequences_pause
Pause a started Hunter sequence so it stops sending outbound emails until it is resumed. Returns the generic resource envelope (data contains the sequence record).
hunter_sequences_archive
Archive a started Hunter sequence to file it once it is finished. Returns the generic resource envelope (data contains the sequence record).
hunter_sequences_resume
Resume a paused Hunter sequence so it starts sending outbound emails again. Returns the generic resource envelope (data contains the sequence record).
list_all_hunter_sequence_follow_ups
List the follow-up steps of a Hunter sequence in step order. Returns each step as a follow-up record with content-type-specific fields wrapped in a generic resource envelope.
create_a_hunter_sequence_follow_up
Add a new email follow-up step to a Hunter sequence. Returns the created follow-up step record wrapped in a generic resource envelope.
get_single_hunter_sequence_follow_up_by_id
Get a single follow-up step from a Hunter sequence by its follow-up id. Returns the follow-up step record wrapped in a generic resource envelope. Required: sequence_id, id.
update_a_hunter_sequence_follow_up_by_id
Replace an existing follow-up step of a Hunter sequence, including possibly the introduction email (step 0). Returns the rewritten follow-up step record wrapped in a generic resource envelope. Required: sequence_id, id.
delete_a_hunter_sequence_follow_up_by_id
Delete a follow-up step from a Hunter sequence. Returns an empty 204 response on success. Required: sequence_id, id.
list_all_hunter_sequence_stats
Get performance stats for a Hunter sequence. Returns the sequence's stats object, including its id and the performance metrics tracked for the sequence.
list_all_hunter_sequence_recipients
List recipients of a Hunter sequence. Returns an array of recipient records under `data` (recipient-level fields are documented upstream and not enumerated here).
create_a_hunter_sequence_recipient
Add recipients to a Hunter sequence. Returns the created recipient records under `data`, plus `data.skipped_recipients` listing emails and lead_ids that were not added with their `reason` (null when none were skipped).
hunter_sequence_recipients_bulk_delete
Remove sequence recipients from a Hunter sequence by sequence id. On a draft sequence the addresses are removed and reported in recipients_removed; on a started sequence they stay in the sequence and their pending emails are canceled (recipients_canceled, messages_canceled). Returns: recipients_removed, recipients_canceled, messages_canceled, and 1 more.
create_a_hunter_sequence_test
Send a test email for every follow-up of a Hunter sequence. Queues one message per step in step order — both A/B variants when A/B testing is on — to the supplied recipient address, with [TEST] prefixes on the subjects. Returns a generic acknowledgement envelope. Required: sequence_id, email. Max 30 test emails queued per 10 minutes.
list_all_hunter_discover_people
Discover people in Hunter matching query-string filters. Returns a list of person records under `data` along with `meta` limits, with fields that depend on the filters sent (name, position, company, location, contacts).
create_a_hunter_discover_person
Discover people in Hunter using a JSON body of filters. Returns a list of person records under `data` along with `meta` limits, with fields that depend on the filters sent (name, position, company, location, contacts).
list_all_hunter_domain_counts
Count domains in Hunter matching discovery filters via GET /v2/domain-count. Returns the matching-domain count as an integer.
list_all_hunter_domain_finders
Find the website domain for a company in Hunter. Returns the wrapped record (under `data`) with the matched domain, plus standard `meta` information.
hunter_domain_finders_search
Find the website domain for a company name in Hunter via POST. Returns the matched domain wrapped under `data` alongside standard `meta` information. Required: company.
list_all_hunter_search_multi_domains
Search professional email addresses across many companies at once in Hunter using a structured filter set (at least one filter required). Returns a paged envelope of masked rows consisting of an opaque `data` array (no email address or phone number; use the multi-domain-search reveal endpoint to unmask) plus a pagination `meta`. The request body…
hunter_multi_domain_search_reveals_search
Reveal emails from a multi-domain search in Hunter, unmasking the email addresses for rows returned by a prior masked multi-domain survey. Returns the revealed data payload (content-type-specific fields under `attributes`). Emails claimed for removal are omitted with a `not_found` outcome and are not billed.
list_all_hunter_domains_suggestions
Suggest likely domains for a company name in Hunter. Returns the data array of suggested `domain` strings under the generic resource response envelope.
list_all_hunter_email_finder_founds
Get a previously found email address in Hunter without re-running a search. Returns the best matching email along with its supporting sources. Supply either linkedin_handle, or domain/company together with full_name or first_name and last_name.
hunter_email_finder_founds_search
Get a previously found email address in Hunter via a POST request body, without re-running a search. Returns the best matching email along with its supporting sources. Supply either linkedin_handle, or domain/company together with full_name or first_name and last_name.
list_all_hunter_email_insights
Get deliverability insight for an email address in Hunter.
list_all_hunter_leads
List leads in Hunter with optional filters. Returns each lead with its id, attributes (including `department`), email, confidence_score, and verification; leads whose owner requested address removal have email, confidence_score, and verification fields nulled.
create_a_hunter_lead
Create a lead in Hunter, or add an existing matching lead to the requested lists (returns 201 on match). Returns the created lead envelope including id and attributes. Returns 409 with `lead_creation_in_progress` and `Retry-After: 1` when another request is creating leads for the team; retry after one second.
hunter_leads_bulk_update
Upsert a lead in Hunter by email, matching the team's existing allowlist. Returns the upserted lead envelope including id and attributes. Returns 409 with `lead_creation_in_progress` and `Retry-After: 1` when creating a new lead while another request is creating leads for the team — existing leads can still be updated during that window.
get_single_hunter_lead_by_id
Get a single lead in Hunter by id. Returns the lead object including id, email, confidence_score, department, and verification (with date and status); leads whose owner requested address removal have email, confidence_score, verification.date, and verification.status nulled. Required: id.
update_a_hunter_lead_by_id
Replace a lead in Hunter by id. Accepts `department` (stored as its canonical key). Returns an empty 204 response on success. Required: id.
delete_a_hunter_lead_by_id
Delete a single Hunter lead by id. Returns an empty 204 response on success. Required: id.
hunter_leads_bulk_exist
Check which leads from a supplied list already exist in your Hunter account. Returns a generic `data` array of existence results for the submitted leads.
hunter_leads_bulk_move
Move many leads at once from one Hunter leads list to another. Accepted for background processing (HTTP 202). Returns the job envelope with a generic `data` payload.
hunter_leads_bulk_delete
Delete many leads at once, by explicit lead ids and/or by whole leads-list id. Returns either 200 (synchronous) or 202 (accepted for background processing), with a generic `data` envelope.
hunter_leads_bulk_upsert
Create or update up to 100 Hunter leads in one call, each matched on `email` and written in its own transaction so one bad item does not cancel the others. Returns a 200 with one result per submitted lead; read each result's `status` and `errors` to see what happened. If creating a lead would exceed…. Required: leads.
list_all_hunter_leads_exists
Check whether a single lead exists in Hunter. Returns the matching lead object including its id, email, first_name, last_name, position, company, and country.
delete_a_hunter_lead_tag_by_id
Remove a tag from a lead in Hunter. Returns an empty 204 response on success. Required: lead_id, id.
create_a_hunter_lead_tag
Add a tag to a Hunter lead. Returns a 201 response with the `data` envelope; inspect it to confirm the tag was attached.
hunter_lead_enriches_enrich
Enrich an existing Hunter lead by id. Returns the enriched lead record in the response `data` field with the lead's identifying and enriched attributes.
list_all_hunter_leads_custom_attributes
List lead custom attributes in Hunter. Returns a generic resource response wrapper; the source exposes no enumerated fields beyond the wrapper itself.
create_a_hunter_leads_custom_attribute
Create a lead custom attribute in Hunter. Returns a generic resource response wrapper; the source does not document a request body schema.
get_single_hunter_leads_custom_attribute_by_id
Get a single lead custom attribute by id in Hunter. Returns the attributes object from the generic resource envelope; the vendor does not enumerate its inner fields, so consult the upstream response payload for the actual shape. Required: id.
update_a_hunter_leads_custom_attribute_by_id
Replace a lead custom attribute by id in Hunter. Returns an empty 204 response on success. Required: id. The source does not document a request body schema.
delete_a_hunter_leads_custom_attribute_by_id
Delete a lead custom attribute by id in Hunter. Returns an empty 204 response on success. Required: id.
list_all_hunter_companies
List saved companies in Hunter. Returns each company with id, domain, and created_at; domain may be null when the company's domain no longer exists.
create_a_hunter_company
Save a company in Hunter. Returns the saved company including id, domain, and created_at; domain may be null when the company's domain no longer exists.
get_single_hunter_company_by_id
Get a single saved company in Hunter by id. Returns: id, domain, created_at. Required: id.
delete_a_hunter_company_by_id
Delete a saved company in Hunter by id. Returns an empty 204 response on success. Required: id.
hunter_companies_bulk_move
Move many companies at once from one static company list to another in Hunter. Accepted for background processing (202), returning the resource response envelope.
hunter_companies_bulk_copy
Copy companies to another static company list in bulk via Hunter. The source companies are selected per Hunter's standard bulk-selection pattern (explicit `company_ids` and/or a whole `company_list_id`) and duplicated into the destination list, leaving the source selection untouched. Hunter returns a 202 Accepted for background processing; the…
hunter_companies_bulk_delete
Delete many Hunter companies in bulk. Selects targets from explicit `company_ids` and/or a whole `company_list_id`; pass at least one. Returns the generic resource response envelope — an opaque data payload whose shape is not documented upstream.
hunter_companies_bulk_tag
Tag saved companies in bulk in Hunter. Sends the request to Hunter's background-processing queue and returns a 202 Accepted acknowledgement rather than the updated companies, so the tagging itself is not synchronous. The per-method source documents no query or body field names; consult the upstream Hunter API documentation for the exact request…
list_all_hunter_leads_lists
List Hunter lead lists. Returns the records inside `data` with id, created_at, and updated_at. No required parameters.
create_a_hunter_leads_list
Create a Hunter lead list. Returns the new record with id, created_at, and updated_at. The upstream spec accepts a JSON request body but does not enumerate its fields.
get_single_hunter_leads_list_by_id
Get a single Hunter lead list by id. Returns the record with id, created_at, and updated_at. Required: id.
update_a_hunter_leads_list_by_id
Replace a Hunter lead list by id. Returns an empty 204 response on success. Required: id.
delete_a_hunter_leads_list_by_id
Delete a Hunter lead list by id. Returns an empty 204 response on success. Required: id.
hunter_leads_lists_merge
Merge one Hunter leads list into another in Hunter. Returns an empty 204 response on success.
list_all_hunter_leads_lists_folders
List lead list folders.
create_a_hunter_leads_lists_folder
Create a lead list folder.
get_single_hunter_leads_lists_folder_by_id
Get a lead list folder. Required: id.
update_a_hunter_leads_lists_folder_by_id
Replace a lead list folder. Required: id.
delete_a_hunter_leads_lists_folder_by_id
Delete a lead list folder. Required: id.
create_a_hunter_leads_list_favorite
Favorite a leads list in Hunter, marking it as a favorite for the account. Returns the generic_resource_response payload with the leads list's id and leads_list_id.
delete_a_hunter_leads_list_favorite_by_id
Remove a leads list from favorites in Hunter. Returns the generic_resource_response payload with the leads list's id and leads_list_id. Required: id.
create_a_hunter_leads_import
Create a draft leads import in Hunter from CSV data. Required: csv_data. The call only drafts the import — a person must open the configuration_url in a browser and finish mapping columns before any lead is created, and csv_data must be sent in the request body (JSON or form-encoded, never in the…
list_all_hunter_company_lists
List the company lists in your Hunter account, ordered with the most recently created first. Returns each company list including its id, name, type, filters, and company_list_folder_id.
create_a_hunter_company_list
Create a new company list in your Hunter account. Returns the created company list, including its id, name, type, filters, and company_list_folder_id.
get_single_hunter_company_list_by_id
Get a single company list by ID in Hunter. Returns the company list including its id, name, type, filters, and company_list_folder_id. Required: id.
update_a_hunter_company_list_by_id
Replace a company list in your Hunter account, identified by ID. Returns an empty 204 response on success. Required: id.
delete_a_hunter_company_list_by_id
Delete a company list by ID in Hunter. The request is processed asynchronously and Returns an empty 204 response on success. Required: id.
list_all_hunter_company_lists_folders
List company list folders in Hunter, ordered with the most recently created first. Returns the data array of folders.
create_a_hunter_company_lists_folder
Create a new company list folder in Hunter. Returns the created folder via the data envelope. Required: name. When color is omitted, Hunter picks a random color from the palette's vivid swatches.
get_single_hunter_company_lists_folder_by_id
Get a single company list folder in Hunter by id. Returns the folder via the data envelope. Required: id.
update_a_hunter_company_lists_folder_by_id
Replace a company list folder in Hunter. Returns an empty 204 response on success. Required: id.
delete_a_hunter_company_lists_folder_by_id
Delete a company list folder in Hunter by id. Returns an empty 204 response on success. Required: id.
create_a_hunter_company_list_favorite
Mark a Hunter company list as a favorite. Returns the favorited list object including its id and content-type-specific attributes.
delete_a_hunter_company_list_favorite_by_id
Remove the favorite flag from a Hunter company list by id. Returns the unfavorited list object including its id and content-type-specific attributes. Required: id.
create_a_hunter_company_list_company
Add a company to a static company list in Hunter. Returns the saved-company record returned by Hunter (resource-specific fields; consult the Upstream docs).
delete_a_hunter_company_list_company_by_id
Remove a company from a company list in Hunter. Returns an empty 204 response on success. Required: company_list_id, id.
list_all_hunter_lookalikes
List lookalike companies in Hunter computed from one of your company lists. Returns the most similar companies ranked by similarity score. This call is free and is not paginated — the offset parameter is not supported and returns 400 if supplied.
list_all_hunter_tags
List lead tags in your Hunter account. Returns each tag with id, name, and color.
create_a_hunter_tag
Create a new lead tag in Hunter. Returns the created tag with id, name, and color. Required: name.
get_single_hunter_tag_by_id
Get a single lead tag in Hunter by id. Returns the tag with id, name, and color. Required: id.
update_a_hunter_tag_by_id
Replace a lead tag in Hunter by id. Returns the updated tag with id, name, and color. Required: id.
delete_a_hunter_tag_by_id
Delete a lead tag in Hunter by id. Returns an empty 204 response on success. Required: id.
list_all_hunter_company_tags
List Hunter company tags. Returns the collection of tag records (each tagged under the response's `data` envelope). No required parameters.
create_a_hunter_company_tag
Create a company tag in Hunter. Returns the new tag record via the response's `data` envelope. No required parameters documented upstream.
get_single_hunter_company_tag_by_id
Get a single Hunter company tag by id. Returns the tag record. Required: id.
update_a_hunter_company_tag_by_id
Replace an existing Hunter company tag by id. Returns the replaced tag record. Required: id.
delete_a_hunter_company_tag_by_id
Delete a Hunter company tag by id. Returns an empty 204 response on success. Required: id.
create_a_hunter_feedback
Submit product feedback to Hunter. Returns the created feedback record unwrapped from the standard `data` envelope. The upstream API documents the response as a generic resource response shape and does not enumerate fields, so callers should expect the same record-level structure Hunter uses for its other resource responses.
list_all_hunter_discover_views
List saved discover views in Hunter. Returns a `data` array of saved discover view records (id plus discover-view-specific attributes).
create_a_hunter_discover_view
Create a new saved discover view in Hunter. Returns the created discover view record (id plus discover-view-specific attributes).
get_single_hunter_discover_view_by_id
Get a single saved discover view in Hunter by id. Returns: id plus discover-view-specific attributes. Required: id.
delete_a_hunter_discover_view_by_id
Delete a saved discover view in Hunter by id. Returns an empty 204 response on success. Required: id.
list_all_hunter_message_templates
List saved message templates from Hunter. Returns: id, name, subject, body, message_format.
create_a_hunter_message_template
Create a reusable message template in Hunter. Returns the created template with its id, name, subject, body, and message_format. Required: name, subject, body, message_format.
get_single_hunter_message_template_by_id
Get a single message template from Hunter by id. Returns: id, name, subject, body, message_format. Required: id.
update_a_hunter_message_template_by_id
Replace a message template in Hunter by id. Returns the updated template with its id, name, subject, body, and message_format. Required: id.
delete_a_hunter_message_template_by_id
Delete a message template from Hunter by id. Returns an empty 204 response on success. Required: id.
list_all_hunter_messages
List Hunter messages including outgoing messages and incoming replies. Returns: id, to, created_at, lead. Recipients who asked Hunter to delete their address come back with null to and null lead identifying fields.
create_a_hunter_message
Send a one-off Hunter message from a sender that is available for outreach to the authenticated user. Returns the sent message with id, to, created_at, and an embedded lead containing email, confidence_score, and verification (date, status). On the Free plan, senders kept only for Inbox Protection cannot send and the request returns 422…
list_all_hunter_webhooks
List webhooks configured on the Hunter account. Returns the array of webhook records (each with id, target_url, and subscribed events).
create_a_hunter_webhook
Create a new webhook in Hunter. Returns the created webhook record including its id and target_url. Required: target_url.
hunter_webhooks_bulk_delete
Delete a webhook from Hunter by its identifier (legacy collection endpoint). Returns an empty 204 response on success.
get_single_hunter_webhook_by_id
Get a single Hunter webhook by id. Returns the webhook record including its id, target_url, and subscribed events. Required: id.
update_a_hunter_webhook_by_id
Replace an existing Hunter webhook by id. Returns the replaced webhook object with its id, target_url, and subscribed events. Required: id.
delete_a_hunter_webhook_by_id
Delete a Hunter webhook by id. Returns an empty 204 response on success. Required: id.
list_all_hunter_api_keys
List Hunter API keys on the connected account. Returns a collection of API key records unwrapped from the upstream `data` envelope. No required parameters.
create_a_hunter_api_key
Create a Hunter API key for the connected user. Returns the created API key record unwrapped from the upstream `data` envelope. Optional: name (names must be unique among the user's keys).
update_a_hunter_api_key_by_id
Replace a Hunter API key identified by id. Returns the replaced API key record unwrapped from the upstream `data` envelope. Required: id.
delete_a_hunter_api_key_by_id
Delete a Hunter API key by id. Returns an empty 204 response on success. Required: id.
delete_a_hunter_company_tag_assignment_by_id
Remove a tag from a saved company in Hunter. Returns an empty 204 response on success. Required: company_id and id.
create_a_hunter_company_tag_assignment
Tag a saved company in Hunter by attaching an existing company tag. Returns the generic resource payload confirming the tag is now attached to the company.
Why Truto
Why use Truto’s MCP server for Hunter
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 950+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Hunter in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Hunter account
Use Truto’s frontend SDK to connect your customer’s Hunter account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Hunter
Truto’s Proxy API is a 1-to-1 mapping of the Hunter API. You call us, we call Hunter, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Hunter’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Hunter on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How do end users authenticate their Hunter account?
Hunter uses API key authentication. Through Truto's managed auth, your users paste their Hunter API key once in your UI and Truto securely stores and injects it into every request — you never handle the credential directly.
Which Hunter capabilities are exposed through Truto?
Truto exposes Hunter's full API surface, including Email Finder, Domain Search, Email Verifier, Companies and People enrichment, Leads and Lists management, Campaigns, Sequences and follow-ups, Discover, Webhooks, and account/usage endpoints.
How does Truto handle Hunter's rate limits and quotas?
Hunter enforces per-plan request limits and monthly search/verification quotas. Truto respects Hunter's rate limits, surfaces 429 responses, and lets you monitor consumption via the account stats, usage, and usage history endpoints so you can throttle or alert inside your product.
Can we sync leads and companies both ways?
Yes. You can create, read, update, delete, and bulk-upsert Hunter Leads and Companies, manage their Lists and Folders, assign Tags, and define Custom Attributes — enabling two-way sync between your product and Hunter.
Does Truto support Hunter webhooks for real-time events?
Yes. You can programmatically create, list, update, and delete Hunter webhooks per connected account, and Truto can relay incoming events to your own endpoints so you react to campaign and lead activity without polling.
Can we trigger cold email sends on behalf of our users?
Yes. You can create sequences and follow-ups, add recipients individually or in bulk, and call start, pause, resume, and archive actions — allowing your product to orchestrate live Hunter outreach end to end.
How fresh is the data returned by Hunter's enrichment endpoints?
Hunter continuously re-crawls public sources and re-verifies emails, so results reflect their latest index at query time. Truto proxies requests live rather than caching, meaning your users always see Hunter's current data and confidence scores.
Hunter
Get Hunter integrated into your app
Our team understands what it takes to make a Hunter integration successful. A short, crisp 30 minute call with folks who understand the problem.