Skip to main content

Overview

Everything you need to start making API calls — endpoint, request structure, authentication, and available tools.

Updated this week

MoltSets is a go-to-market enrichment API for AI agents. Every tool call that returns data costs tokens (see get_billing for per-tool costs). Tools that return no data are not charged. The free tools get_account, get_billing, and get_usage never cost tokens.

All MoltSets tools are called through a single JSON-RPC 2.0 endpoint.

Endpoint

All tools share a single HTTP endpoint:

POST https://app.moltsets.com/mcp/

Singular requests

Singular request structure

Every request follows the JSON-RPC 2.0 envelope. The tool you want to call is specified in params.name, and its arguments go in params.arguments.

{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "<tool_name>",
"arguments": {
// tool-specific arguments
}
}
}

Singular response structure

All successful responses return HTTP 200 with this shape:

{
"jsonrpc": "2.0",
"id": null,
"result": {
"content": [
{
"type": "text",
"text": "{\"linkedin_slug\":\"john-smith-123\",\"_metadata\":{\"credits_charged\":1,\"credits_remaining\":225}}"
}
],
"isError": false
}
}

Batch requests

Most tools that accept a single identifier also accept a plural array parameter. Pass multiple values in one call instead of looping over individual requests — the parameter name is always the singular form with an s or es appended.

Maximum batch size is 100 items per request. Batch calls consume one token per item — a batch of 10 costs the same as 10 individual calls.

Results are returned in the same order as the input array, each including the input value it corresponds to so partial failures are easy to reconcile.

Singular value

Batch value

email

emails

fingerprint

fingerprints

ip_address

ip_addresses

linkedin_url

linkedin_urls

linkedin_slug

linkedin_slugs

md5

md5s

Batch request structure

{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "<tool_name>",
"arguments": {
{ "md5s": ["5d41402abc4b2a76b9719d91101XXXXX", "7b774effe4a349c6dd82ad4f4f2XXXXX"] }
}
}
}

Batch response structure

{
"jsonrpc": "2.0",
"id": null,
"result": {
"content": [
{
"type": "text",
"text": "{\"results\":[{\"input\":\"5d41402abc4b2a76b9719d91101XXXXX\",\"data\":{\"linkedin_slug\":null},\"status\":\"not_found\"},{\"input\":\"7b774effe4a349c6dd82ad4f4f2XXXXX\",\"data\":{\"linkedin_slug\":null},\"status\":\"not_found\"}],\"metadata\":{\"total_requested\":2,\"total_processed\":2,\"total_with_data\":0,\"total_without_data\":2,\"total_errored\":0,\"credits_charged\":0,\"credits_remaining\":226}}"
}
],
"isError": false
}
}

Authentication

Pass your API key as a Bearer token in the Authorization header on every request.

Authorization: Bearer YOUR_API_KEY

You can find your API key in the MoltSets dashboard.

Available tools

Category

Tools

Account

get_account, get_billing, get_usage

Enrichment

enrich_email, enrich_personal_email, enrich_phone

HEM Resolution

business_email_to_personal_hem, hem_to_email, hem_to_linkedin, hem_to_best_linkedin, hem_to_business_profile, hem_to_maid

LinkedIn

linkedin_slug_search, linkedin_to_personal_email, linkedin_to_best_personal_email, linkedin_to_hashed_emails, linkedin_to_mobile_phone, linkedin_to_business_profile

IP Resolution

ip_to_hem, ip_to_maid, ip_to_company

Batch support

Most tools accept a plural parameter (e.g. linkedin_slugs, md5s, ip_addresses) for batch lookups of up to 100 items per request. Batch calls are more efficient than sequential single calls. If the account runs out of tokens mid-batch, excess results are dropped and the response includes an error block with code "insufficient_credits" alongside partial results.

Did this answer your question?