CatchAll

com.newscatcherapiPublished by newscatcherapi.comOfficial publisherv1.6.5Updated Nov 2, 2026

Web search API: find every relevant event across the open web, not just the top results.

Overview

AI-generated overview

Hosted NewsCatcher CatchAll MCP server that lets an assistant run broad web research jobs, pull structured results, and schedule recurring monitors.

What you can do
  • Submit, validate and preview natural-language research queries, then poll job status and pull clustered, validated, enriched results or CSV exports
  • List, continue and delete jobs, and manage source-group domain allowlists
  • Create, update, enable, disable and delete scheduled monitors, and pull their latest results or CSV
  • Register, test, assign and inspect webhooks, including delivery history and manual triggers
  • Manage projects, datasets and entities, including CSV uploads and entity associations
When to use it
Useful when you want an assistant to gather web-wide coverage of a topic or event rather than top search hits, and to keep that research running on a schedule with webhook delivery. Also fits teams that want to scope retrieval to curated domain allowlists or entity datasets.
Requirements
Remote hosted endpoint; no local install needed. Requires a CatchAll API key from the NewsCatcher platform, supplied as the x-api-key header (or api_key parameter, Bearer header, apiKey query parameter, or CATCHALL_API_KEY variable). A paid plan governs limits, monitor frequency and credit usage.
Before you install
The API key is a billable credential; keep it out of shared URLs where possible. Jobs consume credits, and continue_job explicitly processes more records at additional cost. Tools create, update and permanently delete jobs, monitors, webhooks, projects, datasets and entities, and can send result deliveries to external webhook URLs you register.

Installation

In SourceWeft

  1. Open CatchAll in the dashboard and add it to a workspace.
  2. Connect x-api-key credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.newscatcherapi%2Fcatchall/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "catchall": {
      "type": "http",
      "url": "https://catchall-mcp.newscatcherapi.com/mcp",
      "headers": {
        "x-api-key": "<YOUR_API_KEY>"
      }
    }
  }
}

README

Newscatcher CatchAll MCP Server

MCP server for the NewsCatcher CatchAll Web Search API.

Quick Start — Use Our Hosted Server

You don't need to clone or run this repo to use the MCP — NewsCatcher runs a hosted instance:

https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY

Get a CatchAll API key at platform.newscatcherapi.com, then connect:

json
{  "mcpServers": {    "catchall": {      "type": "http",      "url": "https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY"    }  }}

Or via Claude Code CLI:

bash
claude mcp add --transport http catchall "https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY"

Full integration docs: https://www.newscatcherapi.com/docs/web-search-api/integrations/mcp

Prefer to run the server yourself (locally or self-hosted)? See Running below.

Tool To Endpoint Mapping

Jobs

MCP ToolMethodEndpoint
initialize_queryPOST/catchAll/initialize
submit_queryPOST/catchAll/submit
validate_queryPOST/catchAll/validate
continue_jobPOST/catchAll/continue
list_user_jobsGET/catchAll/jobs/user
get_job_statusGET/catchAll/status/{job_id}
pull_resultsGET/catchAll/pull/{job_id}
pull_job_csvGET/catchAll/pull/{job_id}/csv
delete_jobDELETE/catchAll/jobs/{job_id}

Job listing filters: list_user_jobs supports search, ownership, project_id, and mode (base or lite) filters in addition to page/page_size.

Monitors

MCP ToolMethodEndpoint
create_monitorPOST/catchAll/monitors/create
update_monitorPATCH/catchAll/monitors/{monitor_id}
delete_monitorDELETE/catchAll/monitors/{monitor_id}
list_monitorsGET/catchAll/monitors/
list_monitor_jobsGET/catchAll/monitors/{monitor_id}/jobs
get_monitor_statusGET/catchAll/monitors/{monitor_id}/status
pull_monitor_resultsGET/catchAll/monitors/pull/{monitor_id}
pull_monitor_csvGET/catchAll/monitors/pull/{monitor_id}/csv
enable_monitorPOST/catchAll/monitors/{monitor_id}/enable
disable_monitorPOST/catchAll/monitors/{monitor_id}/disable

Webhooks

