Skip to content

Sales Intelligence · Beta

Snov.io
API integration

Ship Sales Intelligence features without building the integration. Full Snov.io API access via Proxy and 40+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Snov.io

Use Cases

Why integrate with Snov.io

Common scenarios for SaaS companies building Snov.io integrations for their customers.

01

Embed lead enrichment inside your CRM

Let your users turn partial contact records (name + domain, or a LinkedIn URL) into verified, ready-to-outreach prospects without leaving your product. Truto handles Snov.io's async task/polling pattern so your team doesn't have to.

02

Sync outbound engagement into your activity timeline

Pull sends, opens, clicks, replies, and bounces from Snov.io drip campaigns and surface them in your product's prospect or deal timeline. Perfect for CRMs, sales coaching tools, and revenue intelligence dashboards that need a 360° view of outbound activity.

03

Enable one-click sequence enrollment from your platform

Allow users to select contacts in your UI and push them directly into a Snov.io prospect list, which automatically triggers the associated drip campaign. Removes the manual CSV export/import loop between your product and Snov.io.

04

Power recruiter sourcing in your ATS

Let recruiters paste a LinkedIn URL to parse structured profile data and find a verified work email in one flow. Turns passive sourcing into automated, personalized outreach without a separate data vendor.

05

Protect sender reputation with compliance sync

Keep unsubscribes and hard bounces consistent between your platform and Snov.io's Do Not Email lists. Essential for any marketing automation, outreach, or communications product that shares an audience with Snov.io.

What You Can Build

Ship these features with Truto + Snov.io

Concrete product features your team can ship faster by leveraging Truto’s Snov.io integration instead of building from scratch.

01

Domain-to-contacts lookup widget

Let users enter a company domain and return a list of discoverable employees and emails using Snov.io's domain search and domain prospect search endpoints.

02

Inline email verification before send

Validate up to 10 emails per call with Snov.io's SMTP verification and block or warn users when addresses come back as not_valid or unknown.

03

LinkedIn URL enrichment

Accept a raw LinkedIn profile URL and return structured data — name, industry, location, skills, and work history — directly into your contact or candidate records.

04

One-click "Add to Snov.io Campaign"

Expose a user's Snov.io prospect lists and campaigns in your UI so a contact can be pushed into an active drip sequence with a single action.

05

Campaign analytics dashboard

Surface per-campaign send, open, click, and reply metrics plus recipient-level activity (31-day window) inside your reporting views.

06

Credit balance + usage visibility

Show connected users their remaining Snov.io credits and prospect list usage so they can self-manage quotas without leaving your product.

SuperAI

Snov.io 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_snov_io_domain_search

Start a Snov.io domain search for company info. Costs 1 credit per unique request, nothing if there are no results. Returns task_hash in meta; fetch the result with domain_searches get.

get_single_snov_io_domain_search_by_id

Get a domain search result by task_hash (the id). Returns status, data (company_name, city, founded, website, hq_phone, industry, size, related_domains), meta (counts) and links. Call again until status is completed; Truto does not poll. No credits are charged on this call.

create_a_snov_io_domain_prospect_search

Start a search for prospect profiles at a domain, up to 20 per page. Costs 1 credit per unique request. Returns task_hash in meta; fetch the result with domain_prospect_searches get.

get_single_snov_io_domain_prospect_search_by_id

Get prospect profiles for a domain by task_hash (the id). Returns status, data (first_name, last_name, position, source_page, search_emails_start), meta (total_count, page) and links.next. Call again until status is completed; Truto does not poll. No credits are charged on this call.

create_a_snov_io_domain_prospect_email_search

Start an email search for one domain-search prospect. Costs 1 credit per prospect with an email. Returns task_hash in meta; fetch the result with domain_prospect_email_searches get.

get_single_snov_io_domain_prospect_email_search_by_id

Get a domain-search prospect's emails by task_hash (the id). Returns status, data (searching_date, emails with smtp_status valid or unknown) and meta. Call again until status is completed; Truto does not poll. No credits are charged on this call.

create_a_snov_io_domain_email_search

