Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Icypeas

Scalekit connector
Open markdown

The Icypeas connector lets your AI agent act in each user's Icypeas account. Each user connects their own Icypeas API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 23 tools.

Tools
23
What they doRead · write · destructive
19 · 4 · 019 read4 write0 destructive
Users sign in with

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. 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>
  3. Create the Icypeas connection

    In AgentKit > Connections, create an Icypeas connection. The name you give it is the connection_name your code passes. See Configure connections.

  4. 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.actions
    const connector = 'icypeas'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Icypeas:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'icypeas_list_bulk_search_files',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their Icypeas credentials there. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • icypeas_count_companiesCount the companies in the Icypeas company database that match a filter query, without returning them.Read-only

    Count Companies

    Count the companies in the Icypeas company database that match a filter query, without returning them. Returns success and the number of matching companies. Use this to size a query before icypeas_find_companies. It is free; rate limit is 10 calls per second.

    Inputs

    queryobjectrequired
    The search query as an object mapping filter names to conditions. Text filters take an object with include and/or exclude arrays (up to 200 values each), and numeric filters take comparison operators such as >, <, >=, <=. Available filters: name, lid (LinkedIn public id), urn, companyId, domain, type, industry, location, keyword, headcount, revenue and headcountGrowth (an object with min, max and a timespan of 6months, 12months or 24months). Example: {"industry": {"include": ["Real Estate"]}, "location": {"include": ["FR"]}, "headcount": {">": 10}}.
  • icypeas_count_peopleCount the people in the Icypeas lead database that match a filter query, without returning them.Read-only

    Count People

    Count the people in the Icypeas lead database that match a filter query, without returning them. Returns success and the number of matching people. Use this to size a query before icypeas_find_people. It is free; rate limit is 10 calls per second.

    Inputs

    queryobjectrequired
    The search query as an object mapping filter names to conditions. Text filters take an object with include and/or exclude arrays (up to 200 values each), and numeric filters take comparison operators such as >, <, >=, <=. Person filters: firstname, lastname, currentJobTitle, pastJobTitle, school, languages, skills, location, profileLocation, workLocation, keyword, totalYearsOfExperience, timeInCurrentCompany. Company filters come in current and past forms: currentCompanyName, currentCompanyId, currentCompanyWebsite, currentCompanyUrn, currentCompany.type, currentCompany.industry, currentCompany.location, currentCompany.headcount, currentCompany.headcountGrowth, currentCompany.revenue, currentCompany.keyword, and the same with a pastCompany prefix. Example: {"currentJobTitle": {"include": ["CTO"]}, "location": {"include": ["US"]}, "currentCompany.headcount": {">": 10}}.
  • icypeas_find_companiesSearch the Icypeas company database for companies matching a filter query.Read-only

    Find Companies

    Search the Icypeas company database for companies matching a filter query. Returns success, a total count, a leads array of matching companies (name, website, industry, headcount and similar) and a pagination object with a token when more pages exist. Use icypeas_count_companies first to size a query for free, then this tool to fetch results. Use icypeas_find_people to search people instead. Costs 0.02 credit per result returned; rate limit is 30 calls per second.

    Inputs

    queryobjectrequired
    The search query as an object mapping filter names to conditions. Text filters take an object with include and/or exclude arrays (up to 200 values each), and numeric filters take comparison operators such as >, <, >=, <=. Available filters: name, lid (LinkedIn public id), urn, companyId, domain, type, industry, location, keyword, headcount, revenue and headcountGrowth (an object with min, max and a timespan of 6months, 12months or 24months). Example: {"industry": {"include": ["Real Estate"]}, "location": {"include": ["FR"]}, "headcount": {">": 10}}.
    page_sizeinteger
    Number of companies to return per page, from 1 to 200. Defaults to 100.
    pagination_tokenstring
    Pagination token from the pagination object of the previous response. Pass it together with the same query and page size to fetch the next page. Tokens expire.
  • icypeas_find_company_urlFind the LinkedIn company URL of one company from its name or domain.Read-only

    Find Company URL

    Find the LinkedIn company URL of one company from its name or domain. Returns success and the company URL when one is found. Use this to discover a company URL, then icypeas_scrape_company to read it. Use icypeas_find_company_urls_bulk for up to 50 companies. Costs 1 credit per URL found; rate limit is 20 calls per second.

    Inputs

    company_or_domainstringrequired
    Company name, or its domain or website.
  • icypeas_find_company_urls_bulkFind LinkedIn company URLs for up to 50 companies in one request.Read-only

    Find Company URLs (Bulk)

    Find LinkedIn company URLs for up to 50 companies in one request. Returns success and the outcome of the batch for the submitted companies. Use this for several companies at once; use icypeas_find_company_url for one. Costs 1 credit per URL found; rate limit is 20 calls per second.

    Inputs

    companiesarrayrequired
    Array of companies to find. Each item is an object with companyOrDomain set to a company name or domain, for example {"companyOrDomain": "nec technologies"}. Maximum 50 items.
  • icypeas_find_peopleSearch the Icypeas lead database for people matching a filter query.Read-only

    Find People

    Search the Icypeas lead database for people matching a filter query. Returns success, a total count, a leads array of matching people and a pagination object with a token when more pages exist. Use icypeas_count_people first to size a query for free, then this tool to fetch results. Use icypeas_find_companies to search companies instead. Costs 0.02 credit per result returned; rate limit is 30 calls per second.

    Inputs

    queryobjectrequired
    The search query as an object mapping filter names to conditions. Text filters take an object with include and/or exclude arrays (up to 200 values each), and numeric filters take comparison operators such as >, <, >=, <=. Person filters: firstname, lastname, currentJobTitle, pastJobTitle, school, languages, skills, location, profileLocation, workLocation, keyword, totalYearsOfExperience, timeInCurrentCompany. Company filters come in current and past forms: currentCompanyName, currentCompanyId, currentCompanyWebsite, currentCompanyUrn, currentCompany.type, currentCompany.industry, currentCompany.location, currentCompany.headcount, currentCompany.headcountGrowth, currentCompany.revenue, currentCompany.keyword, and the same with a pastCompany prefix. Example: {"currentJobTitle": {"include": ["CTO"]}, "location": {"include": ["US"]}, "currentCompany.headcount": {">": 10}}.
    page_sizeinteger
    Number of people to return per page, from 1 to 200. Defaults to 100.
    pagination_tokenstring
    Pagination token from the pagination object of the previous response. Pass it together with the same query and page size to fetch the next page. Tokens expire.
  • icypeas_find_profile_urlFind the LinkedIn profile URL of one person from a name plus a company or a job title.Read-only

    Find Profile URL

    Find the LinkedIn profile URL of one person from a name plus a company or a job title. Returns success and the profile URL when one is found. Use this to discover a profile URL, then icypeas_scrape_profile to read it. Use icypeas_find_profile_urls_bulk for up to 50 people. Costs 1 credit per URL found; rate limit is 20 calls per second. Provide company_or_domain or job_title in addition to the name.

    Inputs

    firstnamestringrequired
    First name of the person to find.
    lastnamestringrequired
    Last name of the person to find.
    company_or_domainstring
    Company name or company domain or website of the person. Required unless job_title is given.
    job_titlestring
    Job title of the person. Required unless company_or_domain is given.
  • icypeas_find_profile_urls_bulkFind LinkedIn profile URLs for up to 50 people in one request.Read-only

    Find Profile URLs (Bulk)

    Find LinkedIn profile URLs for up to 50 people in one request. Returns success and the outcome of the batch for the submitted people. Use this for several people at once; use icypeas_find_profile_url for one. Costs 1 credit per URL found; rate limit is 20 calls per second.

    Inputs

    peoplearrayrequired
    Array of people to find. Each item is an object with firstname and lastname plus companyOrDomain or jobTitle, for example {"firstname": "Marc", "lastname": "Lachabody", "companyOrDomain": "nec technologies"}. Maximum 50 items.