MCP ToolMethodEndpoint
list_webhooksGET/catchAll/webhooks
create_webhookPOST/catchAll/webhooks
get_webhookGET/catchAll/webhooks/{webhook_id}
update_webhookPATCH/catchAll/webhooks/{webhook_id}
delete_webhookDELETE/catchAll/webhooks/{webhook_id}
test_webhookPOST/catchAll/webhooks/{webhook_id}/test
assign_webhook_resourcePOST/catchAll/webhooks/{webhook_id}/resources
list_webhook_resourcesGET/catchAll/webhooks/{webhook_id}/resources
remove_webhook_resourceDELETE/catchAll/webhooks/{webhook_id}/resources/{resource_type}/{resource_id}
list_resource_webhooksGET/catchAll/resources/{resource_type}/{resource_id}/webhooks
get_webhook_historyGET/catchAll/webhook-history
trigger_webhookPOST/catchAll/webhook/trigger/{resource_type}/{resource_id}

Webhook notes: create_webhook accepts an optional project_id to attach the webhook to a project on creation. list_webhooks also accepts an optional project_id to filter to webhooks belonging to a specific project. get_webhook_history queries in one of two modes — pass resource_type + resource_id for a job/monitor/monitor_group's deliveries, or pass webhook_id for everything delivered through one webhook (exactly one mode per call). Manual test deliveries (test_webhook) only appear in webhook mode and are recorded with resource_type: "test".

Projects

MCP ToolMethodEndpoint
create_projectPOST/catchAll/projects/
list_projectsGET/catchAll/projects/
get_projectGET/catchAll/projects/{project_id}
update_projectPATCH/catchAll/projects/{project_id}
delete_projectDELETE/catchAll/projects/{project_id}
get_project_overviewGET/catchAll/projects/{project_id}/overview
add_project_resourcesPOST/catchAll/projects/{project_id}/resources
list_project_resourcesGET/catchAll/projects/{project_id}/resources
remove_project_resourceDELETE/catchAll/projects/{project_id}/resources/{resource_type}/{resource_id}

Project resources: resource_type is one of job, monitor, dataset, monitor_group, or webhook. A webhook can belong to several projects at once. delete_project with delete_resources=true deletes the contained jobs, monitors, datasets, and monitor groups, but webhooks are only detached — never deleted — and the response's deleted_resources reports them under a webhook_unlinked count.

Datasets

MCP ToolMethodEndpoint
create_datasetPOST/catchAll/datasets/
list_datasetsGET/catchAll/datasets/
get_datasetGET/catchAll/datasets/{dataset_id}
update_datasetPATCH/catchAll/datasets/{dataset_id}
delete_datasetDELETE/catchAll/datasets/{dataset_id}
add_dataset_entitiesPOST/catchAll/datasets/{dataset_id}/entities
remove_dataset_entitiesDELETE/catchAll/datasets/{dataset_id}/entities
list_dataset_entitiesPOST/catchAll/datasets/{dataset_id}/entities/list
get_dataset_statusGET/catchAll/datasets/{dataset_id}/status
create_dataset_from_csvPOST/catchAll/datasets/upload
append_csv_to_datasetPOST/catchAll/datasets/{dataset_id}/upload

CSV uploads (v1.6.1): create_dataset_from_csv and append_csv_to_dataset take the CSV content in the file parameter — raw CSV text or standard base64. They never read a path from the server's filesystem, so they stay safe on a remote/hosted MCP. Inline CSV content is capped at a hard 10 MB (after base64 decoding). create_dataset_from_csv also accepts the new optional project_id field.

Entities

MCP ToolMethodEndpoint
create_entityPOST/catchAll/entities/
list_entitiesGET/catchAll/entities/
create_entities_batchPOST/catchAll/entities/batch
get_entityGET/catchAll/entities/{entity_id}
update_entityPATCH/catchAll/entities/{entity_id}
delete_entityDELETE/catchAll/entities/{entity_id}

external_entity_id (v1.6.3): create_entity and update_entity accept an optional external_entity_id string — a customer-supplied identifier that links the entity to a record in an external system. project_id (v1.8.0): list_entities accepts an optional project_id to filter to entities belonging to a specific project.

Source Groups

MCP ToolMethodEndpoint
list_source_groupsGET/catchAll/source-groups

Source groups (v1.8.0): named, reusable domain allowlists (public groups plus any organization-visibility groups your organization can access). list_source_groups returns each group's slug, name, and description. submit_query accepts an optional source_groups list of slugs (max 20 per job) that scopes fetching to those domain allowlists. The attached groups are echoed back as source_groups in the job status and results.

User & Meta

