Leadfeeder integrationLeadfeeder logo

Leadfeeder integration for AI agents.

Leadfeeder integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Leadfeeder tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.

What your agents can do

Real Leadfeeder actions, managed and audited.

Your user connects Leadfeeder once; your agent can then use the Leadfeeder API to manage accounts, companies, contacts, lists, campaigns, tags, web visits, and enrichment jobs — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.

  1. 1

    Your user grants Leadfeeder access once (OAuth) — the token lands in the vault.

  2. 2

    Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.

  3. 3

    Every routed call appends a hash-chained audit record — nothing leaves your infra.

Tools & triggers

Supported Leadfeeder tools.

58 tools are generated from the published Leadfeeder catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.

Showing 58 tools. All published catalog entries are included in this page's server-rendered HTML.

Add Company to Lists
Allows the addition of this company to one or more lists. Since lists are a separate entity, the IDs that you must pass in this endpoint come from the **Retrieve Lists** and **Get List Details** endpoints. Credit Note: Adding a company to lists does not consume credits. :::info Requires the `companies:write` OAuth2 scope. :::
Companiesv1
Add Contact to Lists
Allows the addition of this contact to one or more lists. Since lists are a separate entity, the IDs that you must pass in this endpoint come from the **Retrieve Lists** and **Get List Details** endpoints. Credit Note: Adding a contact to lists does not consume credits. :::info Requires the `contacts:write` OAuth2 scope. :::
Contactsv1
Assign Tags to Company
Allows the assignment of one or more tags to a given company. Since tags are a separate entity, the IDs that you must pass in this endpoint come from the **Retrieve Tags** and **Get Tag Details** endpoints. Credit Note: Assigning tags to a company does not consume credits. :::info Requires the `companies:write` OAuth2 scope. :::
Companiesv1
Create Company Enrichment Job
Trigger an asynchronous job to enrich companies with AI-generated custom field values. The custom field must exist and be of an AI type (`ai_score`, `ai_text`, `ai_number`, `ai_boolean`). Create custom fields via the Custom Fields API first. The job runs in the background; poll the status endpoint to check progress. A maximum of 50,000 companies are enriched per job, whether targeted via `company_ids` or `list_id`; companies beyond this limit are not processed. Split larger selections across multiple jobs. Credit Note: Credits are consumed as companies are enriched. :::info Requires the `companies:read` OAuth2 scope. :::
CompaniesEnrichmentv1
Create Custom Field
Create a new custom field in the account. :::info Requires the `custom_fields:write` OAuth2 scope. :::
Custom Fieldsv1
Create Find Contact Data Job
Trigger an asynchronous job to enrich the given contacts with email and phone data. Accepts either explicit `contact_ids` or a `list_id` to target an entire list. The job runs in the background; poll the status endpoint to check progress. Credit Note: Credits are consumed as contacts are enriched. :::info Requires the `contacts:read` OAuth2 scope. :::
ContactsEnrichmentv1
Create a List
Create a new list in the account. :::info Requires the `lists:write` OAuth2 scope. :::
Listsv1
Create Tag
Create a new tag with the provided attributes. This endpoint allows clients to define a new tag that can be assigned to companies. The response returns the full tag object, including its generated identifier and timestamps. Credit Note: Creating tags doe not consume credits. :::info Requires the `tags:write` OAuth2 scope. :::
Tagsv1
Create a Custom Feed
Create a new custom feed for the given account. :::info Requires the `web_visits:write` OAuth2 scope. :::
Web Visitsv1
Delete Custom Field
Delete a custom field from the account. Once removed, the custom field will no longer be accessible. Credit Note: Deleting custom fields does not consume credits. :::info Requires the `custom_fields:write` OAuth2 scope. :::
Custom Fieldsv1
Delete List
Delete a list from the account. Once removed, the list will no longer be accessible. Credit Note: Deleting list does not consume credits. :::info Requires the `lists:write` OAuth2 scope. :::
Listsv1
Delete Tag
Delete a specific tag identified by its ID Removes the tag from the account and unassigns it from all associated companies. Once deleted, the tag cannot be recovered. Credit Note: Deleting tags does not consume credits. :::info Requires the `tags:write` OAuth2 scope. :::
Tagsv1
Delete a Custom Feed
Delete a custom feed by its ID. :::info Requires the `web_visits:write` OAuth2 scope. :::
Web Visitsv1
Enrich Company IP Address
Enriches an input IP (IPv4/IPv6) with matching company information (if any). **Note:** - This endpoint requires an active subscription to the IP Enrich product. - A request will only be counted as a successful match when the `company_type` attribute is set to `company`. :::info Requires the `ip:read` OAuth2 scope. :::
IPv1
Estimate Company Enrichment Job
Estimate the credit cost for enriching companies with AI-generated custom field values. Target the estimate with a specific `list_id`, flat `company_ids`, or a pre-computed `company_count`. Credit Note: This endpoint does not consume credits. :::info Requires the `companies:read` OAuth2 scope. :::
CompaniesEnrichmentv1
Estimate Find Contact Data Job
Estimate the credit cost for enriching contacts with email and phone data. Accepts either explicit `contact_ids` or a `list_id` to target an entire list. Returns the number of eligible contacts and the estimated total credits that would be consumed. Credit Note: This endpoint does not consume credits. :::info Requires the `contacts:read` OAuth2 scope. :::
ContactsEnrichmentv1
List Accounts
Retrieves a list of Leadfeeder accounts associated with this API key. When listing all accounts, only the account names are returned. Detailed credit information is accessible only when querying a specific account. :::info Requires the `accounts:read` OAuth2 scope. :::
Accountv1
Get Buyer Persona Details
Get the details of a specific buyer persona by ID, including its name, creation timestamp, and the full set of filter criteria that define it. Credit Note: Retrieving a buyer persona definition does not consume credits. :::info Requires the `buyer_personas:read` OAuth2 scope. :::
Buyer Personasv1
Retrieve Buyer Personas
Retrieve all buyer personas defined in the account. Each buyer persona is a saved set of contact-level filter criteria (department, job title, location, seniority) used to identify target contacts. Credit Note: Retrieving buyer persona definitions does not consume credits. :::info Requires the `buyer_personas:read` OAuth2 scope. :::
Buyer Personasv1
Get Campaign Details
Fetch detailed information about a specific campaign using its campaign ID. Use the include parameter to attach related campaign data, campaign settings, list, or custom feed information to the result. :::info Requires the `campaigns:read` OAuth2 scope. :::
Campaignsv1
Retrieve Campaign Stats
Retrieve statistics for a specific campaign over a defined time period. Use frequency, start_period, and end_period to control how the campaign performance data is grouped and returned. :::info Requires the `campaigns:read` OAuth2 scope. :::
Campaignsv1
Retrieve Campaigns
Retrieve the list of all campaigns available in the account. Use pagination to control the number of campaigns returned, and include related campaign data, campaign settings, list, or custom feed information when needed. :::info Requires the `campaigns:read` OAuth2 scope. :::
Campaignsv1
Retrieve Companies
Retrieve the list of companies based on provided IDs. Credit Note: Each company will contain it's full deep data and it will consumes 1 credit, unless the company was already accessed within the last 12 months. :::info Requires the `companies:read` OAuth2 scope. :::
Companiesv1
Get Company Details
Fetch detailed information about a specific company, including firmographics and hierarchy information based on the provided Leadfeeder company_id. Credit Note: Accessing full deep data consumes 1 credit, unless the company was already accessed within the last 12 months. :::info Requires the `companies:read` OAuth2 scope. :::
Companiesv1
Get Company Enrichment Job Status
Retrieve the current status of a Company AI Enrichment job. Returns progress counters, credit consumption, and any errors. Jobs are retained for 7 days after completion. Credit Note: This endpoint does not consume credits. :::info Requires the `companies:read` OAuth2 scope. :::
CompaniesEnrichmentv1
Company Financial Reports
Returns all financial reports for a given company. Credit Note: Accessing financial data consumes 1 credit per company only if financial data is available and there was no active deep data access within the last 12 months. Once charged, no additional credits are consumed for accessing the same company’s financial data again within that 12-month period. :::info Requires the `companies:read` OAuth2 scope. :::
Companiesv1
Retrieve Company IPs
Fetch known IP addresses associated with a given set of companies, enabling identification of web traffic and network activity linked to those organizations based on the provided company IDs. Credit Note: Retrieving IP address data consumes 1 credit per company, unless the company's IP data was already accessed within the last 12 months. :::info Requires the `companies:read` OAuth2 scope. :::
Companiesv1
Get Contact Details
Get the details of a contact by ID. Credit Note: Accessing full deep data consumes 1 credit, unless the contact was already accessed within the last 12 months. :::info Requires the `contacts:read` OAuth2 scope. :::
Contactsv1
Retrieve Contacts
Retrieve a list of contacts based on the provided IDs. Credit Note: Each contact will contain its full deep data and it will consume 1 credit, unless the contact has already been accessed within the last 12 months. :::info Requires the `contacts:read` OAuth2 scope. :::
Contactsv1
Get Current User
Retrieves the identity of the current API user - a "whoami" endpoint. Unlike most endpoints, this one does not require the `account_id` query parameter — the user's identity is independent of the account they are currently working on.
Usersv1
Get Custom Field Details
Fetch the details of a specific custom field using its internal name. The response returns the field's attributes. Credit Note: Retrieving custom field definitions does not consume credits. :::info Requires the `custom_fields:read` OAuth2 scope. :::
Custom Fieldsv1
Retrieve Custom Fields
Retrieve the list of all custom field definitions available in the account. The response includes each field's attributes. Credit Note: Retrieving custom field definitions does not consume credits. :::info Requires the `custom_fields:read` OAuth2 scope. :::
Custom Fieldsv1
Get Find Contact Data Job Status
Retrieve the current status of a Find Contact Data job. Returns progress counters, credit consumption, and any errors. Jobs are retained for 7 days after completion. Credit Note: This endpoint does not consume credits. :::info Requires the `contacts:read` OAuth2 scope. :::
ContactsEnrichmentv1
Get Ideal Customer Profile Details
Get the details of a specific Ideal Customer Profile (ICP) by ID, including its name, creation timestamp, and the full set of filter criteria that define it. Credit Note: Retrieving an ICP definition does not consume credits. :::info Requires the `icps:read` OAuth2 scope. :::
Ideal Customer Profilesv1
Retrieve Ideal Customer Profiles
Retrieve all Ideal Customer Profiles (ICPs) defined in the account. Each ICP is a saved set of company-level filter criteria (employee count, industry, location) used to identify target companies. Credit Note: Retrieving ICP definitions does not consume credits. :::info Requires the `icps:read` OAuth2 scope. :::
Ideal Customer Profilesv1
Get List Details
Retrieve the details of a specific list using its unique ID. The response includes the list's attributes, such as its name and scope, along with any related information requested through query parameters. This endpoint is used to fetch the full definition of a list before viewing, updating, or managing its assigned items. Credit Note: Retrieving list definitions does not consume credits. :::info Requires the `lists:read` OAuth2 scope. :::
Listsv1
Retrieve Lists
Retrieve all lists available in the account. The response includes each list's attributes and can be filtered through query parameters. Credit Note: Retrieving list definitions does not consume credits. :::info Requires the `lists:read` OAuth2 scope. :::
Listsv1
Get Tag Details
Fetch the details of a specific tag using its unique tag ID. Returns the tag’s attributes, including its name, color, and timestamps indicating when it was created and last updated. Credit Note: Retrieving tag data does not consume credits. :::info Requires the `tags:read` OAuth2 scope. :::
Tagsv1
Retrieve Tags
Retrieve the list of all tags available in the account. The response contains all tag definitions, including their identifiers, display names, and colors, which can be used to classify or filter companies within the platform. Credit Note: Retrieving tag data does not consume credits. :::info Requires the `tags:read` OAuth2 scope. :::
Tagsv1
Retrieve Visitor Companies
Retrieve a paginated list of companies that visited your website within a given date range. Each item includes references to the company and its inferred geographic location. :::info Requires the `web_visits:read` OAuth2 scope. :::
Web Visitsv1
Get Custom Feed Details
Retrieve a single custom feed by its ID. :::info Requires the `web_visits:read` OAuth2 scope. :::
Web Visitsv1
Retrieve Custom Feeds Folders
Retrieve all custom feed folders accessible to the current user for the given account. :::info Requires the `web_visits:read` OAuth2 scope. :::
Web Visitsv1
Retrieve Custom Feeds
Retrieve all custom feeds accessible to the current user for the given account. :::info Requires the `web_visits:read` OAuth2 scope. :::
Web Visitsv1
Retrieve Web Visits Tracker Script
Retrieve the tracking script for the given account. The response includes the script hash and a ready-to-use HTML snippet to embed on your website to enable visitor tracking. :::info Requires the `web_visits:read` OAuth2 scope. :::
Web Visitsv1
Match Companies
Find matching companies based on the provided input parameters. Returns matching company IDs and basic company information. **Important:** Each company object must include at least one of these required fields: `company_name`, `url`, `vat_id`, or `register_id`. Additional fields like email, phone, and address can improve match accuracy but cannot be used alone. Credit Note: Matches do not consume credits. Credits are only used if you subsequently retrieve deep data for a company you haven't accessed within the last 12 months. :::info Requires the `companies:read` OAuth2 scope. :::
Companiesv1
Remove Company from Lists
Allows the removal of this company from one or more lists. Credit Note: Removing a company from lists does not consume credits. :::info Requires the `companies:write` OAuth2 scope. :::
Companiesv1
Remove Contact from Lists
Allows the removal of this contact from one or more lists. Credit Note: Removing a contact from lists does not consume credits. :::info Requires the `contacts:write` OAuth2 scope. :::
Contactsv1
Search Companies
Perform search queries using criteria like name, location, industry, size or filters like `has_phone`. Returns matching company IDs and basic company information. Credit Note: Searches do not consume credits. Credits are only used if you subsequently retrieve deep data for a company not accessed within the last 12 months. :::info Requires the `companies:read` OAuth2 scope. :::
Companiesv1
Search Company Signals
Retrieve signals for a specified set of company IDs. The response returns the signals linked to the provided companies. Credit Node: You are charged 1 credit per company if the company has signals and there was no active deep data access within the last 12 months. The number of signals returned does not affect credit usage — no additional credits are charged per signal. :::info Requires the `companies:read` OAuth2 scope. :::
Companiesv1
Search Contacts
Search for contacts based on the provided search parameters and returns contact summary objects. Credit Note: Searches do not consume credits. Credits are only used if you subsequently retrieve deep data for a contact that has not been accessed within the last 12 months. :::info Requires the `contacts:read` OAuth2 scope. :::
Contactsv1
Search Web Visits
Search for web visits within a date range. Returns a paginated list of visit records including engagement data, visitor information, and location. :::info Requires the `web_visits:read` OAuth2 scope. :::
Web Visitsv1
Unassign Tags from Company
Allows the unassignment of one or more tags from a given company. Credit Note: Unassigning tags from a company does not consume credits. :::info Requires the `companies:write` OAuth2 scope. :::
Companiesv1
Update Campaign
Update a specific campaign using its campaign ID. Supports changes to campaign attributes such as name, budget, status, associated list or custom feed, and campaign settings. :::info Requires the `campaigns:write` OAuth2 scope. :::
Campaignsv1
Update Custom Field
Update an existing custom field's name and/or configuration. At least one of `name` or `configuration` must be provided. If `name` is present, it must not be blank. The `configuration` attribute is only meaningful for prompt-capable field types (`ai_score`, `ai_text`, `ai_number`, `ai_boolean`, `contact_collection`); it is silently ignored for simple types (`text`, `number`, `boolean`, `date`). Credit Note: Updating custom fields does not consume credits. :::info Requires the `custom_fields:write` OAuth2 scope. :::
Custom Fieldsv1
Update List
Update the name of a list. Credit Note: Updating list name does not consume credits. :::info Requires the `lists:write` OAuth2 scope. :::
Listsv1
Update Tag
Update the attributes of a specific tag identified by its ID. This endpoint applies a partial update to a single tag. Only the fields provided in the request body will be modified; all other fields remain unchanged. Credit Note: Updating tags does not consume credits. :::info Requires the `tags:write` OAuth2 scope. :::
Tagsv1
Update Custom Feed
Update an existing custom feed. All attributes are optional; only provided attributes will be updated. :::info Requires the `web_visits:write` OAuth2 scope. :::
Web Visitsv1
Get Endpoints Usage
Access usage statistics for various API endpoints for monitoring and auditing purposes. Returns usage data for all endpoints accessible by the requesting account within the specified date range. :::info Requires the `usage:read` OAuth2 scope. :::
Usagev1
FAQ

Leadfeeder integration, answered

How do AI agents use Leadfeeder through Open Connector?
Your user connects Leadfeeder once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Leadfeeder tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
Is this a Leadfeeder MCP server?
Yes. Open Connector can serve Leadfeeder as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Leadfeeder actions with credentials injected server-side.
Where do Leadfeeder credentials live?
In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.

Give your agents Leadfeeder — keep the keys.

Open source, self-hostable, with Leadfeeder credentials that never leave your infrastructure. Run it from source today.