The Prospeo connector lets your AI agent act in each user's Prospeo account. Each user connects their own Prospeo API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 8 tools.
- Tools
- 8
- What they doRead · write · destructive
- 4 · 4 · 04 read4 write0 destructive
- Users sign in with
- API key
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Prospeo connection
In AgentKit > Connections, create a Prospeo connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'prospeo'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Prospeo:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'prospeo_get_account_information',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "prospeo"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Prospeo:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="prospeo_get_account_information",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their Prospeo credentials there. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolprospeo_get_account_informationGet the Prospeo account's current plan, remaining credits and quota renewal date.Read-onlyGet Account Information
Get the Prospeo account's current plan, remaining credits and quota renewal date. Returns a response object with current_plan, remaining_credits, used_credits, current_team_members, next_quota_renewal_days and next_quota_renewal_date. Use to check credit balance before running enrichment or search. Free and does not use credits.
Inputs
This tool takes no inputs.
prospeo_search_companySearch Prospeo's database for companies that match industry, headcount, funding, technology and location filters, 25 per page.Read-onlySearch Companies
Search Prospeo's database for companies that match industry, headcount, funding, technology and location filters, 25 per page. Returns results (a company record per item) and pagination with current_page, total_page and total_count. Use to build account lists. Use prospeo_enrich_company for one known company and prospeo_search_person to find people at companies. Costs 1 credit per page that returns at least one company; repeating the same paid page within 30 days is free. Get exact location, industry and technology values from prospeo_search_suggestions.
Inputs
filtersobjectrequired- Filter object that selects companies. Keys include company_industry, company_headcount_range, company_location_search, company_technology, company_funding (stage, funding_date, last_funding, total_funding), company_email_provider, company_naics, company_sics, and company (with names or websites, up to 500 combined). Most take include and/or exclude lists. A search must contain at least one positive (non-exclude) filter. Person-level filters and company.company_oids are not accepted here. Example: {"company_industry":{"include":["Software Development"]},"company_headcount_range":["51-100","101-200"],"company_funding":{"stage":["Series A","Series B"]}}.
pageinteger- Results page to return, 25 results per page. Defaults to 1; maximum 1000.
prospeo_search_personSearch Prospeo's database for people that match job, seniority, location and company filters, 25 per page.Read-onlySearch People
Search Prospeo's database for people that match job, seniority, location and company filters, 25 per page. Returns results (person and current company per item, with email and mobile present but not revealed) and pagination with current_page, total_page and total_count. Use to build prospect lists. Pass each person_id to prospeo_enrich_person or prospeo_bulk_enrich_person to reveal email and mobile. Use prospeo_search_company to search companies instead. Costs 1 credit per page that returns at least one person; repeating the same paid page within 30 days is free. Get exact location, job title, industry and technology values from prospeo_search_suggestions.
Inputs
filtersobjectrequired- Filter object that selects people. Keys are filter names such as person_job_title, person_seniority, person_department, person_location_search, person_year_of_experience, person_contact_details, company_industry, company_headcount_range, company_location_search, company_technology, company_funding, and company (with names or websites). Most take include and/or exclude lists, ranges take min and max, and job titles accept match_mode (CONTAINS, EXACT, SIMILAR). A search must contain at least one positive (non-exclude) filter. Location filters need exact values from prospeo_search_suggestions. Example: {"person_job_title":{"include":["Head of Sales"],"match_mode":"CONTAINS"},"person_seniority":{"include":["Director"]},"company_headcount_range":["51-100","101-200"]}.
pageinteger- Results page to return, 25 results per page. Defaults to 1; maximum 1000.
prospeo_search_suggestionsLook up the exact location, job title, technology, industry, NAICS or SIC values that Prospeo search filters accept.Read-onlyGet Search Suggestions
Look up the exact location, job title, technology, industry, NAICS or SIC values that Prospeo search filters accept. Returns a suggestions list for the chosen search_field (for example location_suggestions with name and type, or naics_suggestions with code and label); all other suggestion lists are null. Use before prospeo_search_person or prospeo_search_company, because location and enum filters reject free-text values. Free and does not use credits. Provide exactly one search_field with a query of at least 2 characters; pass returned location names back exactly as returned.
Inputs
querystringrequired- Text to look up, at least 2 characters. For naics_search and sic_search a digits-only query matches the code prefix and text matches the label.
search_fieldstringrequired- Which kind of value to look up. location_search, job_title_search, technology_search, industry_search, naics_search and sic_search are the core lookups; the company_* options return canonical values for the matching company filter.one of
location_searchjob_title_searchtechnology_searchindustry_searchnaics_searchsic_searchcompany_operating_languages_searchcompany_google_discovery_searchcompany_key_customers_searchcompany_integrations_searchcompany_products_services_products_searchcompany_products_services_services_searchcompany_icp_titles_searchcompany_icp_industries_searchcompany_icp_geographic_markets_searchcompany_icp_other_departments_searchcompany_awards_searchcompany_awards_compliance_searchcompany_headcount_by_location_searchcompany_funding_investors_searchcompany_funding_accelerator_searchcompany_website_traffic_countries_search
prospeo_bulk_enrich_companyEnrich up to 50 companies in one request with firmographics, funding, technology and headcount.WriteBulk Enrich Company
Enrich up to 50 companies in one request with firmographics, funding, technology and headcount. Returns matched (identifier, company), not_matched identifiers, invalid_datapoints identifiers and total_cost in credits. Use for batches. Use prospeo_enrich_company for a single company. Each record needs an identifier plus at least one company field; records without one are returned in invalid_datapoints. Costs 1 credit per matched company.
- Idempotent
Inputs
dataarrayrequired- List of up to 50 companies to enrich. Each item needs an identifier plus at least one of company_website, company_linkedin_url, company_name or company_id. Example: [{"identifier":"1","company_website":"intercom.com"},{"identifier":"2","company_linkedin_url":"https://www.linkedin.com/company/deloitte"}].
prospeo_bulk_enrich_personEnrich up to 50 people in one request with verified work emails, optional mobiles and current company details.WriteBulk Enrich Person
Enrich up to 50 people in one request with verified work emails, optional mobiles and current company details. Returns matched (identifier, person, company), not_matched identifiers, invalid_datapoints identifiers and total_cost in credits. Use for batches. Use prospeo_enrich_person for a single person. Each record needs an identifier plus enough matching fields; records without them are returned in invalid_datapoints. The only_verified_email, enrich_mobile and only_verified_mobile flags apply to every record.
- Idempotent
Inputs
dataarrayrequired- List of up to 50 people to enrich. Each item needs an identifier plus enough fields to match: first_name + last_name + a company field, full_name + a company field, linkedin_url, email, or person_id. Example: [{"identifier":"1","full_name":"Eva Kiegler","company_website":"intercom.com"},{"identifier":"2","person_id":"66f745841665155f554e5f12"}].
enrich_mobileboolean- When true, also reveal the person's mobile number if one exists. Costs 10 credits per record with a mobile instead of 1 credit for an email.
only_verified_emailboolean- When true, only return a record if it has a verified email; records without one come back as no match and are not charged.
only_verified_mobileboolean- When true, only return records that have a mobile number. Setting this to true automatically turns on enrich_mobile.
prospeo_enrich_companyEnrich one company with firmographics, funding, technology, headcount, job postings and contact links.WriteEnrich Company
Enrich one company with firmographics, funding, technology, headcount, job postings and contact links. Returns the matched company record (name, website, industry, employee range, revenue range, location, funding, technology), or an error with NO_MATCH when nothing matches. Use for a single company. Use prospeo_bulk_enrich_company for up to 50 companies in one call. Provide at least one of company_website, company_linkedin_url, company_name or company_id. Costs 1 credit per matched company.
- Idempotent
Inputs
company_idstring- company_id from a previously enriched or searched company record.
company_linkedin_urlstring- Public LinkedIn URL of the company.
company_namestring- Name of the company. Many companies share names, so combine with another field.
company_websitestring- Website or domain of the company. Preferred identifier.
prospeo_enrich_personEnrich one person with verified work email, optional mobile number, job history and current company details.WriteEnrich Person
Enrich one person with verified work email, optional mobile number, job history and current company details. Returns the matched person (identity, email, mobile, location, job history, skills) and their current company, or an error with NO_MATCH when nothing matches. Use for a single person. Use prospeo_bulk_enrich_person for up to 50 people in one call, and prospeo_search_person to find people before enriching. Provide one of: first_name + last_name + a company field, full_name + a company field, linkedin_url, email, or person_id. Costs 1 credit per email found and 10 credits when a mobile is found.
- Idempotent
Inputs
company_linkedin_urlstring- Public LinkedIn URL of the person's company.
company_namestring- Name of the person's company. Many companies share names, so prefer company_website when you have it.
company_websitestring- Website or domain of the person's company. Preferred over company_name for accuracy.
emailstring- Work email address of the person. This alone is enough to match.
enrich_mobileboolean- When true, also reveal the person's mobile number if one exists. Costs 10 credits per record with a mobile instead of 1 credit for an email.
first_namestring- First name of the person. Combine with last_name and a company field.
full_namestring- Full name of the person. Combine with a company field when first_name and last_name are not given.
last_namestring- Last name of the person. Combine with first_name and a company field.
linkedin_urlstring- Public LinkedIn profile URL of the person. This alone is enough to match.
only_verified_emailboolean- When true, only return a record if it has a verified email; records without one come back as no match and are not charged.
only_verified_mobileboolean- When true, only return records that have a mobile number. Setting this to true automatically turns on enrich_mobile.
person_idstring- Prospeo person_id returned by prospeo_search_person. This alone is enough to match.
No tools match.