MCP ToolMethodEndpoint
get_user_limitsPOST/catchAll/user/limits
check_healthGET/health
get_versionGET/version

Authentication

API key precedence (highest to lowest):

  1. api_key tool parameter
  2. x-api-key request header
  3. Authorization: Bearer <key> request header
  4. URL query parameter ?apiKey=...
  5. CATCHALL_API_KEY environment variable

check_health and get_version do not require API key auth.

Hosted deployment (FastMCP Gateway)

When deployed via fastmcp.app, a stateless gateway sits in front of the server. The gateway forwards HTTP headers to the backend but not URL query parameters. Use the x-api-key header or CATCHALL_API_KEY environment variable instead of ?apiKey=.

Claude Code / Cursor:

json
{  "mcpServers": {    "catchall": {      "type": "http",      "url": "https://YOUR-DEPLOYMENT.fastmcp.app/mcp",      "headers": { "x-api-key": "YOUR_API_KEY" }    }  }}

Or via CLI:

bash
claude mcp add --transport http catchall "https://YOUR-DEPLOYMENT.fastmcp.app/mcp" \  --header "x-api-key: YOUR_API_KEY"

Direct server access (no gateway): ?apiKey=YOUR_KEY in the URL still works.

Core Workflow (Jobs)

  1. Optional: call initialize_query to preview validators/enrichments/date window.
  2. initialize_query is preview-only (it does not create a job) and suggestions are non-deterministic.
  3. Submit with submit_query (query required). You can send only query; omitted optional fields are auto-selected/generated.
  4. Optional fields are independent: provide any subset (for example, custom validators only), omitted ones are still auto-generated.
  5. start_date/end_date filter web page discovery dates, not event dates in extracted content.
  6. For event-time accuracy, use event-focused validators/enrichments and verify event_date in pulled results.
  7. Poll get_job_status: first check after ~1-2 minutes, then every 30-60 seconds, stop on completed or failed.
  8. Pull with pull_results; partial data appears during enriching.
  9. Paginate while page < total_pages to retrieve all available records.
  10. Use continue_job only to process more records (cost-affecting). It applies only to jobs originally submitted with limit.
  11. continue_job.new_limit is optional; if omitted, API defaults to your plan maximum.
  12. page/page_size/total_pages represent already-available records; use progress_validated < candidate_records to detect if more records may still appear.

Limit vs Page Size

  • limit (submit_query, continue_job) controls how many records are processed and therefore affects cost. If provided, must be >= 10. Omit to retrieve everything up to your plan's maximum.
  • page_size (pull_results, list_user_jobs) controls pagination only and does not affect processing cost.
  • pull_results.page_size default is 100.
  • page_size range is 1..1000.
  • pull_results response includes error (failed jobs) and limit (applied job limit).

API-Enforced Monitor Constraints

  • create_monitor.backfill=true: reference job end_date must be within the last 7 days.
  • create_monitor.backfill=false: reference job age constraint does not apply.
  • Monitor minimum schedule frequency depends on plan.
  • create_monitor supports optional limit (minimum 10), backfill (default true), timezone, webhook_ids, and project_id.
  • Webhooks are centralized in v1.5.3: register them with create_webhook, then attach by ID via create_monitor.webhook_ids / update_monitor.webhook_ids (no inline webhook config).
  • Monitors are only supported for base jobs (not lite).
  • enable_monitor supports optional backfill.
  • update_monitor updates webhook_ids, run limit, schedule, and/or timezone (pass webhook_ids=[] to clear assignments; timezone is ignored unless schedule is also set).
  • list_monitors supports pagination via page and page_size plus search, ownership, and project_id filters; it returns total, page, page_size, total_pages, monitors.

Enrichment Output Notes

  • enrichment.enrichment_confidence is always present.
  • Company enrichments are structured objects with:
    • source_text
    • confidence
    • metadata.name
    • metadata.domain_url
    • metadata.domain_url_confidence

Error Handling

Tools return:

  • Pretty JSON string on success.
  • (v1.8.0) An MCP tool error (isError=True) for any upstream non-2xx response (bad api_key, invalid/foreign project_id, not-found ids, validation failures, etc.) or unhandled exception. The error message carries the upstream status code and message, for example API Error (401): Api key not found. Before v1.8.0, tools swallowed these failures and returned a plain "Error: ..." string as a successful tool result — clients checking only isError would see a false success. That has been fixed: every tool now raises a ToolError instead of returning an error string, so failures are always reported as real tool errors.

