MCP Tools and Permissions - SMB Sales Boost API
This section describes the listing tool set: 16 tools of the SMB Sales Boost MCP server for AI apps that list SMB Sales Boost in their app directories. For each tool it shows its class and MCP hints with the reason for them, the description and parameters the AI assistant is given, what it returns and its side effects; then the lead filters, credits, limits, errors, rate limits, endpoints, data and security.
The tools act on the SMB Sales Boost account that connected the app, with the same data, credits and rules as the REST API and /mcp, but with per-call limits and shorter answers. They need an account with an active subscription that includes API access. To use all 72 tools, see All 72 tools.
The 16 tools
| Tool | Title | Class | Read-only | Destructive | Idempotent | Open world |
|---|---|---|---|---|---|---|
| get_profile | Get plan and credit balance | Read | Yes | No | Yes | No |
| preview_leads | Preview leads (no credits; emails and phones masked) | Read | Yes | No | Yes | No |
| search_leads | Get leads with contact details | Sensitive write | No | Yes | No | Yes |
| export_leads | Export a lead list | Sensitive write | No | Yes | No | Yes |
| download_export | Download a past export | Read | Yes | No | Yes | No |
| list_export_history | List past exports | Read | Yes | No | Yes | No |
| list_lead_export_history | List leads you already received | Read | Yes | No | Yes | No |
| list_filter_presets | List saved searches | Read | Yes | No | Yes | No |
| create_filter_preset | Save a search | Write | No | No | No | No |
| list_keyword_lists | List keyword lists | Read | Yes | No | Yes | No |
| list_schema_types | List business types for filters | Read | Yes | No | Yes | No |
| list_export_formats | List export formats | Read | Yes | No | Yes | No |
| get_export_format | Get an export format | Read | Yes | No | Yes | No |
| list_integrations | List connected CRMs and webhooks | Read | Yes | No | Yes | No |
| push_lead_to_integration | Send a lead to a connected CRM or webhook | Sensitive write | No | Yes | No | Yes |
| get_job | Check a long-running request | Read | Yes | No | Yes | No |
- Read-only (
readOnlyHint): the tool only reads; it changes nothing. - Destructive (
destructiveHint): its effect cannot be taken back: it spends credits, which are not refunded, or sends business contact data out of SMB Sales Boost. Past the balance a spend can lead to a card charge through the overage budget or auto top-up the user turned on (see Credits). - Idempotent (
idempotentHint): repeating the same call has no further effect. - Open world (
openWorldHint): the tool reaches outside the account: it can send businesses to the CRMs and webhooks the user connected. - Class: Read (every read-only tool), Write (changes the account, nothing that cannot be undone:
create_filter_preset) and Sensitive write (spends credits and sends contact data to the user's integrations:search_leads,export_leads,push_lead_to_integration).
Instructions for the AI assistant
When an app connects, the server gives the AI assistant these instructions:
SMB Sales Boost is a database of US local and small businesses (SMBs) for B2B outbound sales prospecting: finding businesses the user can sell to. It is not for finding consumer or homeowner customers for the user's own business. preview_leads uses no credits and shows matches with emails and phone numbers masked. search_leads and export_leads spend 1 credit per business the account has not received before, up to maxCredits; push_lead_to_integration spends 1 credit if the lead is new; credits are not refunded. Spending continues after the credits run out only if the user turned on an overage budget or auto top-up in SMB Sales Boost (either can charge their card on file); otherwise it stops. get_profile shows whether each is on. Businesses the account receives through these tools are also sent to any CRM or webhook the user set up for new or updated leads. Results are capped in size; use export_leads and download_export for larger lists.
Tool reference
Each tool with its class and hints, the reason for the hints, the description and parameters the AI assistant is given (as written), what it returns inside data and what it changes.
get_profile: Get plan and credit balance
- Class
- Read (readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false)
- Why these hints
- Only reads the plan, the subscription status, the credit balances and whether the overage budget and auto top-up are on; it changes nothing and stays inside the account.
- Description given to the assistant
- Returns the account's plan name, subscription status, credit balance (monthly, permanent and temporary credits and the total available) and whether an overage budget and auto top-up are turned on. Use this when the user asks how many credits are left.
- Inputs
- None.
- Returns
-
data:
plan,subscriptionStatus,monthlyCreditsRemaining,permanentCredits,temporaryCreditsRemaining,totalCreditsRemaining,overageEnabled,autoTopUpEnabledNever the account's id, email address, names or company, rates or budgets.
- Side effects
- None: it only reads.
preview_leads: Preview leads (no credits; emails and phones masked)
- Class
- Read (readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false)
- Why these hints
- Searches the lead database with emails and phone numbers masked; it spends no credits, changes nothing and sends nothing to the user's integrations.
- Description given to the assistant
- Use this when the user wants to see which US local businesses match a prospecting search (by category, keyword, city, state, ZIP code, website technology, social profiles, buying signal date or website domain registration date). Uses no credits. Returns up to 25 businesses per call with emails and phone numbers masked (founder contacts too); website, social profiles, address, category and buying signal are shown in full; a business this account already received shows its contacts and contactExported: true. Returns the total match count. Not for consumer or homeowner leads for the user's own local business.
- Inputs
-
Parameter Description given to the assistant pagePage of results, from 1 (default 1); hasMore and nextPage in the answer say whether there is another page. limitBusinesses per page, 1-25 (default 25; a larger value is lowered to 25). excludePurchasedtrue: only businesses this account has not received yet (default false). Plus the Lead filters, as parameters.
- Returns
-
data:
leads,page,total,hasMore,nextPage,requiresKeywords,messageleads: up to 25 businesses with the business fields that have a value. Emails and phone numbers are masked, except for a business the account already received (contactExported: true).totalis the number of matches.requiresKeywordsandmessagesay when a search needs a keyword or an include term. - Side effects
- None: it uses no credits and changes nothing.
search_leads: Get leads with contact details
- Class
- Sensitive write (readOnlyHint false, destructiveHint true, idempotentHint false, openWorldHint true)
- Why these hints
- Spends credits, which are not refunded, on businesses new to the account (destructive); the businesses it returns also go to the user's CRMs and webhooks set up for new or updated leads (open world); repeating the call can find, and charge for, newer businesses (not idempotent).
- Description given to the assistant
- Use this when the user wants the business emails and phone numbers of local businesses matching a search (websites and social profiles are already in preview_leads results). Spends 1 credit per business the account has not received before, at most maxCredits (default 25); credits are not refunded. It charges the first new matches in its own order; to unlock specific businesses from preview_leads, pass their ids as selectedIds to export_leads instead. Spending continues after the credits run out only if the user turned on an overage budget or auto top-up in SMB Sales Boost (either can charge their card on file); otherwise it stops. Businesses new to the account, and ones whose buying signal changed since the account last received them, are also sent to any CRM or webhook the user set up to receive new or updated leads. Returns up to 25 businesses per call.
- Inputs
-
Parameter Description given to the assistant pagePage of results, from 1 (default 1); hasMore and nextPage in the answer say whether there is another page. limitBusinesses per page, 1-25 (default 25; a larger value is lowered to 25). maxResultsMost businesses this call returns, new and already received together, 1-25 (default 25; a larger value is lowered to 25). New ones come first. maxCreditsMost credits this call may spend, a safety cap per call (whole number, default 25). Only businesses new to the account cost a credit; 0 gets only businesses the account already received, at no credit cost. Plus the Lead filters, as parameters.
- Returns
-
data:
leads,page,total,hasMore,nextPage,requiresKeywords,message,creditsUsed,creditsRemaining,creditsCappedleads: the businesses with every one of the business fields that has a value, contact details included; businesses new to the account come first.creditsUsedandcreditsRemainingreport the credits;creditsCappedis true whenmaxCreditsheld back new businesses. - Side effects
- Spends 1 credit per business the account has not received before, at most
maxCredits(default 25); credits are not refunded. The businesses are recorded as received by the account: they show inlist_lead_export_historyand cost no credits again. Businesses new to the account, and ones whose buying signal changed since the account last received them, are sent to the user's CRMs and webhooks set up to receive new or updated leads.
export_leads: Export a lead list
- Class
- Sensitive write (readOnlyHint false, destructiveHint true, idempotentHint false, openWorldHint true)
- Why these hints
- Spends credits, which are not refunded, on businesses new to the account and saves a file (destructive); the businesses go to the user's CRMs and webhooks set up for new or updated leads, and integrations subscribed to export events are notified (open world); without the same idempotencyKey a repeated call is a new export (not idempotent).
- Description given to the assistant
- Use this when the user wants a prospect list file of local businesses (CSV by default; Excel or JSON with an export format the user saved in SMB Sales Boost - pass its formatId from list_export_formats): chosen businesses (selectedIds from preview_leads) or the matches of a search. Spends 1 credit per business the account has not received before, at most maxCredits (default 25); credits are not refunded; businesses already received use no credits, so maxCredits 0 re-exports them. Spending continues after the credits run out only if the user turned on an overage budget or auto top-up in SMB Sales Boost (either can charge their card on file); otherwise it stops. Businesses new to the account, and ones whose buying signal changed, are also sent to any CRM or webhook the user set up to receive new or updated leads, and integrations subscribed to export events are notified. Returns file metadata and an exportId; call download_export for the link. Long exports return a jobId for get_job.
- Inputs
-
Parameter Description given to the assistant idempotencyKeyOptional, 8-64 letters, digits, _ or -. The identical call repeated with the same key (after a timeout, a lost connection or a running answer) returns the same export instead of starting and charging a new one; a changed call needs a new key. selectedIdsIDs of the businesses to export (at most 100), such as ids from preview_leads; with selectedIds no filters are needed. formatIdID of a saved export format (from list_export_formats); without it the account's default format is used. maxResultsMost businesses in the file, new and already received together; new ones come first. maxCreditsMost credits this export may spend, a safety cap per call (whole number, default 25). Only businesses new to the account cost a credit; 0 gets only businesses the account already received, at no credit cost. excludePurchasedtrue: only businesses this account has not received yet go into the file (default false). filtersThe search to export, with the filter names and meanings of preview_leads; stateInclude, stateExclude, buyingSignalTypeFilter and websiteSchemaFilter take lists here. filterstakes the Lead filters. - Returns
-
data, when the export is done:
leadCount,creditsUsed,creditsRemaining,creditsCapped,files,nextStep,noteeach file in files:
fileName,fileType,size,exportId,savedwhile the export runs:
status,jobId,phase,progress,nextStepThe file itself is never part of the answer:
download_exportwith a file'sexportIdreturns its link. A file withsaved: falsecould not be stored;notethen says how to get its businesses again at no credit cost. - Side effects
- Spends 1 credit per business the account has not received before, at most
maxCredits(default 25); businesses the account already received cost nothing, somaxCredits0 exports them again at no credit cost; credits are not refunded. Saves the file to the account's export history for 90 days. Businesses new to the account, and ones whose buying signal changed, are sent to the user's CRMs and webhooks set up to receive new or updated leads, and integrations subscribed to export events are notified. - Long-running exports
- An export still running after about 40 seconds returns
statusrunning with ajobId: collect it withget_job. Callingexport_leadsagain for it would start a new export, which picks new businesses first and spends credits on them; the identical call with the sameidempotencyKeyreturns the same export instead.
download_export: Download a past export
- Class
- Read (readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false)
- Why these hints
- Returns a short-lived download link for an export file the account already has, plus the text of a small csv or json file; it spends no credits and changes nothing.
- Description given to the assistant
- Use this when the user wants the file of a past export: returns its name, type, size, lead count, expiry date and a short-lived download link (valid for expiresInSeconds seconds). The text of a csv or json file of up to 50 KB is included too (contentIncluded says whether). Takes the exportId from export_leads or an id from list_export_history. Export files are kept for 90 days; for an expired one the error says how to get its leads again at no credit cost.
- Inputs
-
Parameter Description given to the assistant idThe exportId from export_leads or an id from list_export_history. - Returns
-
data:
fileName,fileType,fileSize,leadCount,fileExpiresAt,downloadUrl,expiresInSeconds,contentIncluded,contentNoteThe link is valid for
expiresInSecondsseconds. WhencontentIncludedis true, the file's text follows as a second text block (csv and json files of up to 50 KB); otherwisecontentNotesays how to get the file. - Side effects
- None: it only reads.
list_export_history: List past exports
- Class
- Read (readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false)
- Why these hints
- Only reads the account's export files; it changes nothing.
- Description given to the assistant
- Lists the account's export files, newest first, up to 25 per call: id, file name and type, lead count, size, export format name, creation and expiry dates, and whether the file can still be downloaded (downloadAvailable, unavailableReason). Files are kept for 90 days. Pass an id to download_export to get a file.
- Inputs
-
Parameter Description given to the assistant limitMost export files to list, newest first, 1-25 (default 25; a larger value is lowered to 25). - Returns
-
each file in data:
id,fileName,fileType,leadCount,fileSize,formatName,createdAt,expiresAt,downloadAvailable,unavailableReasonNewest first; when the limit is reached,
notesays that only the newest files are listed. Never the filters an export was made with. - Side effects
- None: it only reads.
list_lead_export_history: List leads you already received
- Class
- Read (readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false)
- Why these hints
- Only reads the businesses the account already received; it spends no credits and changes nothing.
- Description given to the assistant
- Lists businesses this account already received (up to 25 per page, newest first) with leadId, name, contact details and the date received. To get a file of some of them again, pass their leadIds as selectedIds to export_leads with maxCredits 0 (no credits).
- Inputs
-
Parameter Description given to the assistant limitMost businesses per page, newest first, 1-25 (default 25; a larger value is lowered to 25). offsetHow many entries to skip (default 0); nextOffset in the answer is the offset of the next page. dateFromOnly businesses received on or after this date (YYYY-MM-DD). dateToOnly businesses received on or before this date (YYYY-MM-DD). exportMethodOnly businesses received this way: dashboard, api (the API and AI assistants), email_schedule, crm_push (sent to an integration) or enrichment. - Returns
-
answer:
data,totalCount,offset,hasMore,nextOffseteach entry in data:
leadId,exportedAt,exportMethod,leadlead:
Company Name,Registered URL,City,State,Phone Primary,Email Primary,Last Buying Signal,Buying Signal Typeexport_leadswith theleadIdvalues asselectedIdsandmaxCredits0 returns the full businesses at no credit cost. - Side effects
- None: it only reads.
list_filter_presets: List saved searches
- Class
- Read (readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false)
- Why these hints
- Only reads the saved searches; it changes nothing.
- Description given to the assistant
- Lists the searches the account saved (filter presets): id, name, filters and creation date. The filters use the parameter names of preview_leads, search_leads and export_leads; a search saved in the SMB Sales Boost dashboard is listed with empty filters.
- Inputs
- None.
- Returns
-
each saved search in data:
id,name,filters,createdAtfiltersuses the parameter names ofpreview_leadsand shows only the Lead filters of this page; a search saved in the SMB Sales Boost dashboard is listed with empty filters. - Side effects
- None: it only reads.
create_filter_preset: Save a search
- Class
- Write (readOnlyHint false, destructiveHint false, idempotentHint false, openWorldHint false)
- Why these hints
- Adds one saved search to the account and touches nothing else, so it is not destructive and stays inside the account; repeating the call adds another saved search (not idempotent).
- Description given to the assistant
- Saves a search under a name (a filter preset), so list_filter_presets can show it later. filters takes the filter parameters of preview_leads, such as positiveKeywords, stateInclude or lastBuyingSignalFrom; other keys are refused. Uses no credits.
- Inputs
-
Parameter Description given to the assistant nameName of the saved search. filtersThe filters to save, by the parameter names of preview_leads, such as {positiveKeywords: ['*roof*'], stateInclude: 'AZ'}; other keys are refused. filterstakes the Lead filters. - Returns
-
data:
id,name,filters,createdAtThe saved search as stored.
- Side effects
- Adds one saved search to the account. Uses no credits.
list_keyword_lists: List keyword lists
- Class
- Read (readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false)
- Why these hints
- Only reads the saved keyword lists; it changes nothing.
- Description given to the assistant
- Lists the keyword lists the account saved: id, name, type and keywords. A positive list's keywords go into positiveKeywords and a negative list's into negativeKeywords of preview_leads, search_leads or export_leads.
- Inputs
- None.
- Returns
-
each list in data:
id,name,type,keywordstypeis positive or negative: whether the keywords go intopositiveKeywordsornegativeKeywords. - Side effects
- None: it only reads.
list_schema_types: List business types for filters
- Class
- Read (readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false)
- Why these hints
- Only reads the website schema types that the websiteSchemaFilter parameter takes; it changes nothing.
- Description given to the assistant
- Lists the website schema types found in the database (schema.org business types such as LocalBusiness or Organization): the values the websiteSchemaFilter parameter of preview_leads, search_leads and export_leads takes. Right after a server restart the list can still be loading: the error then says schema_types_warming, and the list is back within about a minute.
- Inputs
- None.
- Returns
-
answer:
datadatais a list of schema type names, such as LocalBusiness. - Side effects
- None: it only reads.
list_export_formats: List export formats
- Class
- Read (readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false)
- Why these hints
- Only reads the saved export formats; it changes nothing.
- Description given to the assistant
- Lists the export formats the account saved in SMB Sales Boost: id, name, file type (csv, xlsx or json), whether it is the default format, and its columns. Pass an id as formatId to export_leads.
- Inputs
- None.
- Returns
-
each format in data:
id,name,fileType,isDefault,columnscolumnsare the file's column headers, in order. - Side effects
- None: it only reads.
get_export_format: Get an export format
- Class
- Read (readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false)
- Why these hints
- Only reads one saved export format; it changes nothing.
- Description given to the assistant
- Returns one export format the account saved, by id: name, file type (csv, xlsx or json), whether it is the default format, and its columns in file order.
- Inputs
-
Parameter Description given to the assistant idID of the export format (from list_export_formats). - Returns
-
data:
id,name,fileType,isDefault,columnscolumnsare the file's column headers, in order. - Side effects
- None: it only reads.
list_integrations: List connected CRMs and webhooks
- Class
- Read (readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false)
- Why these hints
- Only reads the CRMs and webhooks the user connected, never their URLs, keys or tokens; it changes nothing and contacts no CRM or webhook.
- Description given to the assistant
- Lists the CRMs and webhooks the user connected in SMB Sales Boost, newest first: id, provider, name, status (connected, disabled or needs_attention), the events each one receives and its destination (the CRM's name or the webhook's host). Webhook URLs, keys and tokens are never shown. Pass an id to push_lead_to_integration. Integrations are connected and managed in the SMB Sales Boost dashboard.
- Inputs
- None.
- Returns
-
each integration in data:
id,provider,providerName,displayName,status,events,destinationdestinationis the CRM's name or the webhook's host, masked when the host alone would let anyone read or send to the webhook;eventsare the event types it receives. Never webhook URLs, keys, tokens, CRM account ids or who created the integration. - Side effects
- None: it only reads.
push_lead_to_integration: Send a lead to a connected CRM or webhook
- Class
- Sensitive write (readOnlyHint false, destructiveHint true, idempotentHint false, openWorldHint true)
- Why these hints
- Writes the business's contact data to a CRM or webhook the user connected, which cannot be recalled, and spends 1 credit, not refunded, when the business is new to the account (destructive, open world); every call sends again (not idempotent).
- Description given to the assistant
- Use this when the user wants to send one lead to a CRM or webhook they already connected in SMB Sales Boost (for example HubSpot, Salesforce, Pipedrive or a Zapier webhook). Writes the lead's business contact data to that destination. Spends 1 credit if the account has not received this lead before; credits are not refunded, including for a push that then fails. Spending continues after the credits run out only if the user turned on an overage budget or auto top-up in SMB Sales Boost (either can charge their card on file); otherwise it stops. A lead new to the account is also sent to the user's other integrations set to receive new leads, and a lead whose buying signal changed since the account last received it goes to the ones set to receive updated leads. Integrations are connected and managed in the SMB Sales Boost dashboard. A failed push returns a short reason such as the destination's HTTP status; the integration's Deliveries tab there shows the details.
- Inputs
-
Parameter Description given to the assistant idID of the integration (from list_integrations). leadIdID of the business to send: a lead's id from preview_leads or search_leads, or a leadId from list_lead_export_history. - Returns
-
data:
status,tracked,creditsUsed,statusCode,errorstatusCodeis the webhook's HTTP status.erroris a short reason written by SMB Sales Boost, never the destination's own answer; the integration's Deliveries tab in the SMB Sales Boost dashboard shows the details. - Side effects
- Spends 1 credit if the account has not received the business before; credits are not refunded, also for a push that then fails. Writes the business's contact data to the chosen CRM or webhook. A business new to the account also goes to the user's other integrations set to receive new leads, and one whose buying signal changed goes to the ones set to receive updated leads.
get_job: Check a long-running request
- Class
- Read (readOnlyHint true, destructiveHint false, idempotentHint true, openWorldHint false)
- Why these hints
- Only reads the status or the result of an export that export_leads started; it starts no work and spends no credits.
- Description given to the assistant
- Checks a long-running export started by export_leads and returns the result export_leads would have returned. Use it to collect a running export instead of starting the export again.
- Inputs
-
Parameter Description given to the assistant jobIdThe jobId of a running export_leads answer (32 hex characters). - Returns
-
data, when the export is done:
leadCount,creditsUsed,creditsRemaining,creditsCapped,files,nextStep,noteeach file in files:
fileName,fileType,size,exportId,savedwhile the export runs:
status,jobId,phase,progress,nextStepThe answer
export_leadswould have returned. Onlyexport_leadsjobs: any other job is refused. - Side effects
- None: it only reads.
- Long-running exports
- Each call waits up to 40 seconds for the export. A result is kept up to 60 minutes after the export finishes (less under heavy load or after a server restart); the file stays in the export history for 90 days (
list_export_history).
Lead filters
preview_leads and search_leads take these filters as parameters, export_leads inside filters (there stateInclude, stateExclude, buyingSignalTypeFilter and websiteSchemaFilter take lists), and create_filter_preset saves them. At least one keyword or include term is needed.
| Filter | Description given to the assistant |
|---|---|
positiveKeywords | Keywords for the businesses to find, such as *dent* or *roof* (case-insensitive; * matches any characters). A business matches when any keyword is in one of the orColumns (by default company name, website addresses, AI-estimated category). At least one keyword or include term (name, url, crawledUrl or description IncludeTerms) is required. |
negativeKeywords | Keywords that leave a business out when one is in any of the orColumns. |
stateInclude | US state codes to include, comma-separated (for example TX or CA,NY). |
stateExclude | US state codes to leave out, comma-separated. |
cityInclude | Cities to include (the city contains any of them). |
cityExclude | Cities to leave out. |
zipInclude | ZIP codes to include (exact match). |
zipExclude | ZIP codes to leave out (exact match). |
nameIncludeTerms | Terms in the company name (case-insensitive; * matches any characters). |
nameExcludeTerms | Terms that leave a business out when its company name contains one. |
urlIncludeTerms | Terms in the registered website address (case-insensitive; * wildcard). |
urlExcludeTerms | Terms that leave a business out when its registered website address contains one. |
crawledUrlIncludeTerms | Terms in the crawled website address (case-insensitive; * wildcard). |
crawledUrlExcludeTerms | Terms that leave a business out when its crawled website address contains one. |
descriptionIncludeTerms | Terms in the short website description (case-insensitive; * wildcard). |
descriptionExcludeTerms | Terms that leave a business out when its short website description contains one. |
cityEmptyFilter | City: exclude_empty = present, only_empty = missing, any = no filter (default). |
stateEmptyFilter | State: exclude_empty = present, only_empty = missing, any = no filter (default). |
zipEmptyFilter | ZIP code: exclude_empty = present, only_empty = missing, any = no filter (default). |
phonePrimaryEmptyFilter | Primary phone: exclude_empty = present, only_empty = missing, any = no filter (default). |
phoneTotalEmptyFilter | Total Phones list: exclude_empty = present, only_empty = missing, any = no filter (default). |
emailPrimaryEmptyFilter | Primary email: exclude_empty = present, only_empty = missing, any = no filter (default). |
emailTier1EmptyFilter | Tier 1 Emails list: exclude_empty = present, only_empty = missing, any = no filter (default). |
emailTier2EmptyFilter | Tier 2 Emails list: exclude_empty = present, only_empty = missing, any = no filter (default). |
emailTier3EmptyFilter | Tier 3 Emails list: exclude_empty = present, only_empty = missing, any = no filter (default). |
emailTier4EmptyFilter | Tier 4 Emails list: exclude_empty = present, only_empty = missing, any = no filter (default). |
emailTier5EmptyFilter | Tier 5 Emails list: exclude_empty = present, only_empty = missing, any = no filter (default). |
emailTier6EmptyFilter | Tier 6 Emails list: exclude_empty = present, only_empty = missing, any = no filter (default). |
descriptionEmptyFilter | Short website description: exclude_empty = present, only_empty = missing, any = no filter (default). |
redirectFilter | yes: only businesses whose registered website address redirects elsewhere; no: only ones that do not. |
buyingSignalTypeFilter | Buying Signal Types, comma-separated: only businesses whose last buying signal was one of them. Values: Newly Added, Phone Primary, Total Phones, Email Primary, Tier 1 Emails, Tier 2 Emails, Address Full, Instagram, LinkedIn, Facebook, YouTube, TikTok, X (Twitter), Google Maps, Yelp, Pinterest, Other Social. |
websiteSchemaFilter | Website schema types, comma-separated (values from list_schema_types, such as LocalBusiness). |
isChainInclude | Is Chain? values to look for (Yes marks a chain). A term is text (contains) or {v, m} with m contains, starts or ends. |
isChainExclude | Is Chain? values to leave out (matched like isChainInclude). |
isChainEmptyFilter | Is Chain? value: exclude_empty = present, only_empty = missing, any = no filter (default). |
socialProfilesInclude | Only businesses with a social profile on any of these platforms (platform domains, not profile links). |
socialProfilesExclude | Leave out businesses with a social profile on any of these platforms. |
socialProfilesEmptyFilter | Social profiles: exclude_empty = present, only_empty = missing, any = no filter (default). |
platformInclude | Website platforms to look for, such as wordpress, shopify, wix or squarespace. A term is text (contains) or {v, m} with m contains, starts or ends. |
platformExclude | Website platforms to leave out (matched like platformInclude). |
platformEmptyFilter | Detected website platform: exclude_empty = present, only_empty = missing, any = no filter (default). |
bookingOpsCrmSoftwareInclude | Booking, operations or CRM software to look for, such as calendly, gohighlevel or jobber. A term is text (contains) or {v, m} with m contains, starts or ends. |
bookingOpsCrmSoftwareExclude | Booking, operations or CRM software to leave out (matched like bookingOpsCrmSoftwareInclude). |
bookingOpsCrmSoftwareEmptyFilter | Detected booking, operations or CRM software: exclude_empty = present, only_empty = missing, any = no filter (default). |
reputationChatSoftwareInclude | Reputation or chat software to look for, such as tidio or zendesk. A term is text (contains) or {v, m} with m contains, starts or ends. |
reputationChatSoftwareExclude | Reputation or chat software to leave out (matched like reputationChatSoftwareInclude). |
reputationChatSoftwareEmptyFilter | Detected reputation or chat software: exclude_empty = present, only_empty = missing, any = no filter (default). |
marketingEmailSoftwareInclude | Marketing or email software to look for, such as klaviyo, mailchimp or callrail. A term is text (contains) or {v, m} with m contains, starts or ends. |
marketingEmailSoftwareExclude | Marketing or email software to leave out (matched like marketingEmailSoftwareInclude). |
marketingEmailSoftwareEmptyFilter | Detected marketing or email software: exclude_empty = present, only_empty = missing, any = no filter (default). |
adPixelsInclude | Ad pixels to look for, such as meta-pixel, google-ads or tiktok-pixel. A term is text (contains) or {v, m} with m contains, starts or ends. |
adPixelsExclude | Ad pixels to leave out (matched like adPixelsInclude). |
adPixelsEmptyFilter | Detected ad pixels: exclude_empty = present, only_empty = missing, any = no filter (default). |
paymentFinancingSoftwareInclude | Payment or financing software to look for, such as stripe or paypal. A term is text (contains) or {v, m} with m contains, starts or ends. |
paymentFinancingSoftwareExclude | Payment or financing software to leave out (matched like paymentFinancingSoftwareInclude). |
paymentFinancingSoftwareEmptyFilter | Detected payment or financing software: exclude_empty = present, only_empty = missing, any = no filter (default). |
emailPrimaryMxValues | Only businesses whose primary email's provider is one of these exact values, such as 'Google Workspace - Google' or 'Microsoft 365 - Outlook'. |
emailPrimaryMxEmptyFilter | Primary email provider: exclude_empty = present, only_empty = missing, any = no filter (default). |
emailDomainMxValues | Only businesses whose website domain's email provider is one of these exact values, such as 'Google Workspace - Google' or 'Self-Hosted - SMTP'. |
emailDomainMxEmptyFilter | Website email provider: exclude_empty = present, only_empty = missing, any = no filter (default). |
emailSecurityValues | Only businesses whose website domain's email security service is one of these exact values, such as Proofpoint. |
emailSecurityEmptyFilter | Email security service: exclude_empty = present, only_empty = missing, any = no filter (default). |
minNumLocations | Fewest business locations. |
maxNumLocations | Most business locations. |
minOpenPositions | Fewest job postings on the business's website. |
maxOpenPositions | Most job postings on the business's website. |
openPositionsEmptyFilter | Job postings count: exclude_empty = present, only_empty = missing, any = no filter (default). Missing = no careers page found; 0 = a careers page without postings. |
minRatingValue | Lowest rating (0 to 5) on the business's website. |
maxRatingValue | Highest rating (0 to 5) on the business's website. |
minReviewCount | Fewest reviews. |
maxReviewCount | Most reviews. |
orColumns | Columns the keywords are matched against: wCompanyName (company name), wOgrequestedUrl (registered website), wSimpleCrawledUrl (crawled website), aiCategoryEstimation (AI-estimated category). Default: all four. |
sortBy | lastBuyingSignal (default; lastUpdated is its old name), or company name, website, state, city or redirect. |
sortOrder | desc (default) or asc. |
lastBuyingSignalFrom | Only businesses whose last buying signal is on or after this date: YYYY-MM-DD, or relative such as rel:30d (units h, d, w, m, y). A buying signal: the business was newly added, or its phones, emails, address or social profiles changed. |
lastBuyingSignalTo | Only businesses whose last buying signal is on or before this date: YYYY-MM-DD, or relative such as rel:30d (units h, d, w, m, y). |
registrationDateFrom | Only businesses whose website domain was registered on or after this date: YYYY-MM-DD, or relative such as rel:30d (units h, d, w, m, y). |
registrationDateTo | Only businesses whose website domain was registered on or before this date: YYYY-MM-DD, or relative such as rel:30d (units h, d, w, m, y). |
Not offered in this tool set: filters that look up a person (founder name, email or phone), filters on email addresses and phone numbers, the general search that also matches phone numbers, street address filters and the other website text filters of /mcp. A call with any other input is refused (see Errors).
Business fields
preview_leads and search_leads return each business with those of these 50 fields that have a value, in this order: id, Last Buying Signal, Buying Signal Type, Registered URL, Registration Date, Redirect, Crawled URL, Company Name, AI Categories, Address Full, Street, City, State, Zip, Platform, Booking/Ops/CRM Software, Reputation/Chat Software, Marketing/Email Software, Ad Pixels, Payment/Financing Software, Employees, Number of Job Postings, Founding Date, Number of Locations, Is Chain?, Rating Value, Review Count, Price Range, Legal Name, NAICS Code, DUNS Number, Founder Name(s), Founder Email(s), Founder Phone(s), Opening Hours, Social Profiles, Phone Primary, Total Phones, Email Primary, Email Primary Provider, Tier 1 Emails, Tier 2 Emails, Tier 3 Emails, Tier 4 Emails, Tier 5 Emails, Tier 6 Emails, Website Email Provider, Website Email Security, Website Schema, Description Short.
In preview_leads every email address and phone number, the founder's included, is masked, except for a business the account already received (contactExported: true); founder names are shown. Not returned: the long website description, the map coordinates, the logo URL, the other marketing texts of a website and the crawl details.
Credits
- The tools spend credits exactly like the REST API and
/mcp, from the same balance of the account. search_leadsandexport_leadsspend 1 credit per business the account has not received before, at mostmaxCreditsper call (default 25);push_lead_to_integrationspends 1 credit when the business is new to the account. A business the account already received, on any channel, costs no credits again.preview_leadsand the other tools spend no credits.- Credits are not refunded, also for a push that then fails.
- Spending continues after the credits run out only if the user turned on an overage budget or auto top-up in SMB Sales Boost (either can charge their card on file); otherwise it stops.
get_profileshows whether each is on (overageEnabled,autoTopUpEnabled). - No tool on this page changes the plan, the overage budget or the auto top-up settings, or buys credits on request: the account owner manages those in the SMB Sales Boost dashboard.
- A call the account cannot pay for returns an
insufficient_creditserror that names the credits available, and spends nothing.
Limits per call
preview_leadsandsearch_leads:limit1-25 businesses per page (default 25);search_leadsreturns at most 25 businesses per call (maxResults).search_leadsandexport_leads:maxCreditsis 25 when it is not given; a value given, 0 included, is kept.export_leads: at most 100selectedIds; the file goes to the export history and is never part of the answer.download_exportreturns a download link and, for csv and json files of up to 50 KB, the file's text.list_export_historyandlist_lead_export_history: at most 25 entries per call (default 25).- Every answer is compact JSON of at most 55,000 characters. A longer list is cut and says so (
truncated, with how to get the rest);search_leadsnever drops a business it charged for: it shortens long values instead (fieldsTruncated). - A
limit, or asearch_leadsmaxResults, above its cap is lowered to the cap; an input a tool does not take is refused (see Errors).
Errors
A failed call returns a tool result with isError: true and a text that says what happened, usually with the HTTP status and the error code, for example (HTTP 402, insufficient_credits):
- Unknown input: a call with an input the tool does not take is refused before anything runs, for example
Unknown input: zipcode. This tool accepts: ...followed byNothing was run: call the tool again with accepted inputs only.Nothing is charged. - Not enough credits (402
insufficient_credits): the text names the credits available and suggests a lowermaxCreditsormaxResults, ormaxCredits0 for businesses the account already received. - API key not valid (401): the text says to check the API key the app uses; the account owner manages API keys in the SMB Sales Boost dashboard.
- No access (403): the account has no active subscription with API access, or its export limit is reached.
- Not found or expired (404, 410): an id the account does not have, an export file past its 90 days or a job result no longer kept; the text names the tool that lists the ids, or how to get the businesses again at no credit cost.
- Busy or rate limited (409, 429, 503): when the server says when to try again, the text ends with
Retry after N seconds.
Rate limits
MCP requests are limited to 120 per minute per API key, counted together over every MCP endpoint the key uses, /mcp included; requests without a valid API key to 60 per minute per client IP address; and each client IP address to at most 1,200 MCP requests per minute in all. A refused request gets HTTP 429 with a Retry-After header and the JSON-RPC error code -32029. Each tool call also counts against the rate limits of the REST endpoint it calls.
Endpoints
No endpoint serves this tool set yet; the endpoints are listed here once they are available. Every tool on this page is also on the MCP server at https://smbsalesboost.com/mcp (sign in with an API key), there with the descriptions, defaults and full answers described in MCP Server.
Data and removal
The businesses come from publicly available sources: business websites, public directories and business registrations. Their contact details are not verified for accuracy or deliverability. Founder names are shown in preview_leads and search_leads results; founder emails and phone numbers are masked in preview_leads like every other contact detail.
Anyone can ask for the data about them or their business to be removed at Remove My Data; matching records are removed from the lead database within 24 hours, so searches no longer return them. See the Privacy Policy for how SMB Sales Boost handles data.
Security
- An app signs in with an SMB Sales Boost API key, sent as a Bearer token (
Authorization: Bearer smbk_...). The account owner creates and revokes API keys in the SMB Sales Boost dashboard; a revoked key stops working at its next tool call. - Every tool call is checked like a REST API call: the API key, the account's subscription and its rate limits.
- The tool set leaves out everything that manages the account: no tool changes the plan, the overage budget or auto top-up, creates, changes or deletes an integration, or deletes anything. Besides spending credits, recording the businesses received, saving export files to the export history and recording the deliveries to the user's integrations,
create_filter_preset(a saved search) is the only change a tool makes to the account. - Answers never contain webhook URLs, API keys, tokens or signing secrets:
list_integrationsshows a CRM's name or a webhook's host only. - Report a security issue to the contact in /.well-known/security.txt.
All 72 tools
The listing tool set is part of the SMB Sales Boost MCP server. To use all 72 tools (account settings, keyword lists, email schedules, integration setup, enrichments, credits and subscription), add https://smbsalesboost.com/mcp with your API key to your MCP client as a custom connector; see MCP Server. There the tools have their own descriptions, defaults and answers.
API Documentation Sections
Introduction | Programmatic Purchase | Authentication | Rate Limits | Long-Running Requests | User Profile | Enrichments | Leads | Filter Presets | Keyword Lists | Email Schedules | Export Formats | Export History | Lead Export History | Account Settings | AI Features | Export Blacklist | Error Handling | Credits & Subscription | MCP Server | MCP Tools and Permissions | Integrations API
Setting up a CRM, an automation tool or a webhook? See Tools & Integrations: providers, events, webhook payloads and signatures, Exported leads (batched) and the Zoho Flow scripts.
Ready to Find Your Next Customers? Get access to growing local business leads updated every 5 minutes. See plans starting at $49/mo →