Companies — Enrich

Bulk enrich companies

POST/companies/bulk-enrich
from $0.02/calljson responserest · mcp
01// about this endpoint

Enrich up to 100 companies in one call. Each record runs the same field-aware waterfall as `/companies/enrich`, with a per-record budget cap via `max_cost_cents_per_record`.

02// code samples

Call it over REST

Authenticate with a bearer token against https://api.superagnt.com. Swap the placeholders for your key and parameter values.

curlbash
curl -s -X POST "https://api.superagnt.com/companies/bulk-enrich" \
  -H "Authorization: Bearer <YOUR_AGNTDATA_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{ "inputs": [] }'
03// give it to your agent

Copy-paste prompt

Paste this into a coding agent. It connects the superagnt MCP server, finds the tool data_agnt_companies_bulk_enrich, and runs a first call — with the REST fallback if MCP is unavailable.

agent prompttext
You are wiring up the superagnt "Lead APIs" API to use this endpoint: Bulk enrich companies.

1. CONNECT over MCP (preferred). No token to paste either way.
   On Claude (claude.ai, the desktop app, or Claude Code signed in with a Claude
   account), the server is a connector: give the user this link, they click Add
   and approve:
     https://claude.ai/customize/connectors/yours?modal=add-custom-connector&connectorName=superagnt&connectorUrl=https%3A%2F%2Fmcp.superagnt.com%2Fmcp&open_in_browser=1
   Any other MCP client (or Claude Code signed in with an API key): add the server
   and let the client run the browser sign-in:
     claude mcp add --scope user --transport http superagnt https://mcp.superagnt.com/mcp
     claude mcp login superagnt
   MCP endpoint: https://mcp.superagnt.com/mcp
   After connecting, the tool you want is named exactly:
     data_agnt_companies_bulk_enrich
   Call agnt_tools_search or agnt_tools_list_enabled to confirm it is available.

2. REST fallback (if you are not using MCP):
     POST https://api.superagnt.com/companies/bulk-enrich
     Header: Authorization: Bearer <YOUR_AGNTDATA_API_KEY>
   Required parameters:
    - inputs (array, required)
   Optional parameters:
    - fields (array, optional) — Fields to fill. The waterfall stops calling providers once all of them are filled. Omit for the core set: name, domain, description, industry, employee_count_range, hq_location, linkedin_url. Every other field (employee_count, founded_year, twitter_url, technologies, funding, competitors) is looked up only when named here.
    - max_cost_cents_per_record (number, optional)

3. COST & KEY. This endpoint is metered — pricing varies by request, from $0.02 per call. Only successful calls are charged.
   Get a superagnt API key at https://app.superagnt.com.

4. TEST. Connect the server (or set the key), discover the tool
   (data_agnt_companies_bulk_enrich), run one minimal call with just the required parameters,
   and report back the shape of the JSON response (top-level fields).

Reference (machine-readable variant): https://www.superagnt.com/docs/apis/lead/agnt/endpoints/companies_bulk_enrich.md
mcp tool definitionjson
{
  "name": "companies_bulk_enrich",
  "description": "Enrich up to 100 companies in one call. Each input must include at least one of: `domain`, `name` (or `company_name`), `linkedin_url` (top-level on the input object — NOT nested under `identifiers` like the single-record endpoint). `domain` is the strongest signal. Each input runs the same field-aware waterfall as `/companies/enrich`. Use `max_cost_cents_per_record` to cap per-record spend.",
  "parameters": {
    "type": "object",
    "properties": {
      "inputs": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "identifier": {
              "type": "string",
              "minLength": 1,
              "description": "Optional caller-supplied label echoed back in the response — use it to align results to your input rows."
            },
            "domain": {
              "type": "string",
              "minLength": 1,
              "description": "Company root domain (e.g. \"tesla.com\"). Strongest signal."
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "description": "Company name. Use when domain is unknown."
            },
            "company_name": {
              "type": "string",
              "minLength": 1,
              "description": "Alias of `name`."
            },
            "linkedin_url": {
              "type": "string",
              "format": "uri",
              "description": "Full company LinkedIn URL."
            }
          },
          "additionalProperties": false,
          "description": "Each input must include AT LEAST ONE of `domain`, `name`/`company_name`, or `linkedin_url` — top-level on the input object (NOT nested under `identifiers`, which differs from `/companies/enrich`)."
        },
        "minItems": 1,
        "maxItems": 100
      },
      "fields": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "name",
            "domain",
            "description",
            "industry",
            "employee_count_range",
            "employee_count",
            "hq_location",
            "founded_year",
            "linkedin_url",
            "twitter_url",
            "technologies",
            "funding",
            "competitors"
          ]
        },
        "description": "Fields to fill. The waterfall stops calling providers once all of them are filled. Omit for the core set: name, domain, description, industry, employee_count_range, hq_location, linkedin_url. Every other field (employee_count, founded_year, twitter_url, technologies, funding, competitors) is looked up only when named here."
      },
      "max_cost_cents_per_record": {
        "type": "number",
        "minimum": 0
      }
    },
    "required": [
      "inputs"
    ]
  }
}
04// parameters
NameInTypeRequiredDescription
inputsbodyarrayrequired
fieldsbodyarrayoptionalFields to fill. The waterfall stops calling providers once all of them are filled. Omit for the core set: name, domain, description, industry, employee_count_range, hq_location, linkedin_url. Every other field (employee_count, founded_year, twitter_url, technologies, funding, competitors) is looked up only when named here.
max_cost_cents_per_recordbodynumberoptional
05// responses

Bulk enrichment results.

200json
{
  "type": "object",
  "required": [
    "success",
    "data"
  ],
  "properties": {
    "success": {
      "type": "boolean",
      "enum": [
        true
      ]
    },
    "data": {
      "$ref": "#/components/schemas/CompaniesBulkEnrichResponse"
    },
    "meta": {
      "$ref": "#/components/schemas/AgntMeta"
    }
  }
}
06// pricing
from $0.02per successful request

Metered endpoint — the exact cost depends on the request. Credits are deducted per successful call; failed requests (4xx/5xx) are not charged.

Get started at app.superagnt.com.

08// more from Lead APIs

start calling

Point your client at https://mcp.superagnt.com/mcp and your agent has this endpoint, plus every other source on one balance.

Start free→
bulk company enrichment APIbatch firmographic enrichmentlead enrichment APIemail finder APIemail verifier API