Running

Install dependencies:

bash
pip install -r requirements.txt

Run over stdio:

bash
python server.py

Run over HTTP (if fastmcp CLI is available):

bash
fastmcp run server.py:mcp --transport streamable-http --host 0.0.0.0 --port 8000

Source: README.md at commit e7ea765

Tools

61

submit_query

Submit Query

Create a new CatchAll processing job from a natural-language query. Use when: - You want to start a new CatchAll web research run from a user query. - You want the API to fetch/process sources and then return structured results. Do not use when: - You want status for an existing job (use `get_job_status`). - You want records for an existing job (use `pull_results`). Key rules: - `query` is required. - You can submit with only `query`; omitted optional fields (`validators`, `enrichments`, `start_date`, `end_date`) are auto-selected/generated by the API. - Optional fields are independent: you can pass any subset (for example, custom `validators` but no `enrichments`), and omitted fields are still auto-selected/generated. - When `connected_dataset_ids` is set, the `query` must describe the **topic or event type only** (e.g. "M&A activity", "regulatory filings", "executive changes"). Do NOT write things like "for my companies", "for the selected list of companies", or "news about my watchlist" — the entity filtering is applied automatically by the connected dataset. Mentioning companies in the query when a dataset is attached is redundant and degrades retrieval quality. - When `connected_dataset_ids` is set, entity-relevance validators (e.g. `company_is_primary_subject`) are generated automatically by the API. Do NOT add them manually to `validators` — they are redundant and may conflict with the auto-generated ones. Only pass validators that describe the **event or topic**, not entity filtering. - `start_date` and `end_date` filter by web page discovery date, not event date. - Discovery dates and extracted event dates can differ. For event-time accuracy, use event-focused validators/enrichments and verify `event_date` in pulled results. - `end_date` must be after `start_date`. - Dates outside your plan lookback limits return API 400. - `limit` controls processed record count (cost-affecting). Omit it to retrieve everything up to your plan's maximum.

Parametersmodelimitqueryrequiredschemaapi_keycontextend_dateproject_idstart_datevalidatorsenrichmentswebhook_ids+4 more

initialize_query

Initialize Query

Preview suggested validators, enrichments, and date ranges before submitting. Use when: - You want to inspect/edit auto-generated validators/enrichments before submitting. - You want to preview date adjustments via `date_modification_message`. Do not use when: - You want to start processing immediately with final inputs (use `submit_query`). Key behavior: - Preview-only endpoint: does not create a job and does not start processing. - Suggestions are LLM-generated and not deterministic across calls. - To reuse suggestions, pass them explicitly to `submit_query`.

Parametersqueryrequiredapi_keycontextfetch_all_watchlist_news

get_job_status

Get Job Status

Check the status of a submitted job. Call this after submit_query to see if your job is ready. Status progression: submitted -> analyzing -> fetching -> clustering -> enriching -> completed/failed IMPORTANT: Jobs take several minutes to process. First check after ~1-2 minutes, then poll every 30-60 seconds. Broad searches can take 10-30+ minutes; for long jobs, poll every 60-120 seconds. Do NOT call this tool in a tight loop. Stop polling when status is `completed` or `failed`. Treat `submitted`, `analyzing`, `fetching`, `clustering`, and `enriching` as active states and continue polling. You don't need to wait for completion to pull results. Partial results are available during `enriching` — call pull_results after ~2 minutes, then poll status every 30-60 seconds and pull again for fresher results. Do not stop pulling just because an intermediate pull is empty/unchanged. Use `progress_validated` vs `candidate_records` to track whether more results may still appear (`progress_validated < candidate_records`). If transport/session fails, resume using the same `job_id`.

Parametersjob_idrequiredapi_key

pull_results

Pull Results

Retrieve the results of a job. Can be called before completion for partial results, or after completion for the full set. Returns clustered, validated, and enriched web results. While job status is active, call this repeatedly (typically page=1) to refresh partial output. When job reaches completed, iterate all pages. If job fails, call once more to capture any partial output.

Parameterspagejob_idrequiredapi_keypage_size

pull_job_csv

Pull Job Csv

Download a job's results as a CSV file. Use when: - You want the full job output as a CSV for offline analysis or export. - Prefer this over `pull_results` when the consumer needs spreadsheet/CSV format.

Parametersjob_idrequiredapi_key

continue_job

Continue Job