Start a search for all email addresses on a domain, 50 per page. Costs 1 credit per unique request. For the next page pass next (meta.next of a previous result) as a query param; Snov.io takes it in the request URL. Returns task_hash in meta; fetch the result with domain_email_searches get.

get_single_snov_io_domain_email_search_by_id

Get all email addresses found on a domain by task_hash (the id), up to 50. Emails are unverified. Returns status, data (email), meta (next, total_count) and links.next. Call again until status is completed; Truto does not poll. No credits are charged on this call.

create_a_snov_io_generic_contact_search

Start a search for generic (role) email addresses on a domain, 50 per page. Costs 1 credit per unique request. For the next page pass next (meta.next of a previous result) as a query param; Snov.io takes it in the request URL. Returns task_hash in meta; fetch the result with generic_contact_searches get.

get_single_snov_io_generic_contact_search_by_id

Get generic (role) email addresses found on a domain by task_hash (the id), up to 50. Emails are unverified. Returns status, data (email), meta (next, total_count) and links.next. Call again until status is completed; Truto does not poll. No credits are charged on this call.

create_a_snov_io_database_prospect_search

Start a Snov.io database search for prospects, 20 per page; at least one filter is required. Free; free accounts get only 1 page of results. Returns task_hash in meta; fetch the result with database_prospect_searches get.

get_single_snov_io_database_prospect_search_by_id

Get a database prospect search result by task_hash (the id). Returns status, data (total, page, total_pages, prospects with masked last_name and linkedin_url, company) and meta. Call again until status is completed; Truto does not poll.

create_a_snov_io_database_prospect_email_search

Start an email search for one database-search prospect. Costs 1 credit per prospect with an email (reference). The knowledge base charges it on the get call instead. Returns task_hash in meta; fetch the result with database_prospect_email_searches get.

get_single_snov_io_database_prospect_email_search_by_id

Get a database prospect's emails by task_hash (the id). Returns status, data (searching_date, first_name, last_name, linkedin_url, emails with smtp_status) and meta. Call again until status is completed. The knowledge base charges the credit here; the reference charges create.

create_a_snov_io_database_company_search

Start a Snov.io database search for companies; at least one filter is required. Costs 1 credit per unique request with at least one result (reference). The knowledge base charges it on the get call instead. Returns task_hash in meta; fetch the result with database_company_searches get.

get_single_snov_io_database_company_search_by_id

Get a database company search result by task_hash (the id). Returns status, data (total, page, total_pages, companies with name, domain, location, industry, size, revenue, logo_url) and meta. Call again until status is completed. The knowledge base charges the credit here; the reference charges create.

get_single_snov_io_domain_email_count_by_id

Count the email addresses Snov.io has for a domain. The id is the domain; Truto sends it as the domain body field. Free. Returns success, domain, webmail and result (0 for webmail domains).

create_a_snov_io_email_finder_search

Start finding emails from first name, last name and company domain, up to 10 rows. Costs 1 credit per email with a valid or unknown status (reference); the enrichment knowledge base charges 1 per prospect with a valid or unknown email. Returns data.task_hash; fetch the result with email_finder_searches list (task_hash query param).

list_all_snov_io_email_finder_searches

Get email finder results: pass task_hash (from create) as a query param. Returns one record with status (completed, in_progress or not_enough_credits), data (people, result emails with smtp_status) and meta. Call again until status is completed; Truto does not poll. No credits are charged on this call.

create_a_snov_io_company_domain_search

Start finding company domains from company names, up to 10. Costs 1 credit per domain found. Returns data.task_hash; fetch the result with company_domain_searches list (task_hash query param).

list_all_snov_io_company_domain_searches

Get company domain results: pass task_hash (from create) as a query param. Returns one record with status, data (name, result.domain) and meta. Call again until status is completed; Truto does not poll. No credits are charged on this call.

create_a_snov_io_linkedin_profile_search

Start fetching profile info for LinkedIn profile URLs, up to 10. Costs 1 credit per profile returned. Returns data.task_hash; fetch the result with linkedin_profile_searches list (task_hash query param).

list_all_snov_io_linkedin_profile_searches

