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.
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
Your user grants Leadfeeder access once (OAuth) — the token lands in the vault.
- 2
Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.
- 3
Every routed call appends a hash-chained audit record — nothing leaves your infra.
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
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.