Expand a job by processing more records beyond the initial limit. This increases the number of records the system processes (which costs additional credits). Only use this when the user wants MORE data processed. This only applies to jobs originally submitted with `limit`. If a job was submitted without `limit`, there is nothing to continue. The new_limit must be greater than the previous limit when provided. If omitted, API defaults to your plan maximum.

Parametersjob_idrequiredapi_keynew_limit

list_user_jobs

List User Jobs

List all jobs submitted by you. Returns your job history with IDs, queries, statuses, and timestamps.

Parametersmodepagesearchapi_keyownershippage_sizeproject_id

delete_job

Delete Job

Permanently delete a job and its results. Use when: - You want to remove a job you no longer need from your account.

Parametersjob_idrequiredapi_key

validate_query

Validate Query

Check the quality of a query before submitting a job ("Check Query Quality"). Use when: - You want quick feedback on whether a query is well-formed for CatchAll before spending credits on a job. - You want concrete suggestions to improve a vague or overly broad query. Do not use when: - You want to preview auto-generated validators/enrichments (use `initialize_query`). - You want to actually run a search (use `submit_query`).

Parametersqueryrequiredapi_key

list_source_groups

List Source Groups

List source groups (named domain allowlists). Use when: - You want to discover reusable, named sets of source domains (public groups plus any organization-visibility groups your organization can access). - You need a group's `slug` to attach to `submit_query` via `source_groups` to scope fetching to that domain allowlist.

Parameterspageapi_keypage_size

create_monitor

Create Monitor

Create a recurring monitor from a completed job. Monitors re-run a job's query on a schedule. Use the explore -> refine -> automate pattern: submit a job, refine until results match, then create a monitor. The schedule is defined in natural language (e.g., 'every day at 9 AM EST'). Always include a timezone (in the schedule text or via the `timezone` arg). API-enforced constraints apply: - If `backfill=true`, reference job end_date must be within the last 7 days - If `backfill=false`, reference job age does not matter - Minimum schedule frequency depends on your plan Webhooks are now centralized: register them with `create_webhook`, then pass their IDs here via `webhook_ids` (there is no inline webhook config anymore).

Parameterslimitapi_keybackfillschedulerequiredtimezoneproject_idwebhook_idsreference_job_idrequired

list_monitors

List Monitors

List all your monitors. Returns all monitors with their schedule, status, reference query, and webhook config.

Parameterspagesearchapi_keyownershippage_sizeproject_id

pull_monitor_results

Pull Monitor Results

Retrieve the latest results from a monitor. Returns the most recent run's results including run_info, records, and all_records.

Parametersapi_keymonitor_idrequired

pull_monitor_csv

Pull Monitor Csv

Download the latest monitor run's results as a CSV file. Use when: - You want the most recent monitor run output as a CSV for offline analysis or export. - Prefer this over `pull_monitor_results` when the consumer needs spreadsheet/CSV format.

Parametersapi_keymonitor_idrequired

list_monitor_jobs

List Monitor Jobs

List all jobs spawned by a monitor. Returns the history of scheduled runs for a monitor.

Parameterssortapi_keymonitor_idrequired

disable_monitor

Disable Monitor

Disable a monitor to stop its scheduled runs. The monitor can be re-enabled later with enable_monitor.

Parametersapi_keymonitor_idrequired

enable_monitor

Enable Monitor

Enable a previously disabled monitor to resume its scheduled runs.

Parametersapi_keybackfillmonitor_idrequired

update_monitor

Update Monitor

Update a monitor's schedule, timezone, webhook assignments, and per-run limit. Note: reference_job_id cannot be modified through this endpoint. Webhooks are centralized — pass webhook IDs (from `create_webhook`/`list_webhooks`).

Parameterslimitapi_keyscheduletimezonemonitor_idrequiredwebhook_ids

delete_monitor

Delete Monitor

Permanently delete a monitor and stop its scheduled runs. Use when: - You want to remove a monitor entirely (use `disable_monitor` to only pause it).

Parametersapi_keymonitor_idrequired

get_monitor_status

Get Monitor Status

Get the status history of a monitor. Use when: - You want to see the timeline of a monitor's state changes (e.g. active, disabled, errored) and any related details.

Parametersapi_keymonitor_idrequired

list_webhooks

List Webhooks

List all your webhooks. Use when: - You want to see all webhook endpoints configured in your account. - You need to find a webhook_id to pass to monitors (via webhook_ids) or jobs.

Parameterspageapi_keypage_sizeproject_id

