Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Apollo (API Key)

Scalekit connector
Open markdown

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

Tools
80
What they doRead · write · destructive
44 · 34 · 244 read34 write2 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 Apollo (API Key) connection

    In AgentKit > Connections, create an Apollo (API Key) 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 = 'apolloapikey'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Apollo (API Key):', 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: 'apolloapikey_get_current_user',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their Apollo 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
  • apolloapikey_bulk_enrich_organizationsEnrich data for up to 10 companies in a single API call, matching each by domain, LinkedIn URL, name, and/or website.Read-only

    Bulk Organization Enrichment

    Enrich data for up to 10 companies in a single API call, matching each by domain, LinkedIn URL, name, and/or website. Returns industry, revenue, employee counts, funding, and corporate contact details. Consumes 1 Apollo credit per organization matched; 0 credits if no match is found. Rate limited to 20/min, 100/hour, 600/day.

    Inputs

    detailsarray
    Info for each company to enrich, one object per company (up to 10 companies per request)
    domainsarray
    Domains of the companies to enrich, matched by domain only
  • apolloapikey_bulk_enrich_peopleEnrich data for up to 10 people in a single API call by matching on name, email, employer, LinkedIn URL, or Apollo person ID.Read-only

    Bulk People Enrichment

    Enrich data for up to 10 people in a single API call by matching on name, email, employer, LinkedIn URL, or Apollo person ID. Optionally reveal personal emails and phone numbers (phone reveal requires a webhook_url; results are delivered asynchronously). Consumes 1-9 Apollo credits per person depending on what is matched; 0 credits if no match is found.

    Inputs

    detailsarrayrequired
    Info for each person to enrich, one object per person (up to 10 people per request)
    reveal_personal_emailsboolean
    Attempt to reveal personal email addresses for all matched people
    reveal_phone_numberboolean
    Attempt to reveal phone numbers, including mobile, for all matched people
    run_waterfall_emailboolean
    Enable waterfall enrichment for email using connected third-party data sources
    run_waterfall_phoneboolean
    Enable waterfall enrichment for phone using connected third-party data sources
    webhook_urlstring
    HTTPS URL Apollo should deliver asynchronous phone or waterfall enrichment results to
  • apolloapikey_check_email_send_statusCheck the current delivery status of an Apollo email message, typically after calling Send Email Now since emails are sent asynchronously.Read-only

    Check Email Send Status

    Check the current delivery status of an Apollo email message, typically after calling Send Email Now since emails are sent asynchronously. Returns the message id, current status, and a human-readable message; for completed sends this includes a completed_at timestamp, for failed sends a failure reason, and for in-progress sends a retry_after_seconds value.

    Inputs

    emailer_message_idstringrequired
    The Apollo ID of the email message to check
  • apolloapikey_enrich_accountEnrich a company/account record with Apollo firmographic data using the company's website domain or name.Read-only

    Enrich Account

    Enrich a company/account record with Apollo firmographic data using the company's website domain or name. Returns verified employee count, revenue estimates, industry, tech stack, funding rounds, and social profiles. Consumes Apollo credits per match.

    Inputs

    domainstring
    Website domain of the company to enrich (e.g., acmecorp.com)
    namestring
    Company name to enrich (used if domain is not available)
  • apolloapikey_enrich_contactEnrich a contact using Apollo's people matching engine.Read-only

    Enrich Contact

    Enrich a contact using Apollo's people matching engine. Provide an email address or name + company to retrieve a verified contact profile. Revealing personal emails or phone numbers consumes additional Apollo credits per successful match.

    Inputs

    emailstring
    Work email address of the contact to enrich
    first_namestring
    First name of the contact to enrich
    last_namestring
    Last name of the contact to enrich
    linkedin_urlstring
    LinkedIn profile URL for precise matching
    organization_namestring
    Company name to assist in matching
    reveal_personal_emailsboolean
    Attempt to reveal personal email addresses (consumes extra Apollo credits)
    reveal_phone_numberboolean
    Attempt to reveal direct phone numbers (consumes extra Apollo credits)
  • apolloapikey_get_accountRetrieve the full profile of a company account from Apollo by its ID.Read-only

    Get Account

    Retrieve the full profile of a company account from Apollo by its ID. Returns detailed firmographic data including employee count, revenue estimates, industry, tech stack, funding information, and social profiles.

    Inputs

    account_idstringrequired
    The Apollo account (organization) ID to retrieve
  • apolloapikey_get_api_usageRetrieve your team's Apollo API usage and rate limits.Read-only

    Get API Usage Stats

    Retrieve your team's Apollo API usage and rate limits. Returns, per endpoint, the requests consumed and the per-minute, per-hour, and per-day rate limits allowed under your Apollo plan. Takes no parameters.

    Inputs

    This tool takes no inputs.

  • apolloapikey_get_contactRetrieve the full profile of a contact from Apollo by their ID.Read-only

    Get Contact

    Retrieve the full profile of a contact from Apollo by their ID. Returns detailed professional information including email, phone, LinkedIn URL, employment history, education, and social profiles.

    Inputs

    contact_idstringrequired
    The Apollo contact ID to retrieve