Classification
- Read tools return data and change nothing in the account. Their MCP annotations are
readOnlyHint: true,destructiveHint: false,idempotentHint: true. - Sensitive write tools spend credits, which can’t be undone, and save a file to the account. They need the user’s approval every time. Their annotations are
readOnlyHint: false,destructiveHint: true,idempotentHint: false. - Every tool works only on SphereScout’s own database and the signed-in account:
openWorldHint: false.
The export tools only charge what the user approved. Pass the count the user saw (
export_quote_id or expected_credits): if the search grew, the export is refused or fails without charging, and the answer gives the new cost to approve.Search
find_category
Finds the category for a kind of business. Categories are named in English.
Returns
categories, each with category_id, name, match_rank (0 is an exact match), matched_field, matched_value and substring_only (true when the term only appears inside another word).
Errors invalid_argument.
list_countries
Lists the countries SphereScout covers. No inputs. Returnscountries, each with country (ISO alpha-2 code) and name.
find_location
Finds a city, county or region by name. Places are stored under their local-language names (München, Lisboa).
Returns
locations, each with location_ref (level and id, used in filters.locations), name, kind (state/region, county/department or city/commune), its state and county, and exact_name. The answer can add:
needs_clarification,clarify_onandclarification_hintwhen the name is ambiguous;namesakeswhen several places share the name and level;city_zoneswhen a city is stored as several zones, with all of them;big_citywhen a big city’s neighborhoods are stored under their own names, with those places.
invalid_argument, invalid_country, country_not_covered.
list_locations
Lists every place of one level: all states, all counties in a state, or all cities in a county.
Returns
kind, count and locations, each with location_ref and name.
Errors invalid_argument, invalid_country, country_not_covered.
preview_businesses
Counts businesses by category and place, and gives what an export of them would cost.filters takes:
Returns
countandcredit_cost(the same number: one credit per business);search, the search in words, andcountry_data_updated;contact_coverage: how many have an email, a phone, both, either or neither (up to 20,000 matches, or on request);sampleor the requestedpage;- for accounts that can export, an
exportblock with anexport_quote_idvalid for 15 minutes, aconfirm_withsentence for the user’s approval, and cheaperalternatives(only businesses with an email, a phone, or either), each with its own quote; - for accounts that can’t,
export.available: falseand aplans_url.
start_export can use it.
Errors invalid_argument, invalid_country, country_not_covered, personal_email_filter_requires_plan.
get_account
Shows the signed-in account’s plan and credits. No inputs. Returnsemail, plan, subscription_status, access (full or free), can_export, can_filter_personal_emails, export_credits_available, and plans_url for free accounts.
Export
start_export
Exports businesses with their contacts to a file in the signed-in account.
Side effects
- Spends 1 credit per exported business, never more than the approved count.
- Saves the file to the account’s export history.
- Emails the account owner when the file is ready or if the export fails. Both emails can be turned off under Email notifications on the plans page of the dashboard.
- Calling again with the same arguments within 15 minutes returns the same export with
already_started: trueand no new charge.
search_id, status, credits_charged and destination (the account and its export history). A small export comes back completed with the fields of get_export; otherwise poll get_export after poll_after_seconds.
Errors invalid_argument, quote_invalid, quote_expired, credit_cost_changed, insufficient_credits, no_leads_found, export_in_progress, personal_email_filter_requires_plan, api_subscription_required, insufficient_scope.
get_export
Returns an export’s status and, once it’s ready, its file.
Returns
search_id, status and row_count. Then, depending on the status:
pendingorprocessing:poll_after_seconds;completed:credits_charged,download_url(no sign-in needed),download_expires_at(7 days after the file was made),file_size_mb,filename,searchandcolumns;failed:failure,user_messageandcredits_refunded. An update export that grew beyond its approved credits fails withcredit_limit_exceededand givesrequired_credits; one with nothing new fails withno_fresh_data. Neither is charged.
search_not_found, download_expired.
read_export_rows
Returns the rows of a finished export, with their contacts. The export is already paid for, so reading it is free.
Returns
total_rows, page, pages, columns and rows. Empty cells are left out of each row.
Errors invalid_argument, search_not_found, download_expired.
Export history
list_exports
Lists the account’s past exports, newest first.
Returns
exports, each with search_id, title (category · place), created_at, status, rows, credits_charged, format, file_available, download_expires_at, and the updates made from it.
check_export_updates
Counts what changed in a past export’s list since it was last exported, and what exporting only those businesses would cost.
Returns
has_updates, credit_cost, changes (new businesses, businesses with their first email, new emails, new phones), since and checked_at. With a plan that includes update exports, an update_export block gives expected_credits and a confirm_with sentence; otherwise update_export.available: false and a plans_url.
Side effects None. A list is checked at most once a day; a later call returns the latest check and next_check_at.
Errors search_not_found.
start_update_export
Exports only the businesses that changed since a past export, to a file in the signed-in account.
Side effects
- Spends 1 credit per exported business, at most
expected_credits. If the update grew beyond it, nothing is charged andget_exportgives the new cost. - Saves the file to the account’s export history.
- Emails the account owner when the file is ready or if the export fails. Both emails can be turned off under Email notifications on the plans page of the dashboard.
- Calling again with the same arguments within 15 minutes returns the same export.
search_id, status, credit_limit and destination. Poll get_export for the file.
Errors invalid_argument, search_not_found, insufficient_credits, fresh_export_subscription_required, api_subscription_required, insufficient_scope.