Get LinkedIn profile results: pass task_hash (from create) as a query param. Returns one record with status, data (url, result with name, industry, location, skills, positions; an empty array if not found) and meta. Call again until status is completed; Truto does not poll. No credits are charged on this call.

get_single_snov_io_person_profile_by_id

Get a person profile by email address; the id is the email and Truto sends it as the email body field. Costs 1 credit per request with a match, nothing without one. Returns success, id, source, name, firstName, lastName, logo, industry, country, locality, social, currentJobs, previousJobs and lastUpdateDate.

create_a_snov_io_email_verification

Start verifying up to 10 email addresses. Costs 1 credit per valid or not_valid result; unknown results are free (knowledge base). Returns data.task_hash; fetch the result with email_verifications list (task_hash query param).

list_all_snov_io_email_verifications

Get email verification results: pass task_hash (from create) as a query param. Returns one record with status, data (email, result with smtp_status valid, not_valid or unknown and format flags) and meta. Call again until status is completed; Truto does not poll. No credits are charged on this call.

list_all_snov_io_balances

Get the account credit balance as one record. Free. Returns balance, teamwork, unique_recipients_used, limit_resets_in and expires_in.

list_all_snov_io_prospect_lists

List all prospect lists the user created, deleted ones included. Free. Not paginated. Returns id, name, contacts, isDeleted, creationDate and deletionDate.

list_all_snov_io_prospects

List the prospects in a prospect list, newest first. Free. Pass listId as a query param; Truto sends it, page and perPage (up to 5000) in the JSON body. Returns id, name, firstName, lastName and emails.

get_single_snov_io_prospect_by_id

Get a prospect from your lists by id; Truto sends the id in the JSON body. Free. Returns id, name, firstName, lastName, industry, country, locality, social, lastUpdateDate, currentJob, previousJob, lists and campaigns. A reply with success false or no data object becomes a 404.

snov_io_prospects_search

Find the prospects in your lists that match an email address (body field email). Free. Returns every matching prospect with id, name, firstName, lastName, industry, country, locality, social, lastUpdateDate, currentJob, previousJob, lists and campaigns. No match (success false) returns an empty list.

create_a_snov_io_prospect

Add a prospect to a list; a drip campaign on that list starts for them. Free in credits; the drip campaign it starts uses the plan's monthly recipients quota. listId is required, and socialLinks is required when email is empty. Returns success, id, added and updated. A 2xx reply with success false becomes a 422 carrying the vendor errors.

list_all_snov_io_prospect_custom_fields

List the prospect custom fields the user created. Free. Not paginated. Returns key, label, required and type.

list_all_snov_io_campaigns

List all campaigns of the user, plus team campaigns with the View team records permission. Free. Not paginated. Returns id, campaign, list_id, status, created_at, updated_at, started_at and hash.

get_single_snov_io_campaign_by_id

Get one campaign by id. Returns id, status, title, email_accounts, linkedin_accounts, priority, tracking, sending_settings, recipients, schedule_id, start and complete times, timezone, sequence and deals.

list_all_snov_io_campaign_schedules

List all campaign sending schedules. Free. Not paginated. Returns id, name, timezone and days.

list_all_snov_io_campaign_analytics

Get campaign statistics for a date range as one record of email and LinkedIn counters and rates (e.g. emails_sent, delivered, email_opens, email_replies, interested). Free. date_from and date_to are required.

list_all_snov_io_campaign_progress

Get the progress of one campaign as one record. Free. campaign_id is required. Returns status, unfinished and progress.

list_all_snov_io_campaign_recipients

Check whether email addresses are recipients of a campaign, for deduplication. Free. campaign_id and emails (1-100) are required; pass emails as an array, even for one email. Returns email, exist and status.

list_all_snov_io_campaign_recipient_activities

List campaign recipient activity events (sent, open, click, reply, bounce, unsubscribe) with prospect details. Free. campaign_id, dateFrom and dateTo (up to 31 days, UTC) are required. Paginated by offset, up to 1000 per page.

list_all_snov_io_campaign_completed_prospects