create_webhook

Create Webhook

Create a new webhook endpoint. Use when: - You want to register a URL to receive job or monitor result deliveries. - You need a webhook_id to attach to a monitor (via webhook_ids) or a job submission. - You want the webhook associated with a project from the start (pass `project_id`).

Parametersurlrequiredauthnamerequiredtypemethodparamsapi_keyheadersproject_iddelivery_modeformatter_config

get_webhook

Get Webhook

Retrieve the full configuration of a specific webhook. Use when: - You want to inspect a webhook's URL, method, headers, or status by its ID.

Parametersapi_keywebhook_idrequired

update_webhook

Update Webhook

Update an existing webhook's configuration. Use when: - You want to change a webhook's URL, method, headers, or other settings. - You want to enable or disable a webhook (set `is_active`). - Only the fields you provide are updated; omitted fields remain unchanged.

Parametersurlauthnametypemethodparamsapi_keyheadersis_activewebhook_idrequireddelivery_modeformatter_config

delete_webhook

Delete Webhook

Permanently delete a webhook endpoint. Use when: - You want to remove a webhook from your account.

Parametersapi_keywebhook_idrequired

test_webhook

Test Webhook

Send a test delivery to a webhook endpoint. Use when: - You want to verify a webhook URL is reachable and correctly configured before attaching it to a monitor or job.

Parametersapi_keypayloadwebhook_idrequired

assign_webhook_resource

Assign Webhook Resource

Map a resource (job, monitor, or monitor_group) to a webhook. Use when: - You want a webhook to fire for a specific job or monitor's deliveries.

Parametersapi_keywebhook_idrequiredresource_idrequiredresource_typerequired

list_webhook_resources

List Webhook Resources

List the resources mapped to a webhook. Use when: - You want to see which jobs/monitors a webhook is attached to.

Parameterspageapi_keypage_sizewebhook_idrequiredresource_type

remove_webhook_resource

Remove Webhook Resource

Unmap a resource from a webhook. Use when: - You want to stop a webhook from firing for a specific job or monitor.

Parametersapi_keywebhook_idrequiredresource_idrequiredresource_typerequired

list_resource_webhooks

List Resource Webhooks

List the webhooks mapped to a specific resource (job/monitor/monitor_group). Use when: - You have a job or monitor ID and want to know which webhooks will fire for it.

Parameterspageapi_keyis_activepage_sizeresource_idrequiredresource_typerequired

get_webhook_history

Get Webhook History

Get webhook delivery history, either for a resource or for a webhook. Query in exactly one of two modes: - By resource: pass `resource_type` + `resource_id` to see deliveries made for a specific job/monitor/monitor_group. - By webhook: pass `webhook_id` to see every delivery made through one webhook — including manual test deliveries (from `test_webhook`), which are not tied to a job or monitor and only appear in this mode.

Parameterspageapi_keypage_sizewebhook_idresource_idresource_type

trigger_webhook

Trigger Webhook

Manually trigger webhook delivery for a resource (job/monitor/monitor_group). Use when: - You want to (re-)send a webhook delivery on demand instead of waiting for the automatic dispatch — e.g. to replay a missed or failed delivery.

Parametersjob_idapi_keywebhook_idrequiredresource_idrequiredresource_typerequired

create_dataset

Create Dataset

Create a new dataset. Datasets are collections of entities (companies/people). Connect a dataset to a job via `submit_query(connected_dataset_ids=[...])` to narrow retrieval scope.

Parametersnamerequiredapi_keyentity_idsproject_iddescription

list_datasets

List Datasets

List your datasets.

Parameterspagesearchapi_keysort_byownershippage_sizeproject_idsort_orderlatest_status

get_dataset

Get Dataset

Get a single dataset's details.

Parametersapi_keydataset_idrequired

update_dataset

Update Dataset

Update a dataset's name and/or description.

Parametersnameapi_keydataset_idrequireddescription

delete_dataset

Delete Dataset

Permanently delete a dataset. The entities the dataset referenced are not deleted; only the dataset and its entity associations are removed.

Parametersapi_keydataset_idrequired

add_dataset_entities

Add Dataset Entities

Add existing entities to a dataset.

Parametersapi_keydataset_idrequiredentity_idsrequired

remove_dataset_entities

Remove Dataset Entities

Remove entities from a dataset (the entities themselves are not deleted).

Parametersapi_keydataset_idrequiredentity_idsrequired

