---
title: Snov.io API Integration on Truto
slug: snovio
category: Sales Intelligence
canonical: "https://truto.one/integrations/detail/snovio/"
---

# Snov.io API Integration on Truto



**Category:** Sales Intelligence  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 48 tools for Snov.io that AI agents can call directly.

- **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.

## How it works

1. **Link your customer's Snov.io account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Snov.io.** The Proxy API is a 1-to-1 mapping of the Snov.io API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **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.
- **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.
- **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.
- **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.
- **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

- **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.
- **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.
- **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.
- **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.
- **Campaign analytics dashboard** — Surface per-campaign send, open, click, and reply metrics plus recipient-level activity (31-day window) inside your reporting views.
- **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.

## FAQs

### 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.