List prospects for whom a campaign has finished. Free. campaignId is required. Not paginated. Returns id, prospectId, userName, userEmail, campaign and hash.

list_all_snov_io_campaign_sent_emails

List emails sent in a campaign, up to 10,000 per call; pass offset to skip earlier ones. Free. campaignId is required. Truto does not page this. Returns sentDate, userName, userEmail, campaign, hash and id.

list_all_snov_io_campaign_email_opens

List email opens in a campaign, up to 10,000 per call; pass offset to skip earlier ones. Free. campaignId is required. Truto does not page this. Returns visitedAt, campaignId, campaign, prospect fields, emailSubject, emailBody and customFields.

list_all_snov_io_campaign_link_clicks

List link clicks in a campaign, up to 10,000 per call; pass offset to skip earlier ones. Free. campaignId is required. Truto does not page this. Returns visitedAt, campaignId, campaign, prospect fields, emailSubject, emailBody and customFields.

list_all_snov_io_campaign_email_replies

List email replies in a campaign, up to 10,000 per call; pass offset to skip earlier ones. Free. campaignId is required. Truto does not page this. Returns visitedAt, campaignId, campaign, prospect fields, emailSubject, emailBody and customFields.

list_all_snov_io_campaign_replies

List all replies in a campaign, email and LinkedIn, one record per prospect and reply type. Free. campaign_id is required; offset is optional and the page size is not documented, so Truto does not page this.

list_all_snov_io_do_not_email_lists

List all do-not-email lists. Free. Not paginated. Returns id, name, owner and total.

list_all_snov_io_do_not_email_list_items

List the items (emails, domains, LinkedIn profiles) of one do-not-email list in the order added. Free. list_id is required. Paginated by page, up to 5000 per page; a 404 means the list does not exist or is not yours. Returns type and value.

Why Truto

Why use Truto’s MCP server for Snov.io

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ integrations.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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 Snov.io in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Snov.io account

Use Truto’s frontend SDK to connect your customer’s Snov.io account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

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.

03

Call our API, we call Snov.io

Truto’s Proxy API is a 1-to-1 mapping of the Snov.io API. You call us, we call Snov.io, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Snov.io’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Snov.io on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication to Snov.io work through Truto?

Your end users connect their own Snov.io accounts via Truto's managed auth flow. Truto stores and refreshes the Snov.io OAuth credentials, so you call Truto's API with a connection ID instead of handling tokens or client secrets yourself.

How do I handle Snov.io's asynchronous search and verification endpoints?

Most Snov.io search and verification endpoints are async: a create call returns a task_hash, and you fetch results with a corresponding get-by-id call once status is completed. Truto exposes both the create and get endpoints as discrete tools (e.g. create_a_snov_io_email_verification + list_all_snov_io_email_verifications), so your app controls the polling cadence.

Can I push prospects directly into an active drip campaign?

Yes. Use create_a_snov_io_prospect with a target listId — Snov.io will automatically start the drip campaign tied to that list for the new prospect, so no additional enrollment call is needed.

What engagement data can I sync back into my product?

Truto exposes campaign analytics, progress, recipients, sent emails, opens, link clicks, replies, and completed prospects. Recipient-level activity is available through list_all_snov_io_campaign_recipient_activities, which covers a rolling 31-day window from Snov.io.

Can I keep unsubscribes and bounces in sync with Snov.io?

Yes. Truto supports list_all_snov_io_do_not_email_lists and list_all_snov_io_do_not_email_list_items so you can read Snov.io's suppression state and reconcile it with your own compliance records.

Does Truto support Snov.io custom prospect fields?

Yes — list_all_snov_io_prospect_custom_fields lets you discover the connected account's custom field schema so you can map your product's fields to Snov.io dynamically per user, rather than hardcoding them.

How do I monitor API usage and credits for a connected account?

Use list_all_snov_io_balances to read the connected user's remaining Snov.io credits. This lets you proactively warn users or throttle enrichment calls before Snov.io returns quota errors.

Snov.io

Get Snov.io integrated into your app

Our team understands what it takes to make a Snov.io integration successful. A short, crisp 30 minute call with folks who understand the problem.