list_dataset_entities

List Dataset Entities

List the entities contained in a dataset.

Parameterspagesearchstatusapi_keysort_bypage_sizedataset_idrequiredsort_orderentity_type

get_dataset_status

Get Dataset Status

Get the status history of a dataset (e.g. its enrichment progress over time).

Parametersapi_keydataset_idrequired

create_dataset_from_csv

Create Dataset From Csv

Create a new dataset by uploading a CSV file. The CSV must have at least a `name` column. For meaningful entity enrichment each row should also include a `domain` column or a `description` column (or both) — a row with only a name is accepted but produces lower-quality enrichment. Additional columns are mapped to entity attributes. Max file size is plan-dependent. To add CSV rows to an existing dataset, use `append_csv_to_dataset` instead.

Parametersfilerequirednamerequiredapi_keyproject_iddescription

append_csv_to_dataset

Append Csv To Dataset

Append entities from a CSV file to an existing dataset. Parses the CSV and appends its entities to the dataset. Each row must have a `name` column; include a `domain` or `description` column (or both) for meaningful enrichment. Duplicate rows (by name) are skipped. To create a new dataset from a CSV, use `create_dataset_from_csv` instead.

Parametersfilerequiredapi_keydataset_idrequired

create_entity

Create Entity

Create a single entity (a company or person). ``name`` is required plus at least one identifying field: either ``description`` or ``additional_attributes.company_attributes.domain``.

Parametersnamerequiredapi_keydescriptionentity_typeexternal_entity_idadditional_attributes

list_entities

List Entities

List your entities.

Parameterspagesearchstatusapi_keysort_bypage_sizeproject_idsort_orderentity_type

create_entities_batch

Create Entities Batch

Create multiple entities in one call.

Parametersapi_keyentitiesrequired

get_entity

Get Entity

Get a single entity's details.

Parametersapi_keyentity_idrequired

update_entity

Update Entity

Update an entity's name, description, external_entity_id, and/or attributes.

Parametersnameapi_keyentity_idrequireddescriptionexternal_entity_idadditional_attributes

delete_entity

Delete Entity

Permanently delete an entity.

Parametersapi_keyentity_idrequired

create_project

Create Project

Create a new project. Projects group related resources (jobs, monitors, datasets, monitor_groups) so you can organize work and filter listings by `project_id`.

Parametersnamerequiredapi_keydescription

list_projects

List Projects

List your projects.

Parameterspagesearchapi_keyownershippage_size

get_project

Get Project

Get a single project's details.

Parametersapi_keyproject_idrequired

update_project

Update Project

Update a project's name and/or description. Only the fields you provide are changed.

Parametersnameapi_keyproject_idrequireddescription

delete_project

Delete Project

Delete a project. By default the project's resources (jobs, monitors, etc.) are detached but kept. Set `delete_resources=true` to also delete the contained jobs, monitors, datasets, and monitor groups. Webhooks are the exception: they are never deleted by this operation — an attached webhook is only detached from the project and keeps working (it may belong to other projects or resources independently of this one).

Parametersapi_keyproject_idrequireddelete_resources

get_project_overview

Get Project Overview

Get a project's resource overview (counts grouped by resource type and status).

Parametersapi_keyproject_idrequired

add_project_resources

Add Project Resources

Add one or more resources to a project. Webhooks are first-class project resources: a webhook can belong to several projects at the same time, and deleting a project only detaches its webhooks — it never deletes them.

Parametersapi_keyresourcesrequiredproject_idrequired

list_project_resources

List Project Resources

List the resources contained in a project.

Parameterspageapi_keypage_sizeproject_idrequiredresource_type

remove_project_resource

Remove Project Resource

Remove a single resource from a project. This detaches the resource from the project without deleting the resource itself (e.g. removing a webhook only ends its membership in this project; the webhook keeps existing and stays attached to any other projects).

Parametersapi_keyproject_idrequiredresource_idrequiredresource_typerequired

get_user_limits

Get User Limits

Retrieve plan features and current usage limits for your API key. Use when: - You want to know how many records/jobs/monitors your plan allows. - You want to check current usage against plan limits before running a large job.

Parametersapi_key

check_health

Check Health

Check API health status. This tool maps to GET /health and does not require an API key.

Parametersapi_key

get_version

Get Version

Get current API version. This tool maps to GET /version and does not require an API key.

Parametersapi_key

Version history

1
  1. v1.6.5LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts