# ColdIQ API > Unified HTTP API for B2B data — enrichment, search, verification, ads, signals and outreach — behind one ColdIQ API key and one credit balance. - Base URL: https://api.coldiq.com - Auth: `Authorization: Bearer ` on every request. - API keys: https://coldiq.com/marketplace/settings/api-keys - Content type: `application/json`. Always send an identifying `User-Agent`; some default client agents are blocked at the edge and receive a bare `403`. - Rate limits: 120 requests/minute, 3000 requests/hour per API key. Over the limit: `429` with `retry_after_seconds`. - Billing: every call costs credits. `402` means the workspace is out of credits. ## Machine-readable sources - OpenAPI 3 spec (always current): https://coldiq.com/marketplace/docs/openapi.json - This index: https://coldiq.com/marketplace/docs/llms.txt - Every endpoint in full: https://coldiq.com/marketplace/docs/llms-full.txt - One endpoint in full: https://coldiq.com/marketplace/docs/endpoint?method=&path=&format=markdown|openapi|curl|schema # Full endpoint reference # Provider: GTM Verbs # Find Email — `POST /v1/email/find` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/email/find` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find a person's professional email from name + company/domain, or a LinkedIn URL. BATCH UP TO 50 RECORDS PER REQUEST by sending `inputs: [...]` instead of `input: {...}` — the batch counts as ONE request against your rate limit, so batching is how you run a list without being throttled; never loop single calls over a list. Runs a managed provider waterfall by default; pin a provider with `provider`. Charged only on a found, valid email. Opt-in `resolve_current_employer: true`: on a miss with a linkedin_url, enrich the person to resolve their CURRENT employer's domain (stale or acquired input domains otherwise return nothing) and retry once — the enrich hop costs ~1 extra credit and is disclosed in `_meta.employer_resolution`. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.id` | string | no | Your correlation id for a bulk row. Not sent to providers; `results[]` stays index-aligned with `inputs[]`. | | `input.first_name` | string | no | First name of the person. | | `input.last_name` | string | no | Last name of the person. | | `input.full_name` | string | no | Full name — alternative to first_name + last_name. Passed as-is to providers that accept a full name; never split automatically. | | `input.domain` | string | no | Company domain, e.g. "coldiq.com". | | `input.company_name` | string | no | Company name — alternative to domain. | | `input.linkedin_url` | string | no | LinkedIn profile URL — alternative to name + domain. | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].id` | string | no | Your correlation id for a bulk row. Not sent to providers; `results[]` stays index-aligned with `inputs[]`. | | `inputs[].first_name` | string | no | First name of the person. | | `inputs[].last_name` | string | no | Last name of the person. | | `inputs[].full_name` | string | no | Full name — alternative to first_name + last_name. Passed as-is to providers that accept a full name; never split automatically. | | `inputs[].domain` | string | no | Company domain, e.g. "coldiq.com". | | `inputs[].company_name` | string | no | Company name — alternative to domain. | | `inputs[].linkedin_url` | string | no | LinkedIn profile URL — alternative to name + domain. | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "findymail", "prospeo", "leadmagic", "limadata-work-email", "apollo-people-match", "wiza". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | | `resolve_current_employer` | boolean | no | On a miss with a linkedin_url: enrich the person to resolve their CURRENT employer's domain and retry the waterfall once with it — recovers stale/acquired input domains (extra ~1 credit for the enrich hop, disclosed in `_meta.employer_resolution`). Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/email/find" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"first_name":"Michel","last_name":"Lieben","domain":"coldiq.com"}}' ``` Request body: ```json { "input": { "first_name": "Michel", "last_name": "Lieben", "domain": "coldiq.com" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Find Email — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/email/find # Verify Email — `POST /v1/email/verify` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/email/verify` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Check whether an email is deliverable, risky, catch-all, or invalid. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.email` | string | yes | The email address to verify. | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].email` | string | yes | The email address to verify. | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "bounceban", "leadmagic", "findymail", "instantly", "linkupapi-validate". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/email/verify" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"email":"michel@coldiq.com"}}' ``` Request body: ```json { "input": { "email": "michel@coldiq.com" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Verify Email — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/email/verify # Find Phone — `POST /v1/phone/find` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/phone/find` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find a mobile / direct-dial number from a LinkedIn URL, or name + company/domain. Managed waterfall by default. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.id` | string | no | Your correlation id for a bulk row. Not sent to providers; `results[]` stays index-aligned with `inputs[]`. | | `input.first_name` | string | no | First name of the person. | | `input.last_name` | string | no | Last name of the person. | | `input.full_name` | string | no | Full name — alternative to first_name + last_name. Passed as-is to providers that accept a full name; never split automatically. | | `input.domain` | string | no | Company domain, e.g. "coldiq.com". | | `input.company_name` | string | no | Company name — alternative to domain. | | `input.linkedin_url` | string | no | LinkedIn profile URL — alternative to name + domain. | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].id` | string | no | Your correlation id for a bulk row. Not sent to providers; `results[]` stays index-aligned with `inputs[]`. | | `inputs[].first_name` | string | no | First name of the person. | | `inputs[].last_name` | string | no | Last name of the person. | | `inputs[].full_name` | string | no | Full name — alternative to first_name + last_name. Passed as-is to providers that accept a full name; never split automatically. | | `inputs[].domain` | string | no | Company domain, e.g. "coldiq.com". | | `inputs[].company_name` | string | no | Company name — alternative to domain. | | `inputs[].linkedin_url` | string | no | LinkedIn profile URL — alternative to name + domain. | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "prospeo", "ai-ark", "leadmagic", "limadata". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/phone/find" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"linkedin_url":"https://www.linkedin.com/in/michel-lieben"}}' ``` Request body: ```json { "input": { "linkedin_url": "https://www.linkedin.com/in/michel-lieben" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Find Phone — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/phone/find # Enrich Person — `POST /v1/person/enrich` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/person/enrich` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Attach a full profile (title, company, location, contact fields) from an email, LinkedIn URL, or name + company. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.email` | string | no | Work email — strongest identifier. | | `input.linkedin_url` | string | no | LinkedIn profile URL. | | `input.first_name` | string | no | | | `input.last_name` | string | no | | | `input.full_name` | string | no | Full name — alternative to first_name + last_name where the provider accepts it. | | `input.company_name` | string | no | | | `input.domain` | string | no | | | `input.phone` | string | no | Phone number for reverse phone lookup. | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].email` | string | no | Work email — strongest identifier. | | `inputs[].linkedin_url` | string | no | LinkedIn profile URL. | | `inputs[].first_name` | string | no | | | `inputs[].last_name` | string | no | | | `inputs[].full_name` | string | no | Full name — alternative to first_name + last_name where the provider accepts it. | | `inputs[].company_name` | string | no | | | `inputs[].domain` | string | no | | | `inputs[].phone` | string | no | Phone number for reverse phone lookup. | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "harvestapi", "limadata-person", "prospeo-enrich-person", "leadmagic-profile-search", "findymail-business-profile", "linkupapi-profile-enrich", "ai-ark-reverse-lookup", "apollo-people-match", "leadmagic-b2b-profile". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/person/enrich" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"linkedin_url":"https://www.linkedin.com/in/michel-lieben"}}' ``` Request body: ```json { "input": { "linkedin_url": "https://www.linkedin.com/in/michel-lieben" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Enrich Person — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/person/enrich # Enrich Company — `POST /v1/company/enrich` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/company/enrich` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Attach firmographics (headcount, revenue, industry, funding, tech stack) from a domain, name, or LinkedIn URL. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.domain` | string | no | Company domain, e.g. "coldiq.com". | | `input.name` | string | no | Company name, e.g. "ColdIQ" — alternative to domain. | | `input.company_name` | string | no | Alias for `name` (accepted for compatibility). | | `input.linkedin_url` | string | no | Company LinkedIn URL — alternative to domain. | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].domain` | string | no | Company domain, e.g. "coldiq.com". | | `inputs[].name` | string | no | Company name, e.g. "ColdIQ" — alternative to domain. | | `inputs[].company_name` | string | no | Alias for `name` (accepted for compatibility). | | `inputs[].linkedin_url` | string | no | Company LinkedIn URL — alternative to domain. | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "limadata", "apollo", "prospeo", "openmart", "findymail", "icypeas", "discolike", "fullenrich-company", "leadmagic-company", "wiza", "builtwith", "linkupapi-by-url". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/company/enrich" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"domain":"coldiq.com"}}' ``` Request body: ```json { "input": { "domain": "coldiq.com" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Enrich Company — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/company/enrich # Find People — `POST /v1/people/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/people/search` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find decision-makers at companies by title, seniority, department, domain, or LinkedIn company URL. Compact by default; set fields="verbose" for the raw provider payload. Apollo results are obfuscated unless reveal=true (extra credit per person). ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.job_titles` | array | no | Job titles, for example "VP Engineering". Pass the title family the user named; do not add variants before the first call. | | `input.title_mode` | string (enum) | no | Match mode for job_titles. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. Use STRICT for an exact role title. (one of: SMART, WORD, STRICT; default "SMART") | | `input.title_scope` | string (enum) | no | Which position the title must match: latest (default), any current position, or a previous position. (one of: latest, current, previous; default "latest") | | `input.exclude_job_titles` | array | no | Titles that disqualify a person, for example "Assistant" or "Intern". | | `input.seniorities` | array | no | Seniority levels: founder, owner, partner, c_suite, vp, director, head, manager, senior, mid-level, entry, intern. | | `input.exclude_seniorities` | array | no | Seniority levels to leave out. | | `input.departments` | array | no | AI Ark department or function tokens, for example "design" or "software_development". | | `input.skills` | array | no | Listed skills, for example "Figma". | | `input.keywords` | array | no | Phrases about the person profile, not the current company. | | `input.keyword_mode` | string (enum) | no | Match mode for keywords. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "SMART") | | `input.keyword_sources` | array | no | Profile fields to search, at most five: HEADLINE, SUMMARY, SKILL, CERTIFICATION, COURSE, PROJECTS, PUBLICATION, PATENT, AWARD, ORGANIZATION, VOLUNTEERING, TEST_SCORE, WORK_HISTORY_DESCRIPTION, EDUCATION_DESCRIPTION, LANGUAGE_SKILL. Default HEADLINE and SUMMARY. | | `input.exclude_keywords` | array | no | Profile phrases that disqualify a person. | | `input.locations` | array | no | Person locations as ISO-2 codes or free text, for example "FR" or "Paris". | | `input.exclude_locations` | array | no | Person locations to leave out. | | `input.exclude_list_ids` | array | no | AI Ark exclusion list ids from POST /ai-ark/lists; their person ids are never returned or billed. | | `input.company_ids` | array | no | AI Ark company ids from a company search, matched on the current company. Reuse them instead of resolving the same companies again. | | `input.company_keywords` | array | no | Phrases about the current company product or business, for example "fintech". | | `input.company_keyword_match` | string (enum) | no | Current company: any: one phrase is enough (OR). all: every phrase must match (AND). (one of: any, all; default "any") | | `input.company_keyword_mode` | string (enum) | no | Current company: match mode for keywords. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. Use WORD for specific product phrases; SMART returns large unrelated service firms first. (one of: SMART, WORD, STRICT; default "SMART") | | `input.company_keyword_sources` | array | no | Current company: company text fields to search: NAME, KEYWORD (tags), SEO (site meta), DESCRIPTION, INDUSTRY. Default NAME, KEYWORD, DESCRIPTION, SEO. Prefer DESCRIPTION and SEO for product phrases. | | `input.company_exclude_keywords` | array | no | Current company: phrases that disqualify a company when found in the same sources, for example "consulting" or "agency". | | `input.company_products_services` | array | no | Current company: product or service names from public positioning data, for example "AI presentation software". An alternative discovery method to keywords; results still need product evidence. | | `input.company_exclude_products_services` | array | no | Current company: products or services that disqualify a company. | | `input.company_products_services_mode` | string (enum) | no | Current company: match mode for products_services. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "SMART") | | `input.company_industries` | array | no | Current-company industry labels. Never added automatically. | | `input.company_industries_mode` | string (enum) | no | Current company: match mode for industries. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "WORD") | | `input.company_exclude_industries` | array | no | Current company: industry labels that disqualify a company. | | `input.company_technologies` | array | no | Technology-stack tags the current company USES. Only when the user asks for a technology in use. | | `input.company_technologies_mode` | string (enum) | no | Current company: match mode for technologies. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "WORD") | | `input.company_exclude_technologies` | array | no | Current company: technology tags that disqualify a company. | | `input.company_types` | array | no | Current company: legal structure, for example PRIVATELY_HELD or PUBLIC_COMPANY. | | `input.company_naics_codes` | array | no | Current company: nAICS industry codes as strings, for example "541511". | | `input.company_domains` | array | no | Current-company domains. | | `input.company_linkedin_urls` | array | no | Current-company LinkedIn URLs. | | `input.company_exclude_domains` | array | no | Current company: company domains to leave out. | | `input.company_countries` | array | no | Current-company ISO-2 country codes, separate from the person location. | | `input.company_locations` | array | no | Current-company office locations, separate from the person location. | | `input.company_exclude_countries` | array | no | Current company: iSO-2 country codes to leave out. | | `input.company_exclude_locations` | array | no | Current company: free-text locations to leave out. | | `input.company_min_employees` | integer | no | Minimum current-company headcount. (min 0) | | `input.company_max_employees` | integer | no | Maximum current-company headcount. (min 0) | | `input.company_min_founded_year` | integer | no | Current company: earliest founding year. (min 1800; max 2200) | | `input.company_max_founded_year` | integer | no | Current company: latest founding year. (min 1800; max 2200) | | `input.company_min_revenue` | number | no | Current company: minimum estimated annual revenue in USD. (min 0) | | `input.company_max_revenue` | number | no | Current company: maximum estimated annual revenue in USD. (min 0) | | `input.company_funding_stages` | array | no | Current company: funding stages, for example "seed" or "series_a"; normalized to the AI Ark funding taxonomy. | | `input.company_min_funding_amount` | number | no | Current company: minimum total funding raised in USD. (min 0) | | `input.company_max_funding_amount` | number | no | Current company: maximum total funding raised in USD. (min 0) | | `input.company_min_funding_year` | integer | no | Current company: earliest year of the last funding round. (min 1800; max 2200) | | `input.company_max_funding_year` | integer | no | Current company: latest year of the last funding round. (min 1800; max 2200) | | `input.company_min_workforce_growth_pct` | number | no | Current company: minimum company headcount growth in percent over workforce_growth_months (default 12). One of the strongest intent signals AI Ark documents. | | `input.company_workforce_growth_months` | integer | no | Current company: time frame for min_workforce_growth_pct: 1, 3, 6, 12, or 24 months. Default 12. | | `input.company_names` | array | no | Current company: company names to match, for example "Recraft". | | `input.company_names_mode` | string (enum) | no | Current company: match mode for company_names. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "SMART") | | `input.company_urls` | array | no | Current company: tolerant company identifiers: a domain, a www host, a full URL, or a LinkedIn company URL. | | `input.company_social_media_links` | array | no | Current company: full company social profile URLs, for example a Facebook or X page. | | `input.company_phone_numbers` | array | no | Current company: company phone numbers in E.164 form, for example "+18885335659". | | `input.company_social_media` | array | no | Current company: networks the company must have a presence on: FACEBOOK, INSTAGRAM, TWITTER, LINKEDIN. | | `input.company_min_retail_locations` | integer | no | Current company: minimum number of physical locations worldwide. (min 0) | | `input.company_max_retail_locations` | integer | no | Current company: maximum number of physical locations worldwide. (min 0) | | `input.company_languages` | array | no | Current company: operating languages in lowercase English names, for example "french". | | `input.company_exclude_languages` | array | no | Current company: operating languages to leave out. | | `input.company_min_languages` | integer | no | Current company: minimum number of operating languages. (min 0) | | `input.company_max_languages` | integer | no | Current company: maximum number of operating languages. (min 0) | | `input.company_geo_latitude` | number | no | Current company: latitude of the search center; needs geo_longitude and geo_radius. | | `input.company_geo_longitude` | number | no | Current company: longitude of the search center; needs geo_latitude and geo_radius. | | `input.company_geo_radius` | number | no | Current company: radius around the search center; needs geo_latitude and geo_longitude. (min 0) | | `input.company_geo_radius_unit` | string (enum) | no | Current company: unit of geo_radius: km (default) or mi. (one of: km, mi; default "km") | | `input.company_department_headcount_functions` | array | no | Current company: departments whose headcount min_/max_department_headcount bounds, for example engineering or sales. | | `input.company_min_department_headcount` | integer | no | Current company: minimum headcount in department_headcount_functions. (min 0) | | `input.company_max_department_headcount` | integer | no | Current company: maximum headcount in department_headcount_functions. (min 0) | | `input.company_workforce_growth_departments` | array | no | Current company: departments whose growth min_workforce_growth_pct measures. Empty means the whole company. | | `input.max_per_company` | integer | no | Keep at most this many people per company. AI Ark bills every returned row before the cap runs. (min 1) | | `input.full_names` | array | no | Person names to match, for example "Michel Lieben". | | `input.full_names_mode` | string (enum) | no | Match mode for full_names. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "SMART") | | `input.social_media_links` | array | no | Full personal social profile URLs. | | `input.social_media` | array | no | Networks the person must have a profile on: FACEBOOK, INSTAGRAM, TWITTER, LINKEDIN. | | `input.certifications` | array | no | Certifications, for example "Scrum Master Certification (CSM)". | | `input.languages` | array | no | Spoken languages in lowercase English names, for example "english". | | `input.min_language_proficiency` | integer | no | Minimum proficiency (1-5) for languages. (min 1; max 5) | | `input.max_language_proficiency` | integer | no | Maximum proficiency (1-5) for languages. (min 1; max 5) | | `input.school_ids` | array | no | AI Ark school ids from a person record education entry. | | `input.degrees` | array | no | Degree names, for example "MBA". | | `input.fields_of_study` | array | no | Fields of study, for example "computer science". | | `input.min_graduation_year` | integer | no | Earliest graduation year. (min 1900; max 2200) | | `input.max_graduation_year` | integer | no | Latest graduation year. (min 1900; max 2200) | | `input.profile_badges` | array | no | LinkedIn badges the profile must carry: VERIFIED, or HIRING for an active hiring manager. | | `input.min_linkedin_followers` | integer | no | Minimum LinkedIn followers. (min 0) | | `input.max_linkedin_followers` | integer | no | Maximum LinkedIn followers. (min 0) | | `input.min_linkedin_connections` | integer | no | Minimum LinkedIn connections. (min 0) | | `input.max_linkedin_connections` | integer | no | Maximum LinkedIn connections. (min 0) | | `input.min_months_in_role` | integer | no | Minimum months in the current job. (min 0) | | `input.max_months_in_role` | integer | no | Maximum months in the current job; 6 or less is a new-in-role signal. (min 0) | | `input.min_months_at_company` | integer | no | Minimum months at the current company. (min 0) | | `input.max_months_at_company` | integer | no | Maximum months at the current company. (min 0) | | `input.min_years_experience` | integer | no | Minimum total years of experience. (min 0) | | `input.max_years_experience` | integer | no | Maximum total years of experience. (min 0) | | `input.limit` | number | no | (min 1; max 500; default 25) | | `input.page` | integer | no | Zero-based provider page. Keep limit constant across pages of one search. (min 0) | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].job_titles` | array | no | Job titles, for example "VP Engineering". Pass the title family the user named; do not add variants before the first call. | | `inputs[].title_mode` | string (enum) | no | Match mode for job_titles. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. Use STRICT for an exact role title. (one of: SMART, WORD, STRICT; default "SMART") | | `inputs[].title_scope` | string (enum) | no | Which position the title must match: latest (default), any current position, or a previous position. (one of: latest, current, previous; default "latest") | | `inputs[].exclude_job_titles` | array | no | Titles that disqualify a person, for example "Assistant" or "Intern". | | `inputs[].seniorities` | array | no | Seniority levels: founder, owner, partner, c_suite, vp, director, head, manager, senior, mid-level, entry, intern. | | `inputs[].exclude_seniorities` | array | no | Seniority levels to leave out. | | `inputs[].departments` | array | no | AI Ark department or function tokens, for example "design" or "software_development". | | `inputs[].skills` | array | no | Listed skills, for example "Figma". | | `inputs[].keywords` | array | no | Phrases about the person profile, not the current company. | | `inputs[].keyword_mode` | string (enum) | no | Match mode for keywords. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "SMART") | | `inputs[].keyword_sources` | array | no | Profile fields to search, at most five: HEADLINE, SUMMARY, SKILL, CERTIFICATION, COURSE, PROJECTS, PUBLICATION, PATENT, AWARD, ORGANIZATION, VOLUNTEERING, TEST_SCORE, WORK_HISTORY_DESCRIPTION, EDUCATION_DESCRIPTION, LANGUAGE_SKILL. Default HEADLINE and SUMMARY. | | `inputs[].exclude_keywords` | array | no | Profile phrases that disqualify a person. | | `inputs[].locations` | array | no | Person locations as ISO-2 codes or free text, for example "FR" or "Paris". | | `inputs[].exclude_locations` | array | no | Person locations to leave out. | | `inputs[].exclude_list_ids` | array | no | AI Ark exclusion list ids from POST /ai-ark/lists; their person ids are never returned or billed. | | `inputs[].company_ids` | array | no | AI Ark company ids from a company search, matched on the current company. Reuse them instead of resolving the same companies again. | | `inputs[].company_keywords` | array | no | Phrases about the current company product or business, for example "fintech". | | `inputs[].company_keyword_match` | string (enum) | no | Current company: any: one phrase is enough (OR). all: every phrase must match (AND). (one of: any, all; default "any") | | `inputs[].company_keyword_mode` | string (enum) | no | Current company: match mode for keywords. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. Use WORD for specific product phrases; SMART returns large unrelated service firms first. (one of: SMART, WORD, STRICT; default "SMART") | | `inputs[].company_keyword_sources` | array | no | Current company: company text fields to search: NAME, KEYWORD (tags), SEO (site meta), DESCRIPTION, INDUSTRY. Default NAME, KEYWORD, DESCRIPTION, SEO. Prefer DESCRIPTION and SEO for product phrases. | | `inputs[].company_exclude_keywords` | array | no | Current company: phrases that disqualify a company when found in the same sources, for example "consulting" or "agency". | | `inputs[].company_products_services` | array | no | Current company: product or service names from public positioning data, for example "AI presentation software". An alternative discovery method to keywords; results still need product evidence. | | `inputs[].company_exclude_products_services` | array | no | Current company: products or services that disqualify a company. | | `inputs[].company_products_services_mode` | string (enum) | no | Current company: match mode for products_services. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "SMART") | | `inputs[].company_industries` | array | no | Current-company industry labels. Never added automatically. | | `inputs[].company_industries_mode` | string (enum) | no | Current company: match mode for industries. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "WORD") | | `inputs[].company_exclude_industries` | array | no | Current company: industry labels that disqualify a company. | | `inputs[].company_technologies` | array | no | Technology-stack tags the current company USES. Only when the user asks for a technology in use. | | `inputs[].company_technologies_mode` | string (enum) | no | Current company: match mode for technologies. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "WORD") | | `inputs[].company_exclude_technologies` | array | no | Current company: technology tags that disqualify a company. | | `inputs[].company_types` | array | no | Current company: legal structure, for example PRIVATELY_HELD or PUBLIC_COMPANY. | | `inputs[].company_naics_codes` | array | no | Current company: nAICS industry codes as strings, for example "541511". | | `inputs[].company_domains` | array | no | Current-company domains. | | `inputs[].company_linkedin_urls` | array | no | Current-company LinkedIn URLs. | | `inputs[].company_exclude_domains` | array | no | Current company: company domains to leave out. | | `inputs[].company_countries` | array | no | Current-company ISO-2 country codes, separate from the person location. | | `inputs[].company_locations` | array | no | Current-company office locations, separate from the person location. | | `inputs[].company_exclude_countries` | array | no | Current company: iSO-2 country codes to leave out. | | `inputs[].company_exclude_locations` | array | no | Current company: free-text locations to leave out. | | `inputs[].company_min_employees` | integer | no | Minimum current-company headcount. (min 0) | | `inputs[].company_max_employees` | integer | no | Maximum current-company headcount. (min 0) | | `inputs[].company_min_founded_year` | integer | no | Current company: earliest founding year. (min 1800; max 2200) | | `inputs[].company_max_founded_year` | integer | no | Current company: latest founding year. (min 1800; max 2200) | | `inputs[].company_min_revenue` | number | no | Current company: minimum estimated annual revenue in USD. (min 0) | | `inputs[].company_max_revenue` | number | no | Current company: maximum estimated annual revenue in USD. (min 0) | | `inputs[].company_funding_stages` | array | no | Current company: funding stages, for example "seed" or "series_a"; normalized to the AI Ark funding taxonomy. | | `inputs[].company_min_funding_amount` | number | no | Current company: minimum total funding raised in USD. (min 0) | | `inputs[].company_max_funding_amount` | number | no | Current company: maximum total funding raised in USD. (min 0) | | `inputs[].company_min_funding_year` | integer | no | Current company: earliest year of the last funding round. (min 1800; max 2200) | | `inputs[].company_max_funding_year` | integer | no | Current company: latest year of the last funding round. (min 1800; max 2200) | | `inputs[].company_min_workforce_growth_pct` | number | no | Current company: minimum company headcount growth in percent over workforce_growth_months (default 12). One of the strongest intent signals AI Ark documents. | | `inputs[].company_workforce_growth_months` | integer | no | Current company: time frame for min_workforce_growth_pct: 1, 3, 6, 12, or 24 months. Default 12. | | `inputs[].company_names` | array | no | Current company: company names to match, for example "Recraft". | | `inputs[].company_names_mode` | string (enum) | no | Current company: match mode for company_names. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "SMART") | | `inputs[].company_urls` | array | no | Current company: tolerant company identifiers: a domain, a www host, a full URL, or a LinkedIn company URL. | | `inputs[].company_social_media_links` | array | no | Current company: full company social profile URLs, for example a Facebook or X page. | | `inputs[].company_phone_numbers` | array | no | Current company: company phone numbers in E.164 form, for example "+18885335659". | | `inputs[].company_social_media` | array | no | Current company: networks the company must have a presence on: FACEBOOK, INSTAGRAM, TWITTER, LINKEDIN. | | `inputs[].company_min_retail_locations` | integer | no | Current company: minimum number of physical locations worldwide. (min 0) | | `inputs[].company_max_retail_locations` | integer | no | Current company: maximum number of physical locations worldwide. (min 0) | | `inputs[].company_languages` | array | no | Current company: operating languages in lowercase English names, for example "french". | | `inputs[].company_exclude_languages` | array | no | Current company: operating languages to leave out. | | `inputs[].company_min_languages` | integer | no | Current company: minimum number of operating languages. (min 0) | | `inputs[].company_max_languages` | integer | no | Current company: maximum number of operating languages. (min 0) | | `inputs[].company_geo_latitude` | number | no | Current company: latitude of the search center; needs geo_longitude and geo_radius. | | `inputs[].company_geo_longitude` | number | no | Current company: longitude of the search center; needs geo_latitude and geo_radius. | | `inputs[].company_geo_radius` | number | no | Current company: radius around the search center; needs geo_latitude and geo_longitude. (min 0) | | `inputs[].company_geo_radius_unit` | string (enum) | no | Current company: unit of geo_radius: km (default) or mi. (one of: km, mi; default "km") | | `inputs[].company_department_headcount_functions` | array | no | Current company: departments whose headcount min_/max_department_headcount bounds, for example engineering or sales. | | `inputs[].company_min_department_headcount` | integer | no | Current company: minimum headcount in department_headcount_functions. (min 0) | | `inputs[].company_max_department_headcount` | integer | no | Current company: maximum headcount in department_headcount_functions. (min 0) | | `inputs[].company_workforce_growth_departments` | array | no | Current company: departments whose growth min_workforce_growth_pct measures. Empty means the whole company. | | `inputs[].max_per_company` | integer | no | Keep at most this many people per company. AI Ark bills every returned row before the cap runs. (min 1) | | `inputs[].full_names` | array | no | Person names to match, for example "Michel Lieben". | | `inputs[].full_names_mode` | string (enum) | no | Match mode for full_names. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "SMART") | | `inputs[].social_media_links` | array | no | Full personal social profile URLs. | | `inputs[].social_media` | array | no | Networks the person must have a profile on: FACEBOOK, INSTAGRAM, TWITTER, LINKEDIN. | | `inputs[].certifications` | array | no | Certifications, for example "Scrum Master Certification (CSM)". | | `inputs[].languages` | array | no | Spoken languages in lowercase English names, for example "english". | | `inputs[].min_language_proficiency` | integer | no | Minimum proficiency (1-5) for languages. (min 1; max 5) | | `inputs[].max_language_proficiency` | integer | no | Maximum proficiency (1-5) for languages. (min 1; max 5) | | `inputs[].school_ids` | array | no | AI Ark school ids from a person record education entry. | | `inputs[].degrees` | array | no | Degree names, for example "MBA". | | `inputs[].fields_of_study` | array | no | Fields of study, for example "computer science". | | `inputs[].min_graduation_year` | integer | no | Earliest graduation year. (min 1900; max 2200) | | `inputs[].max_graduation_year` | integer | no | Latest graduation year. (min 1900; max 2200) | | `inputs[].profile_badges` | array | no | LinkedIn badges the profile must carry: VERIFIED, or HIRING for an active hiring manager. | | `inputs[].min_linkedin_followers` | integer | no | Minimum LinkedIn followers. (min 0) | | `inputs[].max_linkedin_followers` | integer | no | Maximum LinkedIn followers. (min 0) | | `inputs[].min_linkedin_connections` | integer | no | Minimum LinkedIn connections. (min 0) | | `inputs[].max_linkedin_connections` | integer | no | Maximum LinkedIn connections. (min 0) | | `inputs[].min_months_in_role` | integer | no | Minimum months in the current job. (min 0) | | `inputs[].max_months_in_role` | integer | no | Maximum months in the current job; 6 or less is a new-in-role signal. (min 0) | | `inputs[].min_months_at_company` | integer | no | Minimum months at the current company. (min 0) | | `inputs[].max_months_at_company` | integer | no | Maximum months at the current company. (min 0) | | `inputs[].min_years_experience` | integer | no | Minimum total years of experience. (min 0) | | `inputs[].max_years_experience` | integer | no | Maximum total years of experience. (min 0) | | `inputs[].limit` | number | no | (min 1; max 500; default 25) | | `inputs[].page` | integer | no | Zero-based provider page. Keep limit constant across pages of one search. (min 0) | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "ai-ark-people", "leadmagic", "findymail-search-employees", "prospeo-search-person", "linkupapi-search-profiles", "apollo", "fullenrich-people-search", "limadata-prospect-employees", "limadata-prospect-employees-batch". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | | `fields` | string (enum) | no | Response shape. "compact" (default) returns a small per-record object; "verbose" returns the raw provider payload. (one of: compact, verbose) | | `reveal` | boolean | no | Apollo-only: de-obfuscate names/emails via a follow-up match (extra credit per person). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/people/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"company_domains":["coldiq.com"],"job_titles":["Head of Sales"]}}' ``` Request body: ```json { "input": { "company_domains": [ "coldiq.com" ], "job_titles": [ "Head of Sales" ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Find People — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/people/search # Search Companies — `POST /v1/companies/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/companies/search` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Build account lists by firmographics, tech stack, funding, geography, hiring, or keywords. To build a lookalike TAM from example accounts, pass similar_to_domains (seed company domains) — the request routes to DiscoLike's lookalike discovery over 70M companies, optionally narrowed by keywords / countries / employee range. For "fast-growing" targeting there is no exact workforce-growth % filter — pass min_workforce_growth_pct (or is_hiring / a recent funding filter) and the request is routed to active-hiring and recently-funded proxies, the practical signals for growth. Compact by default; set fields="verbose" for the raw firmographic record. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.keywords` | array | no | Phrases describing the product or business as companies write about themselves, for example "AI image generator". Product phrases find products; a technology filter does not. | | `input.keyword_match` | string (enum) | no | any: one phrase is enough (OR). all: every phrase must match (AND). (one of: any, all; default "any") | | `input.keyword_mode` | string (enum) | no | Match mode for keywords. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. Use WORD for specific product phrases; SMART returns large unrelated service firms first. (one of: SMART, WORD, STRICT; default "SMART") | | `input.keyword_sources` | array | no | Company text fields to search: NAME, KEYWORD (tags), SEO (site meta), DESCRIPTION, INDUSTRY. Default NAME, KEYWORD, DESCRIPTION, SEO. Prefer DESCRIPTION and SEO for product phrases. | | `input.exclude_keywords` | array | no | Phrases that disqualify a company when found in the same sources, for example "consulting" or "agency". | | `input.products_services` | array | no | Product or service names from public positioning data, for example "AI presentation software". An alternative discovery method to keywords; results still need product evidence. | | `input.exclude_products_services` | array | no | Products or services that disqualify a company. | | `input.products_services_mode` | string (enum) | no | Match mode for products_services. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "SMART") | | `input.industries` | array | no | AI Ark industry labels, for example "software development". Labels are not product definitions: do not force one to make a list look cleaner. | | `input.industries_mode` | string (enum) | no | Match mode for industries. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "WORD") | | `input.exclude_industries` | array | no | Industry labels that disqualify a company. | | `input.technologies` | array | no | Technology-stack tags the company USES (for example "HubSpot", "Shopify"). Only when the user asks for a technology in use. It does not identify what a company sells: "AI" as a technology excludes real AI products. | | `input.technologies_mode` | string (enum) | no | Match mode for technologies. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "WORD") | | `input.exclude_technologies` | array | no | Technology tags that disqualify a company. | | `input.company_types` | array | no | Legal structure, for example PRIVATELY_HELD or PUBLIC_COMPANY. | | `input.naics_codes` | array | no | NAICS industry codes as strings, for example "541511". | | `input.domains` | array | no | Restrict to these company domains (bare form, for example "recraft.ai"). | | `input.linkedin_urls` | array | no | Restrict to these full company LinkedIn URLs. | | `input.exclude_domains` | array | no | Company domains to leave out. | | `input.similar_to_domains` | array | no | Seed company domains to find lookalikes of (up to 10). Up to five seeds run on AI Ark; more route to DiscoLike's lookalike discovery over 70M companies. Combine with keywords / industries / countries / employee range to narrow. | | `input.exclude_list_ids` | array | no | AI Ark exclusion list ids from POST /ai-ark/lists; their company ids are never returned or billed. Lists expire after 24 hours. | | `input.countries` | array | no | ISO-2 country codes, for example "US". AI Ark matches any office location, so headquarters must be checked as a criterion when it matters. | | `input.locations` | array | no | Countries, states, cities, or regions as free text, for example "Austin, Texas". | | `input.exclude_countries` | array | no | ISO-2 country codes to leave out. | | `input.exclude_locations` | array | no | Free-text locations to leave out. | | `input.min_employees` | integer | no | Minimum headcount. (min 0) | | `input.max_employees` | integer | no | Maximum headcount. (min 0) | | `input.min_founded_year` | integer | no | Earliest founding year. (min 1800; max 2200) | | `input.max_founded_year` | integer | no | Latest founding year. (min 1800; max 2200) | | `input.min_revenue` | number | no | Minimum estimated annual revenue in USD. (min 0) | | `input.max_revenue` | number | no | Maximum estimated annual revenue in USD. (min 0) | | `input.funding_stages` | array | no | Funding stages, for example "seed" or "series_a"; normalized to the AI Ark funding taxonomy. | | `input.min_funding_amount` | number | no | Minimum total funding raised in USD. (min 0) | | `input.max_funding_amount` | number | no | Maximum total funding raised in USD. (min 0) | | `input.min_funding_year` | integer | no | Earliest year of the last funding round. (min 1800; max 2200) | | `input.max_funding_year` | integer | no | Latest year of the last funding round. (min 1800; max 2200) | | `input.min_workforce_growth_pct` | number | no | Minimum company headcount growth in percent over workforce_growth_months (default 12). One of the strongest intent signals AI Ark documents. | | `input.workforce_growth_months` | integer | no | Time frame for min_workforce_growth_pct: 1, 3, 6, 12, or 24 months. Default 12. | | `input.employee_titles` | array | no | Companies that employ someone with this title, for example "Head of Design". Company Search only. | | `input.employee_seniorities` | array | no | Companies that employ someone at this seniority, for example c_suite or vp. | | `input.employee_departments` | array | no | Companies that employ someone in this department or function token, for example "software_development". | | `input.company_names` | array | no | Company names to match, for example "Recraft". | | `input.company_names_mode` | string (enum) | no | Match mode for company_names. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "SMART") | | `input.urls` | array | no | Tolerant company identifiers: a domain, a www host, a full URL, or a LinkedIn company URL. | | `input.social_media_links` | array | no | Full company social profile URLs, for example a Facebook or X page. | | `input.phone_numbers` | array | no | Company phone numbers in E.164 form, for example "+18885335659". | | `input.social_media` | array | no | Networks the company must have a presence on: FACEBOOK, INSTAGRAM, TWITTER, LINKEDIN. | | `input.min_retail_locations` | integer | no | Minimum number of physical locations worldwide. (min 0) | | `input.max_retail_locations` | integer | no | Maximum number of physical locations worldwide. (min 0) | | `input.languages` | array | no | Operating languages in lowercase English names, for example "french". | | `input.exclude_languages` | array | no | Operating languages to leave out. | | `input.min_languages` | integer | no | Minimum number of operating languages. (min 0) | | `input.max_languages` | integer | no | Maximum number of operating languages. (min 0) | | `input.geo_latitude` | number | no | Latitude of the search center; needs geo_longitude and geo_radius. | | `input.geo_longitude` | number | no | Longitude of the search center; needs geo_latitude and geo_radius. | | `input.geo_radius` | number | no | Radius around the search center; needs geo_latitude and geo_longitude. (min 0) | | `input.geo_radius_unit` | string (enum) | no | Unit of geo_radius: km (default) or mi. (one of: km, mi; default "km") | | `input.department_headcount_functions` | array | no | Departments whose headcount min_/max_department_headcount bounds, for example engineering or sales. | | `input.min_department_headcount` | integer | no | Minimum headcount in department_headcount_functions. (min 0) | | `input.max_department_headcount` | integer | no | Maximum headcount in department_headcount_functions. (min 0) | | `input.workforce_growth_departments` | array | no | Departments whose growth min_workforce_growth_pct measures. Empty means the whole company. | | `input.is_hiring` | boolean | no | | | `input.linkedin_search_url` | string | no | | | `input.limit` | number | no | (min 1; max 500; default 25) | | `input.page` | integer | no | Zero-based provider page. Keep limit constant across pages of one search. (min 0) | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].keywords` | array | no | Phrases describing the product or business as companies write about themselves, for example "AI image generator". Product phrases find products; a technology filter does not. | | `inputs[].keyword_match` | string (enum) | no | any: one phrase is enough (OR). all: every phrase must match (AND). (one of: any, all; default "any") | | `inputs[].keyword_mode` | string (enum) | no | Match mode for keywords. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. Use WORD for specific product phrases; SMART returns large unrelated service firms first. (one of: SMART, WORD, STRICT; default "SMART") | | `inputs[].keyword_sources` | array | no | Company text fields to search: NAME, KEYWORD (tags), SEO (site meta), DESCRIPTION, INDUSTRY. Default NAME, KEYWORD, DESCRIPTION, SEO. Prefer DESCRIPTION and SEO for product phrases. | | `inputs[].exclude_keywords` | array | no | Phrases that disqualify a company when found in the same sources, for example "consulting" or "agency". | | `inputs[].products_services` | array | no | Product or service names from public positioning data, for example "AI presentation software". An alternative discovery method to keywords; results still need product evidence. | | `inputs[].exclude_products_services` | array | no | Products or services that disqualify a company. | | `inputs[].products_services_mode` | string (enum) | no | Match mode for products_services. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "SMART") | | `inputs[].industries` | array | no | AI Ark industry labels, for example "software development". Labels are not product definitions: do not force one to make a list look cleaner. | | `inputs[].industries_mode` | string (enum) | no | Match mode for industries. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "WORD") | | `inputs[].exclude_industries` | array | no | Industry labels that disqualify a company. | | `inputs[].technologies` | array | no | Technology-stack tags the company USES (for example "HubSpot", "Shopify"). Only when the user asks for a technology in use. It does not identify what a company sells: "AI" as a technology excludes real AI products. | | `inputs[].technologies_mode` | string (enum) | no | Match mode for technologies. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "WORD") | | `inputs[].exclude_technologies` | array | no | Technology tags that disqualify a company. | | `inputs[].company_types` | array | no | Legal structure, for example PRIVATELY_HELD or PUBLIC_COMPANY. | | `inputs[].naics_codes` | array | no | NAICS industry codes as strings, for example "541511". | | `inputs[].domains` | array | no | Restrict to these company domains (bare form, for example "recraft.ai"). | | `inputs[].linkedin_urls` | array | no | Restrict to these full company LinkedIn URLs. | | `inputs[].exclude_domains` | array | no | Company domains to leave out. | | `inputs[].similar_to_domains` | array | no | Seed company domains to find lookalikes of (up to 10). Up to five seeds run on AI Ark; more route to DiscoLike's lookalike discovery over 70M companies. Combine with keywords / industries / countries / employee range to narrow. | | `inputs[].exclude_list_ids` | array | no | AI Ark exclusion list ids from POST /ai-ark/lists; their company ids are never returned or billed. Lists expire after 24 hours. | | `inputs[].countries` | array | no | ISO-2 country codes, for example "US". AI Ark matches any office location, so headquarters must be checked as a criterion when it matters. | | `inputs[].locations` | array | no | Countries, states, cities, or regions as free text, for example "Austin, Texas". | | `inputs[].exclude_countries` | array | no | ISO-2 country codes to leave out. | | `inputs[].exclude_locations` | array | no | Free-text locations to leave out. | | `inputs[].min_employees` | integer | no | Minimum headcount. (min 0) | | `inputs[].max_employees` | integer | no | Maximum headcount. (min 0) | | `inputs[].min_founded_year` | integer | no | Earliest founding year. (min 1800; max 2200) | | `inputs[].max_founded_year` | integer | no | Latest founding year. (min 1800; max 2200) | | `inputs[].min_revenue` | number | no | Minimum estimated annual revenue in USD. (min 0) | | `inputs[].max_revenue` | number | no | Maximum estimated annual revenue in USD. (min 0) | | `inputs[].funding_stages` | array | no | Funding stages, for example "seed" or "series_a"; normalized to the AI Ark funding taxonomy. | | `inputs[].min_funding_amount` | number | no | Minimum total funding raised in USD. (min 0) | | `inputs[].max_funding_amount` | number | no | Maximum total funding raised in USD. (min 0) | | `inputs[].min_funding_year` | integer | no | Earliest year of the last funding round. (min 1800; max 2200) | | `inputs[].max_funding_year` | integer | no | Latest year of the last funding round. (min 1800; max 2200) | | `inputs[].min_workforce_growth_pct` | number | no | Minimum company headcount growth in percent over workforce_growth_months (default 12). One of the strongest intent signals AI Ark documents. | | `inputs[].workforce_growth_months` | integer | no | Time frame for min_workforce_growth_pct: 1, 3, 6, 12, or 24 months. Default 12. | | `inputs[].employee_titles` | array | no | Companies that employ someone with this title, for example "Head of Design". Company Search only. | | `inputs[].employee_seniorities` | array | no | Companies that employ someone at this seniority, for example c_suite or vp. | | `inputs[].employee_departments` | array | no | Companies that employ someone in this department or function token, for example "software_development". | | `inputs[].company_names` | array | no | Company names to match, for example "Recraft". | | `inputs[].company_names_mode` | string (enum) | no | Match mode for company_names. SMART matches related concepts (broadest), WORD requires the phrase with extra words allowed, STRICT requires the exact phrase. (one of: SMART, WORD, STRICT; default "SMART") | | `inputs[].urls` | array | no | Tolerant company identifiers: a domain, a www host, a full URL, or a LinkedIn company URL. | | `inputs[].social_media_links` | array | no | Full company social profile URLs, for example a Facebook or X page. | | `inputs[].phone_numbers` | array | no | Company phone numbers in E.164 form, for example "+18885335659". | | `inputs[].social_media` | array | no | Networks the company must have a presence on: FACEBOOK, INSTAGRAM, TWITTER, LINKEDIN. | | `inputs[].min_retail_locations` | integer | no | Minimum number of physical locations worldwide. (min 0) | | `inputs[].max_retail_locations` | integer | no | Maximum number of physical locations worldwide. (min 0) | | `inputs[].languages` | array | no | Operating languages in lowercase English names, for example "french". | | `inputs[].exclude_languages` | array | no | Operating languages to leave out. | | `inputs[].min_languages` | integer | no | Minimum number of operating languages. (min 0) | | `inputs[].max_languages` | integer | no | Maximum number of operating languages. (min 0) | | `inputs[].geo_latitude` | number | no | Latitude of the search center; needs geo_longitude and geo_radius. | | `inputs[].geo_longitude` | number | no | Longitude of the search center; needs geo_latitude and geo_radius. | | `inputs[].geo_radius` | number | no | Radius around the search center; needs geo_latitude and geo_longitude. (min 0) | | `inputs[].geo_radius_unit` | string (enum) | no | Unit of geo_radius: km (default) or mi. (one of: km, mi; default "km") | | `inputs[].department_headcount_functions` | array | no | Departments whose headcount min_/max_department_headcount bounds, for example engineering or sales. | | `inputs[].min_department_headcount` | integer | no | Minimum headcount in department_headcount_functions. (min 0) | | `inputs[].max_department_headcount` | integer | no | Maximum headcount in department_headcount_functions. (min 0) | | `inputs[].workforce_growth_departments` | array | no | Departments whose growth min_workforce_growth_pct measures. Empty means the whole company. | | `inputs[].is_hiring` | boolean | no | | | `inputs[].linkedin_search_url` | string | no | | | `inputs[].limit` | number | no | (min 1; max 500; default 25) | | `inputs[].page` | integer | no | Zero-based provider page. Keep limit constant across pages of one search. (min 0) | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "fullenrich", "theirstack", "signalbase", "limadata", "predictleads", "sumble", "linkupapi-search", "linkupapi-fundraising", "linkupapi-hiring", "prospeo-search-company", "ai-ark-companies", "apollo", "limadata-prospect-filter", "limadata-prospect-url", "discolike". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | | `fields` | string (enum) | no | Response shape. "compact" (default) returns a small per-record object; "verbose" returns the raw provider payload. (one of: compact, verbose) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/companies/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"keywords":["SaaS"],"countries":["US"],"min_employees":50,"max_employees":200}}' ``` Request body: ```json { "input": { "keywords": [ "SaaS" ], "countries": [ "US" ], "min_employees": 50, "max_employees": 200 } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search Companies — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/companies/search # Find Signals — `POST /v1/signals/find` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/signals/find` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Surface buying signals — funding, acquisitions, hiring, job changes, news, or intent. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.signal_type` | string (enum) | yes | Signal type. Company-targeted: funding, acquisition, hiring, job_change, intent. Feed-style: news, startup_post. (one of: funding, acquisition, hiring, job_change, news, intent, startup_post) | | `input.companies` | array | no | | | `input.domains` | array | no | | | `input.since` | string | no | ISO date, e.g. "2026-01-01". | | `input.industries` | array | no | | | `input.countries` | array | no | | | `input.round_type` | array | no | Funding round filter (signal_type=funding). | | `input.topics` | array | no | Intent topic slugs (signal_type=intent). | | `input.limit` | integer | no | (min 1; max 100; default 25) | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].signal_type` | string (enum) | yes | Signal type. Company-targeted: funding, acquisition, hiring, job_change, intent. Feed-style: news, startup_post. (one of: funding, acquisition, hiring, job_change, news, intent, startup_post) | | `inputs[].companies` | array | no | | | `inputs[].domains` | array | no | | | `inputs[].since` | string | no | ISO date, e.g. "2026-01-01". | | `inputs[].industries` | array | no | | | `inputs[].countries` | array | no | | | `inputs[].round_type` | array | no | Funding round filter (signal_type=funding). | | `inputs[].topics` | array | no | Intent topic slugs (signal_type=intent). | | `inputs[].limit` | integer | no | (min 1; max 100; default 25) | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "signalbase-funding", "signalbase-acquisition", "theirstack-hiring", "signalbase-hiring", "signalbase-job-change", "theirstack-intent-discovery", "theirstack-buying-intents", "predictleads-financing", "predictleads-news", "predictleads-startup-posts". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/signals/find" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"signal_type":"funding","industries":["Software"]}}' ``` Request body: ```json { "input": { "signal_type": "funding", "industries": [ "Software" ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Find Signals — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/signals/find # Search Ads — `POST /v1/ads/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/ads/search` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find active ads for a company or topic. Pin a platform (meta, google, linkedin, twitter) with `platform`. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.query` | string | no | Advertiser/company name or keyword. | | `input.domains` | array | no | Company domains. Google Ads only. | | `input.advertiser_ids` | array | no | Google Ads Transparency advertiser IDs. | | `input.search_urls` | array | no | Pre-built LinkedIn Ad Library URLs. | | `input.country` | string | no | | | `input.max_results` | integer | no | (min 1; max 200; default 25) | | `input.ad_type` | string (enum) | no | Meta only. (one of: ALL, POLITICAL_AND_ISSUE_ADS) | | `input.start_date` | string | no | Twitter only. | | `input.end_date` | string | no | Twitter only. | | `input.platform` | string (enum) | no | Pin to one ad platform. (one of: google, linkedin, meta, twitter) | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].query` | string | no | Advertiser/company name or keyword. | | `inputs[].domains` | array | no | Company domains. Google Ads only. | | `inputs[].advertiser_ids` | array | no | Google Ads Transparency advertiser IDs. | | `inputs[].search_urls` | array | no | Pre-built LinkedIn Ad Library URLs. | | `inputs[].country` | string | no | | | `inputs[].max_results` | integer | no | (min 1; max 200; default 25) | | `inputs[].ad_type` | string (enum) | no | Meta only. (one of: ALL, POLITICAL_AND_ISSUE_ADS) | | `inputs[].start_date` | string | no | Twitter only. | | `inputs[].end_date` | string | no | Twitter only. | | `inputs[].platform` | string (enum) | no | Pin to one ad platform. (one of: google, linkedin, meta, twitter) | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "adyntel_google", "adyntel_linkedin", "adyntel_meta", "google_ads", "linkedin_ad_library", "meta_ads", "twitter_ads". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/ads/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"query":"ColdIQ","platform":"meta"}}' ``` Request body: ```json { "input": { "query": "ColdIQ", "platform": "meta" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search Ads — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/ads/search # Web Search — `POST /v1/web/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/web/search` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description General web search for public facts, company resolution, pages, or context. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.query` | string | yes | Search query. | | `input.num_results` | number | no | (min 1; max 100; default 10) | | `input.country` | string | no | Country code for geo-targeting, e.g. "us". | | `input.search_type` | string (enum) | no | "general" uses the normal web-search waterfall. "neural" is a compatibility alias for Exa auto. Deep modes use Exa. (one of: general, neural, deep, deep-reasoning; default "general") | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].query` | string | yes | Search query. | | `inputs[].num_results` | number | no | (min 1; max 100; default 10) | | `inputs[].country` | string | no | Country code for geo-targeting, e.g. "us". | | `inputs[].search_type` | string (enum) | no | "general" uses the normal web-search waterfall. "neural" is a compatibility alias for Exa auto. Deep modes use Exa. (one of: general, neural, deep, deep-reasoning; default "general") | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "serper", "limadata", "exa", "jina". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/web/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"query":"ColdIQ cold outreach platform"}}' ``` Request body: ```json { "input": { "query": "ColdIQ cold outreach platform" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Web Search — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/web/search # Fetch Page Content — `POST /v1/web/fetch` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/web/fetch` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch and extract clean text (and optionally a summary) from one or more URLs. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.urls` | array | yes | URLs to fetch (1–10). | | `input.include_text` | boolean | no | (default true) | | `input.include_summary` | boolean | no | (default false) | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].urls` | array | yes | URLs to fetch (1–10). | | `inputs[].include_text` | boolean | no | (default true) | | `inputs[].include_summary` | boolean | no | (default false) | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "exa-contents". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/web/fetch" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"urls":["https://coldiq.com"]}}' ``` Request body: ```json { "input": { "urls": [ "https://coldiq.com" ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Fetch Page Content — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/web/fetch # Search Jobs — `POST /v1/jobs/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/jobs/search` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search live job postings by title, location, company, ATS, or LinkedIn-style filters. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.title_keywords` | array | no | | | `input.exclude_title_keywords` | array | no | | | `input.locations` | array | no | "City, State/Region, Country" format. | | `input.exclude_locations` | array | no | | | `input.description_keywords` | array | no | | | `input.exclude_description_keywords` | array | no | | | `input.companies` | array | no | | | `input.exclude_companies` | array | no | | | `input.remote` | boolean | no | | | `input.exclude_agencies` | boolean | no | | | `input.posted_after` | string | no | | | `input.time_range` | string (enum) | no | (one of: 1h, 24h, 7d, 6m; default "7d") | | `input.include_description` | boolean | no | (default false) | | `input.employment_types` | array | no | | | `input.work_arrangements` | array | no | | | `input.experience_levels` | array | no | | | `input.has_salary` | boolean | no | | | `input.has_visa_sponsorship` | boolean | no | | | `input.taxonomies` | array | no | | | `input.limit` | integer | no | (min 10; max 500; default 25) | | `input.ats_slugs` | array | no | Routes to career-site source. | | `input.exclude_ats_slugs` | array | no | | | `input.company_domains` | array | no | Routes to career-site source. | | `input.exclude_company_domains` | array | no | | | `input.seniority_levels` | array | no | Routes to LinkedIn source. | | `input.industries` | array | no | Routes to LinkedIn source. | | `input.organization_slugs` | array | no | | | `input.exclude_organization_slugs` | array | no | | | `input.min_employees` | integer | no | (min 1) | | `input.max_employees` | integer | no | (min 1) | | `input.easy_apply_only` | boolean | no | | | `input.exclude_easy_apply` | boolean | no | | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].title_keywords` | array | no | | | `inputs[].exclude_title_keywords` | array | no | | | `inputs[].locations` | array | no | "City, State/Region, Country" format. | | `inputs[].exclude_locations` | array | no | | | `inputs[].description_keywords` | array | no | | | `inputs[].exclude_description_keywords` | array | no | | | `inputs[].companies` | array | no | | | `inputs[].exclude_companies` | array | no | | | `inputs[].remote` | boolean | no | | | `inputs[].exclude_agencies` | boolean | no | | | `inputs[].posted_after` | string | no | | | `inputs[].time_range` | string (enum) | no | (one of: 1h, 24h, 7d, 6m; default "7d") | | `inputs[].include_description` | boolean | no | (default false) | | `inputs[].employment_types` | array | no | | | `inputs[].work_arrangements` | array | no | | | `inputs[].experience_levels` | array | no | | | `inputs[].has_salary` | boolean | no | | | `inputs[].has_visa_sponsorship` | boolean | no | | | `inputs[].taxonomies` | array | no | | | `inputs[].limit` | integer | no | (min 10; max 500; default 25) | | `inputs[].ats_slugs` | array | no | Routes to career-site source. | | `inputs[].exclude_ats_slugs` | array | no | | | `inputs[].company_domains` | array | no | Routes to career-site source. | | `inputs[].exclude_company_domains` | array | no | | | `inputs[].seniority_levels` | array | no | Routes to LinkedIn source. | | `inputs[].industries` | array | no | Routes to LinkedIn source. | | `inputs[].organization_slugs` | array | no | | | `inputs[].exclude_organization_slugs` | array | no | | | `inputs[].min_employees` | integer | no | (min 1) | | `inputs[].max_employees` | integer | no | (min 1) | | `inputs[].easy_apply_only` | boolean | no | | | `inputs[].exclude_easy_apply` | boolean | no | | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "career_site_jobs", "linkedin_jobs_api", "theirstack-jobs". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/jobs/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"title_keywords":["Account Executive"],"locations":["New York, New York, United States"]}}' ``` Request body: ```json { "input": { "title_keywords": [ "Account Executive" ], "locations": [ "New York, New York, United States" ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search Jobs — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/jobs/search # Search Places — `POST /v1/places/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/places/search` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find local businesses or places by category and geography. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.query` | string | no | Free-text query, e.g. "coffee shops in Brooklyn". | | `input.country` | string | no | | | `input.city` | string | no | | | `input.limit` | integer | no | (min 1; max 200; default 25) | | `input.state` | string | no | Openmart only. | | `input.zip_code` | string | no | Openmart only. | | `input.lat` | number | no | Openmart only. | | `input.long` | number | no | Openmart only. | | `input.geo_radius` | integer | no | Openmart only. Meters. (min 0) | | `input.tags` | array | no | Openmart only. | | `input.min_overall_rating` | number | no | (min 0; max 5) | | `input.max_overall_rating` | number | no | (min 0; max 5) | | `input.min_total_reviews` | integer | no | (min 0) | | `input.max_total_reviews` | integer | no | (min 0) | | `input.ownership_type` | string (enum) | no | Openmart only. (one of: INDEPENDENT, FAMILY, FRANCHISE, CHAIN) | | `input.has_website` | boolean | no | Openmart only. | | `input.has_valid_website` | boolean | no | Openmart only. | | `input.has_contact_info` | boolean | no | Openmart only. | | `input.min_price_tier` | integer | no | Openmart only. | | `input.max_price_tier` | integer | no | Openmart only. | | `input.include_keywords` | array | no | Openmart only. | | `input.exclude_keywords` | array | no | Openmart only. | | `input.exclude_root_domains` | array | no | Openmart only. | | `input.start_urls` | array | no | Google Maps only. | | `input.include_opening_hours` | boolean | no | Google Maps only. | | `input.include_additional_info` | boolean | no | Google Maps only. | | `input.language` | string | no | Google Maps only. | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].query` | string | no | Free-text query, e.g. "coffee shops in Brooklyn". | | `inputs[].country` | string | no | | | `inputs[].city` | string | no | | | `inputs[].limit` | integer | no | (min 1; max 200; default 25) | | `inputs[].state` | string | no | Openmart only. | | `inputs[].zip_code` | string | no | Openmart only. | | `inputs[].lat` | number | no | Openmart only. | | `inputs[].long` | number | no | Openmart only. | | `inputs[].geo_radius` | integer | no | Openmart only. Meters. (min 0) | | `inputs[].tags` | array | no | Openmart only. | | `inputs[].min_overall_rating` | number | no | (min 0; max 5) | | `inputs[].max_overall_rating` | number | no | (min 0; max 5) | | `inputs[].min_total_reviews` | integer | no | (min 0) | | `inputs[].max_total_reviews` | integer | no | (min 0) | | `inputs[].ownership_type` | string (enum) | no | Openmart only. (one of: INDEPENDENT, FAMILY, FRANCHISE, CHAIN) | | `inputs[].has_website` | boolean | no | Openmart only. | | `inputs[].has_valid_website` | boolean | no | Openmart only. | | `inputs[].has_contact_info` | boolean | no | Openmart only. | | `inputs[].min_price_tier` | integer | no | Openmart only. | | `inputs[].max_price_tier` | integer | no | Openmart only. | | `inputs[].include_keywords` | array | no | Openmart only. | | `inputs[].exclude_keywords` | array | no | Openmart only. | | `inputs[].exclude_root_domains` | array | no | Openmart only. | | `inputs[].start_urls` | array | no | Google Maps only. | | `inputs[].include_opening_hours` | boolean | no | Google Maps only. | | `inputs[].include_additional_info` | boolean | no | Google Maps only. | | `inputs[].language` | string | no | Google Maps only. | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "openmart", "google_maps". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/places/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"query":"marketing agencies in New York"}}' ``` Request body: ```json { "input": { "query": "marketing agencies in New York" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search Places — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/places/search # Get Place Reviews — `POST /v1/places/reviews` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/places/reviews` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve reviews for one or more Google Maps places. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.place_urls` | array | yes | Google Maps place URLs (1–10). | | `input.max_reviews` | integer | no | Reviews per place (default 5). 1 credit each. (min 1; max 300) | | `input.sort` | string (enum) | no | (one of: mostRelevant, newest, highestRanking, lowestRanking) | | `input.language` | string | no | ISO 639-1, e.g. "en". | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].place_urls` | array | yes | Google Maps place URLs (1–10). | | `inputs[].max_reviews` | integer | no | Reviews per place (default 5). 1 credit each. (min 1; max 300) | | `inputs[].sort` | string (enum) | no | (one of: mostRelevant, newest, highestRanking, lowestRanking) | | `inputs[].language` | string | no | ISO 639-1, e.g. "en". | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "google_maps_reviews". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/places/reviews" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"place_urls":["https://www.google.com/maps/place/Microsoft"]}}' ``` Request body: ```json { "input": { "place_urls": [ "https://www.google.com/maps/place/Microsoft" ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Get Place Reviews — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/places/reviews # Find Influencers — `POST /v1/influencers/find` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/influencers/find` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Discover creators or influencers for a niche or audience across major social platforms. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.platform` | string (enum) | yes | Target platform. (one of: instagram, youtube, tiktok, twitch, twitter, onlyfans) | | `input.limit` | integer | no | (min 1; max 100; default 25) | | `input.page` | integer | no | (min 1; default 1) | | `input.sort_by` | string (enum) | no | (one of: relevancy, number_of_followers, engagement_rate) | | `input.sort_order` | string (enum) | no | (one of: asc, desc) | | `input.ai_search` | string | no | Natural-language discovery query. | | `input.location` | array | no | | | `input.gender` | string (enum) | no | (one of: male, female) | | `input.type` | string (enum) | no | (one of: creator, business) | | `input.handle` | string | no | Find creators similar to this handle (lookalike). No @ prefix. | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].platform` | string (enum) | yes | Target platform. (one of: instagram, youtube, tiktok, twitch, twitter, onlyfans) | | `inputs[].limit` | integer | no | (min 1; max 100; default 25) | | `inputs[].page` | integer | no | (min 1; default 1) | | `inputs[].sort_by` | string (enum) | no | (one of: relevancy, number_of_followers, engagement_rate) | | `inputs[].sort_order` | string (enum) | no | (one of: asc, desc) | | `inputs[].ai_search` | string | no | Natural-language discovery query. | | `inputs[].location` | array | no | | | `inputs[].gender` | string (enum) | no | (one of: male, female) | | `inputs[].type` | string (enum) | no | (one of: creator, business) | | `inputs[].handle` | string | no | Find creators similar to this handle (lookalike). No @ prefix. | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "influencers_similar", "influencers_discovery". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/influencers/find" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"platform":"instagram","ai_search":"B2B sales creators in the US"}}' ``` Request body: ```json { "input": { "platform": "instagram", "ai_search": "B2B sales creators in the US" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Find Influencers — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/influencers/find # Search Reddit — `POST /v1/reddit/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/reddit/search` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search Reddit posts, comments, or communities for market research and buyer language. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.start_urls` | array | no | Reddit URLs (subreddit, post, user, search). Up to 25. | | `input.query` | string | no | Keyword search. Provide this and/or start_urls. | | `input.search_type` | string (enum) | no | (one of: posts, comments, communities, users; default "posts") | | `input.search_community_name` | string | no | Restrict the query to a single community. | | `input.sort` | string (enum) | no | (one of: relevance, hot, top, new, rising, comments) | | `input.time` | string (enum) | no | (one of: hour, day, week, month, year, all) | | `input.limit` | integer | no | (min 1; max 200; default 10) | | `input.max_comments` | integer | no | (min 0; max 1000) | | `input.include_comments` | boolean | no | | | `input.post_date_limit` | string | no | ISO 8601. | | `input.comment_date_limit` | string | no | ISO 8601. | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].start_urls` | array | no | Reddit URLs (subreddit, post, user, search). Up to 25. | | `inputs[].query` | string | no | Keyword search. Provide this and/or start_urls. | | `inputs[].search_type` | string (enum) | no | (one of: posts, comments, communities, users; default "posts") | | `inputs[].search_community_name` | string | no | Restrict the query to a single community. | | `inputs[].sort` | string (enum) | no | (one of: relevance, hot, top, new, rising, comments) | | `inputs[].time` | string (enum) | no | (one of: hour, day, week, month, year, all) | | `inputs[].limit` | integer | no | (min 1; max 200; default 10) | | `inputs[].max_comments` | integer | no | (min 0; max 1000) | | `inputs[].include_comments` | boolean | no | | | `inputs[].post_date_limit` | string | no | ISO 8601. | | `inputs[].comment_date_limit` | string | no | ISO 8601. | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "reddit". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/reddit/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"query":"cold email deliverability","search_community_name":"sales"}}' ``` Request body: ```json { "input": { "query": "cold email deliverability", "search_community_name": "sales" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search Reddit — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/reddit/search # Search SEO — `POST /v1/seo/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/seo/search` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Run SERP, keyword, backlink, domain, labs, or on-page SEO research. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `input` | object | no | Single input — synchronous. | | `input.category` | string (enum) | yes | SEO category. Required. (one of: keywords, serp, backlinks, domain, labs, page) | | `input.target` | string | no | Domain/URL. Required for backlinks, domain, labs. | | `input.keyword` | string | no | Single keyword. Required for serp. | | `input.keywords` | array | no | Keyword list. Required for keywords, labs/keyword-ideas. | | `input.location` | string | no | | | `input.language` | string | no | | | `input.limit` | integer | no | (min 1; max 700; default 10) | | `input.date_from` | string | no | | | `input.date_to` | string | no | | | `input.time_range` | string | no | | | `input.engine` | string (enum) | no | (one of: google, bing, youtube; default "google") | | `input.device` | string (enum) | no | (one of: desktop, mobile) | | `input.action` | string (enum) | no | domain category. (one of: technologies, whois) | | `input.lab_action` | string (enum) | no | (one of: ranked-keywords, competitors, keyword-ideas, rank-overview) | | `input.url` | string | no | Required for page category. (format uri) | | `input.page_action` | string (enum) | no | (one of: lighthouse, content; default "lighthouse") | | `input.enable_javascript` | boolean | no | | | `input.full_data` | boolean | no | | | `inputs` | array | no | Bulk mode — up to 50 records in ONE request, run in parallel (provide either `input` or `inputs`, never both). Prefer this over a loop of single calls. RATE LIMIT: the whole batch is ONE request against your per-account limit, however many rows it holds — the per-row provider calls run internally and are not counted. So 50 rows sent as one batch cost 1 request, while the same 50 rows sent one at a time cost 50. PARTIAL FAILURE: a row that finds nothing, or whose provider errors, never fails the batch — every row is still attempted, the call returns 200, and that row carries its own error in its `results[]` entry. Two whole-batch failures exist: 400 if ANY row fails schema validation (the array is validated before the batch runs, so no row is attempted — clean your rows first), and 402 when EVERY row ran out of credits. ORDER: `results[]` is index-aligned with `inputs[]` — `results[i]` is always the outcome of `inputs[i]`, regardless of which row finished first. SPEND CAP: `max_credits` applies PER ROW, not per batch — a cap of 5 on a 50-row batch permits up to 5 credits for each row. TIMEOUT: the batch runs under one wall-clock budget, so a very large batch of slow lookups can return with later rows marked `timed_out` (those are refunded); re-send only those rows. | | `inputs[].category` | string (enum) | yes | SEO category. Required. (one of: keywords, serp, backlinks, domain, labs, page) | | `inputs[].target` | string | no | Domain/URL. Required for backlinks, domain, labs. | | `inputs[].keyword` | string | no | Single keyword. Required for serp. | | `inputs[].keywords` | array | no | Keyword list. Required for keywords, labs/keyword-ideas. | | `inputs[].location` | string | no | | | `inputs[].language` | string | no | | | `inputs[].limit` | integer | no | (min 1; max 700; default 10) | | `inputs[].date_from` | string | no | | | `inputs[].date_to` | string | no | | | `inputs[].time_range` | string | no | | | `inputs[].engine` | string (enum) | no | (one of: google, bing, youtube; default "google") | | `inputs[].device` | string (enum) | no | (one of: desktop, mobile) | | `inputs[].action` | string (enum) | no | domain category. (one of: technologies, whois) | | `inputs[].lab_action` | string (enum) | no | (one of: ranked-keywords, competitors, keyword-ideas, rank-overview) | | `inputs[].url` | string | no | Required for page category. (format uri) | | `inputs[].page_action` | string (enum) | no | (one of: lighthouse, content; default "lighthouse") | | `inputs[].enable_javascript` | boolean | no | | | `inputs[].full_data` | boolean | no | | | `provider` | string \| array | no | Provider routing. "auto" (default) runs a managed waterfall; a single slug pins one vendor; an array is your ordered fallback chain. Valid slugs for this verb: "kw_search_volume", "kw_trends", "serp_google", "serp_bing", "serp_youtube", "bl_summary", "bl_backlinks", "bl_referring", "domain_tech", "domain_whois", "labs_rank_overview", "labs_ranked_kw", "labs_competitors", "labs_kw_ideas", "page_lighthouse", "page_content". These are routing slugs, not catalog provider names — a slug is often the vendor plus the capability it serves (the catalog lists "limadata"; this field takes "limadata-work-email"). An unrecognized slug returns 400 and lists the accepted set. | | `max_credits` | number | no | Per-record spend cap. A provider that would hold more than this for the record up front is not called, and a provider that answers but costs more than this is rejected and refunded, so you never pay more than N credits for one record (a miss if nothing answers in budget). A search that finds nobody costs 0. Charges a provider makes after it answers (for example per contact delivered later) are not covered. Useful to keep a single pricey provider from dominating a large fan-out. (min 0) | | `soft_miss` | boolean | no | Return a miss as HTTP 200 `{ "found": false, "verdict": "not_found", "providers_tried": N }` instead of 404. Use it when a 404 is indistinguishable from a real failure in your client (spreadsheet tools paint every non-2xx cell red, and "re-run the errored cells" then re-executes whole provider waterfalls for rows that will miss again). The verdict vocabulary matches the async sibling `/v1/jobs/{job_id}/results`. A miss is free either way. Only the "no provider had it" 404 converts — 400 (invalid input), 402 (out of credits) and 504 (`timed_out`, the waterfall was cut short so the miss is unproven) are unchanged. Default false. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/seo/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"input":{"category":"serp","keyword":"cold outreach software"}}' ``` Request body: ```json { "input": { "category": "serp", "keyword": "cold outreach software" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search SEO — also the status of a miss when `soft_miss: true` was sent (body: `{ found: false, verdict: "not_found", providers_tried: N }`). | | `400` | Invalid envelope, unrecognized field, out-of-range value, or unrecognized provider. Validation failures carry `code: "invalid_input"` and `issues[]` with a field `path` and the allowed value or range. | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No usable result found across providers. Send `soft_miss: true` to receive this as a 200 `{ found: false }` instead. | | `429` | Rate limit exceeded — see the Retry-After header and the `limits` object in the body. A bulk `inputs[]` call counts as ONE request, so batching is the fix for a throttled loop. | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | any \| null | no | Normalized, provider-agnostic result (single calls). | | `_meta` | any \| null | no | Provenance: which provider answered, credits charged, latency, and `attempts` — the per-attempt receipt. Each entry is `{provider, provider_name, capability, result, charged, latency_ms}`, in waterfall order, and the `charged` column sums to `credits_charged`, so the total is verifiable rather than assumed. `result` is hit \| miss \| error \| rejected (a `rejected` entry carries a `reason`). A losing attempt in the main waterfall reports `charged: 0` with its refunded gross in `refunded` — charge-on-success means you never pay for it. A provider that exceeds its time limit is cancelled and its hold refunded before the response is built. If it has not settled by then, its entry carries `settlement: "pending"` and the response carries `X-ColdIQ-Credits-Settlement: pending`: the provider still holds credits, they are refunded in full when it finishes, and `X-ColdIQ-Credits-Charged` already excludes them. A `capability: "verify_email"` entry on a find_email response is the verify-on-hit hop: that check was performed, so its fee is kept and it is why `credits_charged` can exceed the winning finder’s list price. On an auto-routed miss the provider names are anonymized, exactly as `providers_tried` is. | | `results` | array | no | Per-input results (bulk calls). | Example response: ```json { "data": null, "_meta": null, "results": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/seo/search # Bulk Verify Emails — `POST /v1/email/verify/bulk/submit` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/email/verify/bulk/submit` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Verify up to 5,000 emails asynchronously. Returns a job_id immediately; poll POST /v1/jobs/{job_id}/results for status + verdicts. Charged per conclusively-verified email (catch_all/risky/disposable are conclusive and sendable; unknown is free). Runs on BounceBan by default (resolves catch-all/risky addresses, ~0.2 credits/verified) with automatic Icypeas failover (0.1 credits/verified) if the BounceBan submit fails; an explicit use_providers pin is strict and never silently switches backend. BILLING SHAPE: per conclusively-verified email across the whole job, and the entire job costs ONE request against your rate limit. Sibling route: POST /bounceban/verify/single is the synchronous single-address form of the same BounceBan backend — use it for interactive one-off checks, and this route for anything list-sized, where it is materially cheaper per email. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `emails` | array | yes | Emails to verify (1–5000). | | `use_providers` | array | no | Provider pin. Omit for the default: BounceBan (resolves catch-all/risky addresses, ~0.2 credits per conclusively-verified email) with AUTOMATIC failover to Icypeas (0.1 credits/verified) if the BounceBan submit fails. An explicit pin ("bounceban" or "icypeas") is strict — its backend's failure returns an error instead of switching. Any other verifier is rejected with guidance rather than silently ignored. | | `webhook_url` | string | no | Optional URL notified when the job completes. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/email/verify/bulk/submit" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"emails":["michel@coldiq.com","jane@google.com"]}' ``` Request body: ```json { "emails": [ "michel@coldiq.com", "jane@google.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted | | `400` | No valid emails | | `402` | Insufficient credits | | `502` | Provider unavailable | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_id` | number | yes | | | `status` | string | yes | | | `items_total` | number | yes | | | `credits_reserved` | number | no | Worst-case credits held for this job upfront (settled to the actual charge on completion; the unused remainder is refunded). 0 for delegated per-row jobs. | | `credits_balance_after` | number | no | Indicative remaining balance after this reservation (auth-time snapshot − reserved). | | `low_balance_warning` | string | no | Present when the balance after this reservation is low — top up to avoid a mid-run 402. | Example response: ```json { "job_id": 0, "status": "string", "items_total": 0, "credits_reserved": 0, "credits_balance_after": 0, "low_balance_warning": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/email/verify/bulk/submit # Bulk Find Emails — `POST /v1/email/find/bulk/submit` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/email/find/bulk/submit` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find professional emails for up to 5,000 people asynchronously. Each row runs the same managed multi-provider waterfall as find_email (LinkedIn URL included). Returns a job_id immediately; poll POST /v1/jobs/{job_id}/results. Billing is per row, charge-on-success (misses are free; no upfront reservation); a located email the provider itself marks as a pattern guess comes back as verdict `guessed` and is FREE (verify before sending). Unsearchable rows (no linkedin_url and no full name + company signal) are returned as not_found and not charged. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `people` | array | yes | People to find emails for (1–5000). Searchable rows need a linkedin_url, OR first_name + last_name + (domain or company_name). | | `people[].id` | string | no | | | `people[].first_name` | string | no | | | `people[].last_name` | string | no | | | `people[].domain` | string | no | | | `people[].company_name` | string | no | Company name — company signal when the domain is unknown. | | `people[].linkedin_url` | string | no | LinkedIn profile URL — searchable on its own, no name/domain needed. | | `resolve_current_employer` | boolean | no | Opt-in: when a row misses and has a linkedin_url, enrich the person to resolve their CURRENT employer's domain and retry once — recovers stale/acquired input domains (extra ~1 credit per resolved row). Default false. | | `max_credits` | number | no | Per-row spend cap. A provider that would find the email but costs more than this is skipped (the row comes back not_found rather than overspending). (min 0) | | `webhook_url` | string | no | (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/email/find/bulk/submit" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"people":[{"id":"michel","first_name":"Michel","last_name":"Lieben","domain":"coldiq.com","linkedin_url":"https://www.linkedin.com/in/michel-lieben"}]}' ``` Request body: ```json { "people": [ { "id": "michel", "first_name": "Michel", "last_name": "Lieben", "domain": "coldiq.com", "linkedin_url": "https://www.linkedin.com/in/michel-lieben" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted | | `400` | No searchable people | | `402` | Insufficient credits | | `502` | Provider unavailable | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_id` | number | yes | | | `status` | string | yes | | | `items_total` | number | yes | | | `credits_reserved` | number | no | Worst-case credits held for this job upfront (settled to the actual charge on completion; the unused remainder is refunded). 0 for delegated per-row jobs. | | `credits_balance_after` | number | no | Indicative remaining balance after this reservation (auth-time snapshot − reserved). | | `low_balance_warning` | string | no | Present when the balance after this reservation is low — top up to avoid a mid-run 402. | Example response: ```json { "job_id": 0, "status": "string", "items_total": 0, "credits_reserved": 0, "credits_balance_after": 0, "low_balance_warning": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/email/find/bulk/submit # Bulk Enrich People — `POST /v1/person/enrich/bulk/submit` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/person/enrich/bulk/submit` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich up to 5,000 people asynchronously. Returns a job_id immediately; poll POST /v1/jobs/{job_id}/results for status + per-row profiles. Each row runs the same managed waterfall as enrich_person; charged only per row a provider enriches (misses are free). ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `inputs` | array | yes | People to enrich (1–5000). | | `inputs[].email` | string | no | Work email — strongest identifier. | | `inputs[].linkedin_url` | string | no | LinkedIn profile URL. | | `inputs[].first_name` | string | no | | | `inputs[].last_name` | string | no | | | `inputs[].company_name` | string | no | | | `inputs[].domain` | string | no | Company domain, e.g. "coldiq.com". | | `max_credits` | number | no | Per-row spend cap. A provider that would enrich the row but costs more than this is skipped (row comes back not_found rather than overspending). (min 0) | | `webhook_url` | string | no | Optional URL notified when the job completes. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/person/enrich/bulk/submit" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"inputs":[{"first_name":"Michel","last_name":"Lieben","domain":"coldiq.com"}]}' ``` Request body: ```json { "inputs": [ { "first_name": "Michel", "last_name": "Lieben", "domain": "coldiq.com" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted | | `400` | No valid inputs | | `402` | Insufficient credits | | `502` | Provider unavailable | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_id` | number | yes | | | `status` | string | yes | | | `items_total` | number | yes | | | `credits_reserved` | number | no | Worst-case credits held for this job upfront (settled to the actual charge on completion; the unused remainder is refunded). 0 for delegated per-row jobs. | | `credits_balance_after` | number | no | Indicative remaining balance after this reservation (auth-time snapshot − reserved). | | `low_balance_warning` | string | no | Present when the balance after this reservation is low — top up to avoid a mid-run 402. | Example response: ```json { "job_id": 0, "status": "string", "items_total": 0, "credits_reserved": 0, "credits_balance_after": 0, "low_balance_warning": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/person/enrich/bulk/submit # Bulk Enrich Companies — `POST /v1/company/enrich/bulk/submit` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/company/enrich/bulk/submit` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich up to 5,000 companies asynchronously. Returns a job_id immediately; poll POST /v1/jobs/{job_id}/results for status + per-row firmographics. Each row runs the same managed waterfall as enrich_company; charged only per row a provider enriches (misses are free). ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `inputs` | array | yes | Companies to enrich (1–5000). | | `inputs[].domain` | string | no | Company domain, e.g. "coldiq.com". | | `inputs[].name` | string | no | Company name, e.g. "ColdIQ". | | `inputs[].company_name` | string | no | Alias for `name`. | | `inputs[].linkedin_url` | string | no | Company LinkedIn URL. | | `max_credits` | number | no | Per-row spend cap. A provider that would enrich the row but costs more than this is skipped (row comes back not_found rather than overspending). (min 0) | | `webhook_url` | string | no | Optional URL notified when the job completes. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/company/enrich/bulk/submit" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"inputs":[{"domain":"coldiq.com"}]}' ``` Request body: ```json { "inputs": [ { "domain": "coldiq.com" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted | | `400` | No valid inputs | | `402` | Insufficient credits | | `502` | Provider unavailable | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_id` | number | yes | | | `status` | string | yes | | | `items_total` | number | yes | | | `credits_reserved` | number | no | Worst-case credits held for this job upfront (settled to the actual charge on completion; the unused remainder is refunded). 0 for delegated per-row jobs. | | `credits_balance_after` | number | no | Indicative remaining balance after this reservation (auth-time snapshot − reserved). | | `low_balance_warning` | string | no | Present when the balance after this reservation is low — top up to avoid a mid-run 402. | Example response: ```json { "job_id": 0, "status": "string", "items_total": 0, "credits_reserved": 0, "credits_balance_after": 0, "low_balance_warning": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/company/enrich/bulk/submit # Bulk Find Phones — `POST /v1/phone/find/bulk/submit` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/phone/find/bulk/submit` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find direct/mobile phone numbers for up to 5,000 people asynchronously. Returns a job_id immediately; poll POST /v1/jobs/{job_id}/results. Each row runs the same managed waterfall as find_phone; charged only per row a provider returns a number (misses are free). Phone lookups are expensive (10+ credits each) — scope the list deliberately. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `inputs` | array | yes | People to find phone numbers for (1–5000). | | `inputs[].linkedin_url` | string | no | LinkedIn profile URL. | | `inputs[].first_name` | string | no | First name (with last_name + company_domain/name). | | `inputs[].last_name` | string | no | | | `inputs[].company_domain` | string | no | Company domain, e.g. "coldiq.com". | | `inputs[].company_name` | string | no | Company name — alternative to company_domain. | | `max_credits` | number | no | Per-row spend cap. A provider that would return a number but costs more than this is skipped (row comes back not_found rather than overspending). Phone lookups can be 10+ credits — this bounds them. (min 0) | | `webhook_url` | string | no | Optional URL notified when the job completes. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/phone/find/bulk/submit" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"inputs":[{"first_name":"Michel","last_name":"Lieben","company_domain":"coldiq.com"}]}' ``` Request body: ```json { "inputs": [ { "first_name": "Michel", "last_name": "Lieben", "company_domain": "coldiq.com" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted | | `400` | No valid inputs | | `402` | Insufficient credits | | `502` | Provider unavailable | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_id` | number | yes | | | `status` | string | yes | | | `items_total` | number | yes | | | `credits_reserved` | number | no | Worst-case credits held for this job upfront (settled to the actual charge on completion; the unused remainder is refunded). 0 for delegated per-row jobs. | | `credits_balance_after` | number | no | Indicative remaining balance after this reservation (auth-time snapshot − reserved). | | `low_balance_warning` | string | no | Present when the balance after this reservation is low — top up to avoid a mid-run 402. | Example response: ```json { "job_id": 0, "status": "string", "items_total": 0, "credits_reserved": 0, "credits_balance_after": 0, "low_balance_warning": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/phone/find/bulk/submit # Get Bulk Job Results — `POST /v1/jobs/{job_id}/results` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/jobs/{job_id}/results` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll any async bulk job (verify/find email, enrich person/company, find phone). Returns status, per-verdict summary counts, and one page of rows. Each row echoes its submitted `input` so verdicts map back to submissions regardless of order. Paginate by omitting `cursor` for the first page, then passing `page.next_cursor` verbatim until it is null (`cursor` is an inclusive start rowIndex — cursor=0 returns the first row). ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_id` | string | yes | | ### Body (application/json) | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | integer | no | | | `limit` | integer | no | (min 1; max 1000) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/jobs/string/results" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"cursor":0,"limit":0}' ``` Request body: ```json { "cursor": 0, "limit": 0 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job status + page | | `404` | Job not found | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_id` | number | yes | | | `kind` | string \| null | yes | | | `status` | string | yes | | | `items_total` | number | yes | | | `items_processed` | number | yes | | | `summary` | object | yes | | | `coverage` | object | yes | Conclusive-vs-skipped rollup. `skipped` rows (per-row `result.reason` chunk_failed/not_returned/timed_out) were never conclusively checked and are safe to re-submit; `unverifiable` means the provider checked but couldn't determine; `failed` is a hard error (retry unlikely to help). | | `coverage.conclusive` | number | yes | | | `coverage.skipped` | number | yes | | | `coverage.unverifiable` | number | yes | | | `coverage.failed` | number | yes | | | `coverage.pending` | number | yes | | | `credits_reserved` | number \| null | yes | Worst-case credits held at submit (null for delegated per-row jobs). | | `credits_charged` | number \| null | yes | Actual credits charged — null until the job settles, then the settled cost. | | `page` | object | yes | | | `page.items` | array | yes | | | `page.items[].row_index` | number | yes | | | `page.items[].status` | string | yes | | | `page.items[].verdict` | string \| null | yes | | | `page.items[].result` | any \| null | no | | | `page.items[].input` | any \| null | no | | | `page.next_cursor` | number \| null | yes | Inclusive start rowIndex for the next page (opaque — pass back verbatim). Null on the last page; omit `cursor` for the first page. | Example response: ```json { "job_id": 0, "kind": "string", "status": "string", "items_total": 0, "items_processed": 0, "summary": {}, "coverage": { "conclusive": 0, "skipped": 0, "unverifiable": 0, "failed": 0, "pending": 0 }, "credits_reserved": 0, "credits_charged": 0, "page": { "items": [ { "row_index": 0, "status": "string", "verdict": "string", "result": null, "input": null } ], "next_cursor": 0 } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/jobs/{job_id}/results # Cancel Bulk Job — `POST /v1/jobs/{job_id}/cancel` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: GTM Verbs - **Endpoint**: `POST https://api.coldiq.com/v1/jobs/{job_id}/cancel` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Stop a running find/enrich/phone bulk job so it spends no more credits. Cancels FUTURE row processing only: rows already found/enriched (and charged) stay — you received those results — and one in-flight batch (≤ ~25 rows) may still complete. Returns items_processed (rows that actually ran) and items_cancelled (un-started rows stopped — never charged; they come back from /results as coverage.skipped with result.reason "cancelled" and are safe to re-submit). Idempotent: cancelling a finished or already-cancelled job returns its current status, not an error. NOTE: bulk VERIFY jobs run as a single provider-side batch that finishes in minutes with the worst-case cost reserved at submit (unknowns refunded on completion), so they cannot be cancelled midway (400). ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_id` | string | yes | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/jobs/string/cancel" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job cancelled (or already terminal) | | `400` | This job kind cannot be cancelled | | `404` | Job not found | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_id` | number | yes | | | `status` | string | yes | "cancelled" on success, or the job's current terminal status if it had already finished. | | `items_total` | number | yes | | | `items_processed` | number | yes | Rows that actually produced a result (were processed/charged) — un-started rows are NOT counted here. | | `items_cancelled` | number | yes | Un-started rows stopped by the cancel (never charged; safe to re-submit). | Example response: ```json { "job_id": 0, "status": "string", "items_total": 0, "items_processed": 0, "items_cancelled": 0 } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/gtm-verbs?ep=post:/v1/jobs/{job_id}/cancel # Provider: Team # Get your team and its members — `GET /dashboard/team` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Team - **Endpoint**: `GET https://api.coldiq.com/dashboard/team` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/dashboard/team" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Your team, or a null team if you have none yet | | `401` | Unauthorized | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `team` | object \| null | yes | Null when no team exists yet — invite someone to create one. | | `team.id` | number | yes | | | `team.name` | string \| null | yes | | | `team.clerkOrganizationId` | string | yes | | | `role` | string (enum) | yes | (one of: owner, admin, member) | | `members` | array | yes | | | `members[].userId` | number \| null | yes | ColdIQ user id — null until they first sign in here. | | `members[].clerkUserId` | string | yes | | | `members[].email` | string | yes | | | `members[].name` | string \| null | yes | | | `members[].role` | string (enum) | yes | 'owner' is the billing anchor and cannot be removed or demoted; 'admin' manages members and billing; 'member' uses the workspace. (one of: owner, admin, member) | | `members[].joinedAt` | string | yes | | | `invitations` | array | yes | Pending invitations. Empty for plain members — owners and admins manage them. | | `invitations[].id` | string | yes | | | `invitations[].email` | string | yes | | | `invitations[].role` | string (enum) | yes | (one of: admin, member) | | `invitations[].createdAt` | string | yes | | Example response: ```json { "team": { "id": 0, "name": "string", "clerkOrganizationId": "string" }, "role": "string", "members": [ { "userId": 0, "clerkUserId": "string", "email": "string", "name": "string", "role": "string", "joinedAt": "string" } ], "invitations": [ { "id": "string", "email": "string", "role": "string", "createdAt": "string" } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/team?ep=get:/dashboard/team # Invite a member to your team — `POST /dashboard/team/invitations` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Team - **Endpoint**: `POST https://api.coldiq.com/dashboard/team/invitations` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Sends an invitation email (delivered by Clerk). Creates the team on the owner's first invite. The invitee joins under the workspace subscription — their usage bills the owner's credits. Owners and admins can invite; the role decides whether the invitee can manage members and billing. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | (format email) | | `role` | string (enum) | no | 'admin' can manage members and billing; 'member' can only use the workspace. (one of: admin, member; default "member") | ## Example request ```bash curl -X POST "https://api.coldiq.com/dashboard/team/invitations" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com","role":"member"}' ``` Request body: ```json { "email": "michel@coldiq.com", "role": "member" } ``` ## Responses | Status | Meaning | | --- | --- | | `201` | Invitation sent | | `400` | Invalid or duplicate invitation | | `401` | Unauthorized | | `403` | Only the workspace owner or an admin can do this | ### `201` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | | | `email` | string | yes | | | `role` | string (enum) | yes | (one of: admin, member) | | `createdAt` | string | yes | | Example response: ```json { "id": "string", "email": "string", "role": "string", "createdAt": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/team?ep=post:/dashboard/team/invitations # Revoke a pending invitation — `DELETE /dashboard/team/invitations/{invitationId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Team - **Endpoint**: `DELETE https://api.coldiq.com/dashboard/team/invitations/{invitationId}` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `invitationId` | string | yes | | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/dashboard/team/invitations/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Invitation revoked | | `400` | Invalid request | | `401` | Unauthorized | | `403` | Only the workspace owner or an admin can do this | | `404` | No team | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `revoked` | boolean | yes | | Example response: ```json { "revoked": false } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/team?ep=delete:/dashboard/team/invitations/{invitationId} # Remove a member from your team — `DELETE /dashboard/team/members/{userId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Team - **Endpoint**: `DELETE https://api.coldiq.com/dashboard/team/members/{userId}` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Revokes their membership and immediately deactivates the API keys they created in this team. Accepts a ColdIQ user id, or a Clerk user id for a member who accepted the invitation but has never signed in here. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `userId` | string | yes | | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/dashboard/team/members/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Member removed | | `400` | Invalid request | | `401` | Unauthorized | | `403` | Only the workspace owner or an admin can do this | | `404` | No such member | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `removed` | boolean | yes | | Example response: ```json { "removed": false } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/team?ep=delete:/dashboard/team/members/{userId} # Change a member's role — `PATCH /dashboard/team/members/{userId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Team - **Endpoint**: `PATCH https://api.coldiq.com/dashboard/team/members/{userId}` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Promote a member to admin or demote an admin to member. The workspace owner's role can never be changed. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `userId` | integer | yes | (min 0) | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `role` | string (enum) | yes | (one of: admin, member) | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/dashboard/team/members/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"role":"admin"}' ``` Request body: ```json { "role": "admin" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Role updated | | `400` | Invalid request | | `401` | Unauthorized | | `403` | Only the workspace owner or an admin can do this | | `404` | No such member | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `updated` | boolean | yes | | Example response: ```json { "updated": false } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/team?ep=patch:/dashboard/team/members/{userId} # Get this month's team usage per member — `GET /dashboard/team/usage` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Team - **Endpoint**: `GET https://api.coldiq.com/dashboard/team/usage` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/dashboard/team/usage" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Usage grouped by member | | `401` | Unauthorized | | `403` | Only the workspace owner or an admin can do this | | `404` | No team | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `members` | array | yes | | | `members[].userId` | number | yes | | | `members[].email` | string | yes | | | `members[].calls` | number | yes | | | `members[].credits` | number | yes | | | `totalCalls` | number | yes | | | `totalCredits` | number | yes | | Example response: ```json { "members": [ { "userId": 0, "email": "string", "calls": 0, "credits": 0 } ], "totalCalls": 0, "totalCredits": 0 } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/team?ep=get:/dashboard/team/usage # Provider: Slack # Get the Slack workspace connected to your team — `GET /dashboard/slack/connection` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Slack - **Endpoint**: `GET https://api.coldiq.com/dashboard/slack/connection` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Shows the bound Slack workspace, who connected it and when. Any member of the team can read it. Returns `connected: false` with a null connection when the team has no workspace. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/dashboard/slack/connection" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | The binding, or a null connection when there is none | | `401` | Unauthorized | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `connected` | boolean | yes | True only while a binding exists AND its Slack token is still good. A revoked binding reports false and keeps `connection`, so the panel can offer a reconnect. | | `connection` | object \| null | yes | Null when the team has never connected a workspace. | | `connection.slackTeamId` | string | yes | Slack workspace id (the `T…` id). | | `connection.workspaceName` | string | yes | | | `connection.status` | string (enum) | yes | (one of: active, revoked) | | `connection.connectedAt` | string | yes | ISO-8601 timestamp of the install. | | `connection.connectedBy` | object \| null | yes | Null for an install made before this feature, which recorded no ColdIQ user. | | `connection.connectedBy.userId` | number \| null | yes | ColdIQ user id of the person who ran the install. | | `connection.connectedBy.name` | string \| null | yes | | | `connection.connectedBy.email` | string \| null | yes | | | `connection.canDisconnect` | boolean | yes | Whether THIS caller may disconnect — true for the team owner and for the person who connected it. | Example response: ```json { "connected": false, "connection": { "slackTeamId": "string", "workspaceName": "string", "status": "string", "connectedAt": "string", "connectedBy": { "userId": 0, "name": "string", "email": "string" }, "canDisconnect": false } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/slack?ep=get:/dashboard/slack/connection # Disconnect your team from Slack — `DELETE /dashboard/slack/connection` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Slack - **Endpoint**: `DELETE https://api.coldiq.com/dashboard/slack/connection` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Marks the workspace revoked, so the bot answers nobody until someone reconnects it. Only the team owner and the person who connected the workspace can do this. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X DELETE "https://api.coldiq.com/dashboard/slack/connection" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | The workspace is disconnected | | `401` | Unauthorized | | `403` | Only the team owner or the person who connected it can disconnect | | `404` | Your team has no Slack workspace | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `disconnected` | boolean | yes | | Example response: ```json { "disconnected": false } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/slack?ep=delete:/dashboard/slack/connection # Provider: FullEnrich # Enrich Contacts In Bulk — `POST /v1/fullenrich/contact/enrich/bulk` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: FullEnrich - **Endpoint**: `POST https://api.coldiq.com/v1/fullenrich/contact/enrich/bulk` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Submit up to 100 contacts for enrichment. Returns an `enrichment_id` immediately — results are delivered asynchronously via webhook and stored for retrieval via GET. Credits are reserved upfront (worst-case) and the unused portion is refunded when results arrive; the rate differs per requested field (work email, personal email, phone number) — call get_endpoint_details for the live rates. Credits: variable per contact, charged by which fields you request (contact.emails, contact.phones, contact.personal_emails). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/phone/find` (Find Phone) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | A readable name for this enrichment (visible in your FullEnrich dashboard) | | `webhook_url` | string | no | (format uri) | | `webhook_events` | object | no | | | `webhook_events.contact_finished` | string | no | Receives a POST each time a single contact finishes enrichment (format uri) | | `data` | array | yes | List of contacts to enrich. Max 50 per call. | | `data[].first_name` | string | no | | | `data[].last_name` | string | no | | | `data[].domain` | string | no | | | `data[].company_name` | string | no | | | `data[].linkedin_url` | string | no | (format uri) | | `data[].enrich_fields` | array | yes | Fields to retrieve. Credit costs per contact: contact.emails=4, contact.personal_emails=10, contact.phones=34 | | `data[].custom` | object | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/fullenrich/contact/enrich/bulk" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Sales prospects Q1","data":[{"first_name":"Michel","last_name":"Lieben","domain":"coldiq.com","enrich_fields":["contact.emails"]}]}' ``` Request body: ```json { "name": "Sales prospects Q1", "data": [ { "first_name": "Michel", "last_name": "Lieben", "domain": "coldiq.com", "enrich_fields": [ "contact.emails" ] } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Enrichment job accepted. Credits reserved upfront; unused credits refunded when results arrive. | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `enrichment_id` | string | yes | Use this ID to poll enrichment status or retrieve results via GET (format uuid) | Example response: ```json { "enrichment_id": "2db5ea61-1752-42cf-8ea1-ab1da060cd0a" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/fullenrich?ep=post:/v1/fullenrich/contact/enrich/bulk # Get Bulk Enrich Results — `GET /v1/fullenrich/contact/enrich/bulk/{enrichmentId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: FullEnrich - **Endpoint**: `GET https://api.coldiq.com/v1/fullenrich/contact/enrich/bulk/{enrichmentId}` - **Credits**: 11.63 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve the result of a bulk enrichment job. Returns stored results instantly for completed jobs. For in-progress jobs, proxies to FullEnrich to get current status. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `enrichmentId` | string | yes | (format uuid) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/fullenrich/contact/enrich/bulk/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job result | | `202` | Job still in progress | | `404` | Job not found | | `410` | Job expired — credits have been refunded, please resubmit | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | (format uuid) | | `name` | string | yes | | | `status` | string | yes | | | `cost` | object | yes | | | `cost.credits` | number | yes | (min 0) | | `data` | array | yes | | Example response: ```json { "id": "string", "name": "string", "status": "string", "cost": { "credits": 0 }, "data": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/fullenrich?ep=get:/v1/fullenrich/contact/enrich/bulk/{enrichmentId} # Reverse Contact Lookup In Bulk — `POST /v1/fullenrich/contact/reverse/email/bulk` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: FullEnrich - **Endpoint**: `POST https://api.coldiq.com/v1/fullenrich/contact/reverse/email/bulk` - **Credits**: 11.63 credits per contact - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Submit up to 100 emails for reverse lookup. Returns an `enrichment_id` immediately — results are delivered asynchronously via webhook and stored for retrieval via GET. Credits: bills only for returned results, per contact; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | A readable name for this lookup batch (visible in your FullEnrich dashboard) | | `webhook_url` | string | no | (format uri) | | `webhook_events` | object | no | | | `webhook_events.contact_finished` | string | no | Receives a POST each time a single email reverse lookup finishes (format uri) | | `data` | array | yes | List of emails to reverse-lookup. Max 100 per call. Costs 1 credit per email. | | `data[].email` | string | yes | (format email) | | `data[].custom` | object | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/fullenrich/contact/reverse/email/bulk" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Reverse email lookup Q1","data":[{"email":"michel@coldiq.com"}]}' ``` Request body: ```json { "name": "Reverse email lookup Q1", "data": [ { "email": "michel@coldiq.com" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Lookup job accepted. 1 credit reserved per email; refunded for any not processed. | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `enrichment_id` | string | yes | Use this ID to retrieve results via GET or receive them via webhook (format uuid) | Example response: ```json { "enrichment_id": "2db5ea61-1752-42cf-8ea1-ab1da060cd0a" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/fullenrich?ep=post:/v1/fullenrich/contact/reverse/email/bulk # Get Bulk Reverse Email Results — `GET /v1/fullenrich/contact/reverse/email/bulk/{enrichmentId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: FullEnrich - **Endpoint**: `GET https://api.coldiq.com/v1/fullenrich/contact/reverse/email/bulk/{enrichmentId}` - **Credits**: 11.63 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve the result of a bulk reverse email lookup. Returns stored results instantly for completed jobs. For in-progress jobs, proxies to FullEnrich to get current status. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `enrichmentId` | string | yes | (format uuid) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/fullenrich/contact/reverse/email/bulk/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Lookup result | | `202` | Job still in progress | | `404` | Job not found | | `410` | Job expired — credits have been refunded, please resubmit | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | (format uuid) | | `name` | string | yes | | | `status` | string | yes | | | `cost` | object | yes | | | `cost.credits` | number | yes | (min 0) | | `data` | array | yes | | Example response: ```json { "id": "string", "name": "string", "status": "string", "cost": { "credits": 0 }, "data": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/fullenrich?ep=get:/v1/fullenrich/contact/reverse/email/bulk/{enrichmentId} # Search people — `POST /v1/fullenrich/people/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: FullEnrich - **Endpoint**: `POST https://api.coldiq.com/v1/fullenrich/people/search` - **Credits**: 11.63 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Synchronous people search with filter-based queries. Credits are reserved upfront based on the requested `limit` and settled immediately once the actual cost is returned by FullEnrich in `metadata.credits`. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/people/search` (Find People) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `offset` | integer | no | (min 0; max 10000) | | `limit` | integer | no | (min 1; max 100) | | `search_after` | string | no | | | `current_company_names` | array | no | | | `current_company_names[].value` | string | yes | | | `current_company_names[].exclude` | boolean | no | | | `current_company_names[].exact_match` | boolean | no | | | `current_company_domains` | array | no | | | `current_company_domains[].value` | string | yes | | | `current_company_domains[].exclude` | boolean | no | | | `current_company_domains[].exact_match` | boolean | no | | | `current_company_linkedin_urls` | array | no | | | `current_company_linkedin_urls[].value` | string | yes | | | `current_company_linkedin_urls[].exclude` | boolean | no | | | `current_company_linkedin_urls[].exact_match` | boolean | no | | | `current_company_specialties` | array | no | | | `current_company_specialties[].value` | string | yes | | | `current_company_specialties[].exclude` | boolean | no | | | `current_company_specialties[].exact_match` | boolean | no | | | `current_company_industries` | array | no | | | `current_company_industries[].value` | string | yes | | | `current_company_industries[].exclude` | boolean | no | | | `current_company_industries[].exact_match` | boolean | no | | | `current_company_types` | array | no | | | `current_company_types[].value` | string | yes | | | `current_company_types[].exclude` | boolean | no | | | `current_company_types[].exact_match` | boolean | no | | | `current_company_headquarters` | array | no | | | `current_company_headquarters[].value` | string | yes | | | `current_company_headquarters[].exclude` | boolean | no | | | `current_company_headquarters[].exact_match` | boolean | no | | | `past_company_names` | array | no | | | `past_company_names[].value` | string | yes | | | `past_company_names[].exclude` | boolean | no | | | `past_company_names[].exact_match` | boolean | no | | | `past_company_domains` | array | no | | | `past_company_domains[].value` | string | yes | | | `past_company_domains[].exclude` | boolean | no | | | `past_company_domains[].exact_match` | boolean | no | | | `person_ids` | array | no | | | `person_ids[].value` | string | yes | | | `person_ids[].exclude` | boolean | no | | | `person_ids[].exact_match` | boolean | no | | | `person_names` | array | no | | | `person_names[].value` | string | yes | | | `person_names[].exclude` | boolean | no | | | `person_names[].exact_match` | boolean | no | | | `person_linkedin_urls` | array | no | | | `person_linkedin_urls[].value` | string | yes | | | `person_linkedin_urls[].exclude` | boolean | no | | | `person_linkedin_urls[].exact_match` | boolean | no | | | `person_locations` | array | no | | | `person_locations[].value` | string | yes | | | `person_locations[].exclude` | boolean | no | | | `person_locations[].exact_match` | boolean | no | | | `person_skills` | array | no | | | `person_skills[].value` | string | yes | | | `person_skills[].exclude` | boolean | no | | | `person_skills[].exact_match` | boolean | no | | | `current_position_seniority_level` | array | no | | | `current_position_seniority_level[].value` | string | yes | | | `current_position_seniority_level[].exclude` | boolean | no | | | `current_position_seniority_level[].exact_match` | boolean | no | | | `current_position_titles` | array | no | | | `current_position_titles[].value` | string | yes | | | `current_position_titles[].exclude` | boolean | no | | | `current_position_titles[].exact_match` | boolean | no | | | `past_position_titles` | array | no | | | `past_position_titles[].value` | string | yes | | | `past_position_titles[].exclude` | boolean | no | | | `past_position_titles[].exact_match` | boolean | no | | | `person_universities` | array | no | | | `person_universities[].value` | string | yes | | | `person_universities[].exclude` | boolean | no | | | `person_universities[].exact_match` | boolean | no | | | `current_company_ids` | array | no | | | `current_company_ids[].value` | string | yes | | | `current_company_ids[].exclude` | boolean | no | | | `current_company_ids[].exact_match` | boolean | no | | | `current_company_headcounts` | array | no | | | `current_company_headcounts[].min` | integer | no | | | `current_company_headcounts[].max` | integer | no | | | `current_company_founded_years` | array | no | | | `current_company_founded_years[].min` | integer | no | | | `current_company_founded_years[].max` | integer | no | | | `current_position_years_in` | array | no | | | `current_position_years_in[].min` | integer | no | | | `current_position_years_in[].max` | integer | no | | | `current_company_years_at` | array | no | | | `current_company_years_at[].min` | integer | no | | | `current_company_years_at[].max` | integer | no | | | `current_company_days_since_last_job_change` | array | no | | | `current_company_days_since_last_job_change[].min` | integer | no | | | `current_company_days_since_last_job_change[].max` | integer | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/fullenrich/people/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"current_company_domains":[{"value":"coldiq.com"}],"current_position_titles":[{"value":"CEO"}],"limit":10}' ``` Request body: ```json { "current_company_domains": [ { "value": "coldiq.com" } ], "current_position_titles": [ { "value": "CEO" } ], "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search results with actual credit cost in metadata.credits | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `people` | array | yes | | | `metadata` | object | yes | | | `metadata.total` | integer \| null | no | | | `metadata.credits` | number | yes | (min 0) | | `metadata.offset` | integer | no | | | `metadata.search_after` | string | no | | Example response: ```json { "people": [ null ], "metadata": { "total": 0, "credits": 0, "offset": 0, "search_after": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/fullenrich?ep=post:/v1/fullenrich/people/search # Search company — `POST /v1/fullenrich/company/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: FullEnrich - **Endpoint**: `POST https://api.coldiq.com/v1/fullenrich/company/search` - **Credits**: 11.63 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Synchronous company search with filter-based queries. Credits are reserved upfront based on the requested `limit` and settled immediately once the actual cost is returned by FullEnrich in `metadata.credits`. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternatives: `POST /v1/company/enrich` (Enrich Company) and `POST /v1/companies/search` (Search Companies) run this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and fall back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `offset` | integer | no | (min 0; max 10000) | | `limit` | integer | no | (min 1; max 100) | | `search_after` | string | no | | | `names` | array | no | | | `names[].value` | string | yes | | | `names[].exclude` | boolean | no | | | `names[].exact_match` | boolean | no | | | `domains` | array | no | | | `domains[].value` | string | yes | | | `domains[].exclude` | boolean | no | | | `domains[].exact_match` | boolean | no | | | `linkedin_urls` | array | no | | | `linkedin_urls[].value` | string | yes | | | `linkedin_urls[].exclude` | boolean | no | | | `linkedin_urls[].exact_match` | boolean | no | | | `keywords` | array | no | | | `keywords[].value` | string | yes | | | `keywords[].exclude` | boolean | no | | | `keywords[].exact_match` | boolean | no | | | `specialties` | array | no | | | `specialties[].value` | string | yes | | | `specialties[].exclude` | boolean | no | | | `specialties[].exact_match` | boolean | no | | | `industries` | array | no | | | `industries[].value` | string | yes | | | `industries[].exclude` | boolean | no | | | `industries[].exact_match` | boolean | no | | | `types` | array | no | | | `types[].value` | string | yes | | | `types[].exclude` | boolean | no | | | `types[].exact_match` | boolean | no | | | `headquarters_locations` | array | no | | | `headquarters_locations[].value` | string | yes | | | `headquarters_locations[].exclude` | boolean | no | | | `headquarters_locations[].exact_match` | boolean | no | | | `company_ids` | array | no | | | `company_ids[].value` | string | yes | | | `company_ids[].exclude` | boolean | no | | | `company_ids[].exact_match` | boolean | no | | | `founded_years` | array | no | | | `founded_years[].min` | integer | no | | | `founded_years[].max` | integer | no | | | `headcounts` | array | no | | | `headcounts[].min` | integer | no | | | `headcounts[].max` | integer | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/fullenrich/company/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domains":[{"value":"coldiq.com"}],"limit":10}' ``` Request body: ```json { "domains": [ { "value": "coldiq.com" } ], "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search results with actual credit cost in metadata.credits | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `companies` | array | yes | | | `metadata` | object | yes | | | `metadata.total` | integer \| null | no | | | `metadata.credits` | number | yes | (min 0) | | `metadata.offset` | integer | no | | | `metadata.search_after` | string | no | | Example response: ```json { "companies": [ null ], "metadata": { "total": 0, "credits": 0, "offset": 0, "search_after": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/fullenrich?ep=post:/v1/fullenrich/company/search # Provider: Adyntel # Facebook & Instagram Ads — `POST /v1/adyntel/facebook` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Adyntel - **Endpoint**: `POST https://api.coldiq.com/v1/adyntel/facebook` - **Credits**: 1.85 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch the active Facebook & Instagram (Meta) ads for a company by domain or Facebook page URL. Returns one page of ads plus a `continuation_token` for the next page. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/ads/search` (Search Ads) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domain` | string | no | Company website without protocol or www (e.g. 'coldiq.com'). Provide this or facebook_url. | | `facebook_url` | string | no | Full Facebook page URL (must start with https://). Provide this or company_domain. | | `country_code` | string | no | ISO country code to filter ads (e.g. 'US') | | `media_type` | string (enum) | no | Filter ads by creative media type (one of: image, meme, image_and_meme, video) | | `active_status` | string (enum) | no | Which ads to return (default: active). "all" returns active + inactive. (one of: active, inactive, all) | | `check_ugc` | boolean | no | Detect user-generated-content style video ads. Requires media_type=video. | | `continuation_token` | string | no | Pagination token from a previous response to fetch the next 30 ads. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/adyntel/facebook" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"nike.com","country_code":"US"}' ``` Request body: ```json { "company_domain": "nike.com", "country_code": "US" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Meta ads for the company | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/adyntel?ep=post:/v1/adyntel/facebook # Google Ads — `POST /v1/adyntel/google` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Adyntel - **Endpoint**: `POST https://api.coldiq.com/v1/adyntel/google` - **Credits**: 1.85 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch the Google ads (Search, Display, Shopping creatives) running for a company domain, from the Google Ads Transparency Center. Returns one page plus a `continuation_token`. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/ads/search` (Search Ads) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domain` | string | yes | Company website without protocol or www (e.g. 'coldiq.com') | | `media_type` | string (enum) | no | Filter ads by creative format (one of: text, image, video) | | `continuation_token` | string | no | Pagination token from a previous response to fetch the next page. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/adyntel/google" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"nike.com"}' ``` Request body: ```json { "company_domain": "nike.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Google ads for the domain | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/adyntel?ep=post:/v1/adyntel/google # LinkedIn Ads — `POST /v1/adyntel/linkedin` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Adyntel - **Endpoint**: `POST https://api.coldiq.com/v1/adyntel/linkedin` - **Credits**: 1.85 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch the LinkedIn ads for a company by domain or LinkedIn page ID, from the LinkedIn Ad Library. Returns one page plus a `continuation_token`. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/ads/search` (Search Ads) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domain` | string | no | Company website without protocol or www (e.g. 'coldiq.com'). Provide this or linkedin_page_id. | | `linkedin_page_id` | integer | no | LinkedIn company page ID (numeric). Provide this or company_domain. | | `date_filter` | string (enum) \| object | no | Time window: a preset (last30d, month, year, lastyear) or a custom {startdate, enddate} range. | | `continuation_token` | string | no | Pagination token from a previous response to fetch the next page. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/adyntel/linkedin" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"salesforce.com"}' ``` Request body: ```json { "company_domain": "salesforce.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | LinkedIn ads for the company | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/adyntel?ep=post:/v1/adyntel/linkedin # LinkedIn Keyword Search — `POST /v1/adyntel/linkedin-keyword-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Adyntel - **Endpoint**: `POST https://api.coldiq.com/v1/adyntel/linkedin-keyword-search` - **Credits**: 1.85 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search the LinkedIn Ad Library by keyword to discover ads across advertisers, optionally filtered by country and date window. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keyword` | string | yes | Search term for LinkedIn ads (a phrase, brand, or domain) | | `country` | string | no | Two-letter country code (e.g. 'US') | | `dateOption` | string (enum) | no | Time filter. Use custom-date-range with startDate/endDate. (one of: current-month, current-year, last-30-days, last-year, custom-date-range) | | `startDate` | string | no | YYYY-MM-DD — required when dateOption is custom-date-range | | `endDate` | string | no | YYYY-MM-DD — required when dateOption is custom-date-range | | `continuation_token` | string | no | Pagination token from a previous response. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/adyntel/linkedin-keyword-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keyword":"crm software","country":"US","dateOption":"last-30-days"}' ``` Request body: ```json { "keyword": "crm software", "country": "US", "dateOption": "last-30-days" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Matching LinkedIn ads | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/adyntel?ep=post:/v1/adyntel/linkedin-keyword-search # Meta Ad Search — `POST /v1/adyntel/meta-ad-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Adyntel - **Endpoint**: `POST https://api.coldiq.com/v1/adyntel/meta-ad-search` - **Credits**: 1.85 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search the Meta (Facebook & Instagram) ad library by keyword to discover ads across advertisers, optionally filtered by country. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keyword` | string | yes | Search term to find ads in the Meta ad library | | `country_code` | string | no | ISO country code to filter results (e.g. 'US') | | `continuation_token` | string | no | Pagination token from a previous response. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/adyntel/meta-ad-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keyword":"running shoes","country_code":"US"}' ``` Request body: ```json { "keyword": "running shoes", "country_code": "US" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Matching Meta ads | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/adyntel?ep=post:/v1/adyntel/meta-ad-search # TikTok Ad Search — `POST /v1/adyntel/tiktok-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Adyntel - **Endpoint**: `POST https://api.coldiq.com/v1/adyntel/tiktok-search` - **Credits**: 1.85 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search the TikTok ad library by keyword to discover ads, optionally filtered by country (mostly European; US not supported). Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keyword` | string | yes | Search term to find ads in the TikTok ad library | | `country_code` | string | no | Two-letter country code (mostly European) or 'ALL'. US filtering is not supported; omit for all countries. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/adyntel/tiktok-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keyword":"crm software","country_code":"GB"}' ``` Request body: ```json { "keyword": "crm software", "country_code": "GB" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Matching TikTok ads | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/adyntel?ep=post:/v1/adyntel/tiktok-search # TikTok Ad Details — `POST /v1/adyntel/tiktok-ad-details` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Adyntel - **Endpoint**: `POST https://api.coldiq.com/v1/adyntel/tiktok-ad-details` - **Credits**: 1.85 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch full details for a single TikTok ad — creative, advertiser, and targeting breakdown — by ad ID from a TikTok Ad Search result. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Ad ID from a TikTok Ad Search result | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/adyntel/tiktok-ad-details" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"id":"1816440843906114"}' ``` Request body: ```json { "id": "1816440843906114" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Detailed TikTok ad data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/adyntel?ep=post:/v1/adyntel/tiktok-ad-details # Paid vs Organic Keywords — `POST /v1/adyntel/domain-keywords` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Adyntel - **Endpoint**: `POST https://api.coldiq.com/v1/adyntel/domain-keywords` - **Credits**: 1.85 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get a domain's paid vs organic keyword breakdown — ranking-position distribution, estimated traffic, ad budget, and average CPC. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domain` | string | yes | Company website without protocol or www (e.g. 'coldiq.com') | | `language` | string | no | Language code to scope keyword rankings | | `limit` | integer | no | Max keywords to analyse (min 0; max 1000) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/adyntel/domain-keywords" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"coldiq.com"}' ``` Request body: ```json { "company_domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Paid vs organic keyword breakdown | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/adyntel?ep=post:/v1/adyntel/domain-keywords # Provider: Apollo # People Enrichment — `POST /v1/apollo/people/match` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Apollo - **Endpoint**: `POST https://api.coldiq.com/v1/apollo/people/match` - **Credits**: 9.91 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich a person by name, email, LinkedIn URL, or company. Returns detailed profile data including employment history, social links, and contact info. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternatives: `POST /v1/email/find` (Find Email) and `POST /v1/person/enrich` (Enrich Person) run this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and fall back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `first_name` | string | no | Person's first name | | `last_name` | string | no | Person's last name | | `name` | string | no | Full name (alternative to first/last) | | `email` | string | no | Email address | | `hashed_email` | string | no | SHA-256 hashed email | | `organization_name` | string | no | Current company name | | `domain` | string | no | Current company domain | | `id` | string | no | Apollo person ID | | `linkedin_url` | string | no | LinkedIn profile URL | | `reveal_personal_emails` | boolean | no | Include personal emails | | `reveal_phone_number` | boolean | no | Include direct phone numbers | | `webhook_url` | string | no | Webhook URL for waterfall enrichment results | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/apollo/people/match" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"first_name":"Michel","last_name":"Lieben","organization_name":"ColdIQ"}' ``` Request body: ```json { "first_name": "Michel", "last_name": "Lieben", "organization_name": "ColdIQ" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Person data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/apollo?ep=post:/v1/apollo/people/match # Bulk People Enrichment — `POST /v1/apollo/people/bulk-match` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Apollo - **Endpoint**: `POST https://api.coldiq.com/v1/apollo/people/bulk-match` - **Credits**: 9.91 credits per person - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich up to 10 people in a single request. Credits: bills only for returned results, per person; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `details` | array | yes | Array of people to enrich (max 10) | | `details[].first_name` | string | no | | | `details[].last_name` | string | no | | | `details[].name` | string | no | | | `details[].email` | string | no | | | `details[].hashed_email` | string | no | | | `details[].organization_name` | string | no | | | `details[].domain` | string | no | | | `details[].id` | string | no | | | `details[].linkedin_url` | string | no | | | `reveal_personal_emails` | boolean | no | Include personal emails | | `reveal_phone_number` | boolean | no | Include direct phone numbers | | `webhook_url` | string | no | Webhook URL for waterfall enrichment results | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/apollo/people/bulk-match" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"details":[{"first_name":"Michel","last_name":"Lieben","organization_name":"ColdIQ"}]}' ``` Request body: ```json { "details": [ { "first_name": "Michel", "last_name": "Lieben", "organization_name": "ColdIQ" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | People data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/apollo?ep=post:/v1/apollo/people/bulk-match # Organization Enrichment — `POST /v1/apollo/organizations/enrich` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Apollo - **Endpoint**: `POST https://api.coldiq.com/v1/apollo/organizations/enrich` - **Credits**: 9.91 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich an organization by domain. Returns company details, size, funding, tech stack, etc. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/company/enrich` (Enrich Company) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | yes | Company domain to enrich | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/apollo/organizations/enrich" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com"}' ``` Request body: ```json { "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Organization data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/apollo?ep=post:/v1/apollo/organizations/enrich # Bulk Organization Enrichment — `POST /v1/apollo/organizations/bulk-enrich` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Apollo - **Endpoint**: `POST https://api.coldiq.com/v1/apollo/organizations/bulk-enrich` - **Credits**: 9.91 credits per org - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich up to 10 organizations by domain in a single request. Credits: bills only for returned results, per org; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domains` | array | yes | Array of company domains to enrich (max 10). Duplicates are deduplicated. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/apollo/organizations/bulk-enrich" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domains":["coldiq.com","microsoft.com"]}' ``` Request body: ```json { "domains": [ "coldiq.com", "microsoft.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Organizations data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/apollo?ep=post:/v1/apollo/organizations/bulk-enrich # People API Search — `POST /v1/apollo/people/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Apollo - **Endpoint**: `POST https://api.coldiq.com/v1/apollo/people/search` - **Credits**: 9.91 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search for people in Apollo's global database with filters like title, seniority, location, company. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/people/search` (Find People) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `q_keywords` | string | no | Keywords to search for | | `person_titles` | array | no | Job titles to filter by | | `person_not_titles` | array | no | Job titles to exclude | | `include_similar_titles` | boolean | no | When true, Apollo expands the match to similar job titles | | `person_seniorities` | array | no | Seniority levels (e.g. senior, manager, director, vp, c_suite) | | `q_organization_domains` | array | no | Company domains to filter by | | `organization_ids` | array | no | Apollo organization IDs | | `organization_num_employees_ranges` | array | no | Employee count ranges (e.g. "1,10", "11,50") | | `person_locations` | array | no | Person locations to filter by | | `organization_locations` | array | no | Company locations to filter by | | `contact_email_status` | array | no | Email status filter (e.g. verified, guessed, unavailable) | | `revenue_range` | object | no | Employer revenue range, e.g. { min: 1000000, max: 50000000 } | | `revenue_range.min` | number | no | | | `revenue_range.max` | number | no | | | `currently_using_any_of_technology_uids` | array | no | Employer uses any of these technology UIDs | | `currently_using_all_of_technology_uids` | array | no | Employer uses all of these technology UIDs | | `currently_not_using_any_of_technology_uids` | array | no | Exclude employers using any of these technology UIDs | | `q_organization_job_titles` | array | no | Job titles in employer's active job postings | | `organization_job_locations` | array | no | Locations of employer's active job postings | | `organization_num_jobs_range` | object | no | Range of active job postings at employer | | `organization_num_jobs_range.min` | number | no | | | `organization_num_jobs_range.max` | number | no | | | `organization_job_posted_at_range` | object | no | Date range for employer job postings (YYYY-MM-DD) | | `organization_job_posted_at_range.min` | string | no | | | `organization_job_posted_at_range.max` | string | no | | | `page` | integer | no | Page number (default 1) (min 1) | | `per_page` | integer | no | Results per page (max 100, default 25) (min 1; max 100) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/apollo/people/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"person_titles":["CEO"],"person_locations":["United States"],"per_page":10,"page":1}' ``` Request body: ```json { "person_titles": [ "CEO" ], "person_locations": [ "United States" ], "per_page": 10, "page": 1 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | People search results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/apollo?ep=post:/v1/apollo/people/search # Organization Search — `POST /v1/apollo/organizations/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Apollo - **Endpoint**: `POST https://api.coldiq.com/v1/apollo/organizations/search` - **Credits**: 9.91 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search for organizations in Apollo's global database with filters like industry, size, location. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `q_keywords` | string | no | Keywords to search for | | `q_organization_name` | string | no | Full or partial company name match | | `organization_ids` | array | no | Apollo organization IDs | | `organization_num_employees_ranges` | array | no | Employee count ranges | | `organization_locations` | array | no | Company locations | | `organization_not_locations` | array | no | Locations to exclude | | `q_organization_keyword_tags` | array | no | Industry/keyword tags | | `organization_not_keyword_tags` | array | no | Industry/keyword tags to exclude | | `revenue_range` | object | no | Annual revenue range, e.g. { min: 1000000, max: 50000000 } | | `revenue_range.min` | number | no | | | `revenue_range.max` | number | no | | | `currently_using_any_of_technology_uids` | array | no | Companies using any of these technology UIDs | | `latest_funding_amount_range` | object | no | Latest funding round amount range | | `latest_funding_amount_range.min` | number | no | | | `latest_funding_amount_range.max` | number | no | | | `total_funding_range` | object | no | Cumulative funding range | | `total_funding_range.min` | number | no | | | `total_funding_range.max` | number | no | | | `latest_funding_date_range` | object | no | Date range for the latest funding round (YYYY-MM-DD) | | `latest_funding_date_range.min` | string | no | | | `latest_funding_date_range.max` | string | no | | | `q_organization_job_titles` | array | no | Job titles in the company's active postings | | `organization_job_locations` | array | no | Locations of company job postings | | `organization_num_jobs_range` | object | no | Range of active job postings | | `organization_num_jobs_range.min` | number | no | | | `organization_num_jobs_range.max` | number | no | | | `organization_job_posted_at_range` | object | no | Date range for job postings (YYYY-MM-DD) | | `organization_job_posted_at_range.min` | string | no | | | `organization_job_posted_at_range.max` | string | no | | | `page` | integer | no | Page number (default 1) (min 1) | | `per_page` | integer | no | Results per page (max 100, default 25) (min 1; max 100) | | `limit` | integer | no | Auto-paginate and return up to this many companies (max 500). Apollo serves 100 per page at 1 credit/page, so this fetches up to ceil(limit/100) pages, billing only the pages actually fetched. Use instead of page/per_page for list building. (min 1; max 500) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/apollo/organizations/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q_organization_keyword_tags":["technology"],"organization_locations":["United States"],"limit":50}' ``` Request body: ```json { "q_organization_keyword_tags": [ "technology" ], "organization_locations": [ "United States" ], "limit": 50 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Organization search results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/apollo?ep=post:/v1/apollo/organizations/search # Get Complete Organization Info — `POST /v1/apollo/organizations/info` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Apollo - **Endpoint**: `POST https://api.coldiq.com/v1/apollo/organizations/info` - **Credits**: 9.91 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get detailed information about a specific organization by its Apollo ID. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `organization_id` | string | yes | Apollo organization ID | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/apollo/organizations/info" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"organization_id":"5fcd2cf3ed78c700f9383e4e"}' ``` Request body: ```json { "organization_id": "5fcd2cf3ed78c700f9383e4e" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Organization info | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/apollo?ep=post:/v1/apollo/organizations/info # Provider: BounceBan # Waterfall single verification — `POST /v1/bounceban/verify/single` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: BounceBan - **Endpoint**: `POST https://api.coldiq.com/v1/bounceban/verify/single` - **Credits**: 0.71 credits per verification - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Verify a single email in real time — resolves catch-all and risky addresses without sending. Charged from the provider's reported consumption: a catch-all/SEG-protected `unknown` result (score -1) bills 0. BILLING SHAPE: one synchronous call per email. Sibling route: POST /email/verify/bulk/submit (api "email") runs the SAME BounceBan backend asynchronously for up to 5,000 emails per job, bills per conclusively-verified email (an `unknown` verdict is free there too) and adds automatic Icypeas failover — materially cheaper per email at list scale, and it costs one request against your rate limit instead of one per address. Use this route only for interactive, one-off checks; price both on get_endpoint_details before verifying a list. Credits: bills only for returned results, per verification; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/email/verify` (Verify Email) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address to verify (format email) | | `mode` | string (enum) | no | Verification mode. `regular` (default) makes no company assumption; `deepverify` assumes the email domain is the owner's current company and improves accept-all resolution. (one of: regular, deepverify) | | `disable_catchall_verify` | number (enum) | no | Set to 1 to skip catch-all SMTP verification (catch-all/SEG-protected addresses return `unknown` at 0 cost). Defaults to 0 — BounceBan verifies catch-alls, which is its specialty. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/bounceban/verify/single" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Verification result | | `400` | Bad request (upstream validation error) | | `402` | Insufficient credits | | `404` | Bulk task not found for this account | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/bounceban?ep=post:/v1/bounceban/verify/single # Create bulk task from a list of emails — `POST /v1/bounceban/verify/bulk` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: BounceBan - **Endpoint**: `POST https://api.coldiq.com/v1/bounceban/verify/bulk` - **Credits**: 0.71 credits per email - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Submit a list of emails for asynchronous bulk verification. Credits are reserved upfront (per email) and settled when the task finishes — `unknown` results are refunded. Poll GET /bounceban/verify/bulk/status for progress and the settled charge. Credits: bills only for returned results, per email; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `emails` | array | yes | List of emails to verify (1–1000) | | `name` | string | no | Optional label for the bulk task | | `mode` | string (enum) | no | Verification mode. `regular` (default) makes no company assumption; `deepverify` assumes the email domain is the owner's current company and improves accept-all resolution. (one of: regular, deepverify) | | `greylisting_bypass` | string (enum) | no | Greylisting retry strategy: `speed` (~1 min), `robust` (~5 min), or `auto` (default). Longer waits reduce risky/unknown counts on greylisted domains. (one of: auto, speed, robust) | | `disable_catchall_verify` | number (enum) | no | Set to 1 to skip catch-all SMTP verification (catch-alls return `unknown` at 0 cost). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/bounceban/verify/bulk" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"emails":["michel@coldiq.com","satya.nadella@microsoft.com","sundar@google.com"]}' ``` Request body: ```json { "emails": [ "michel@coldiq.com", "satya.nadella@microsoft.com", "sundar@google.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Bulk task accepted | | `400` | Bad request (upstream validation error) | | `402` | Insufficient credits | | `404` | Bulk task not found for this account | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/bounceban?ep=post:/v1/bounceban/verify/bulk # Get bulk task status — `GET /v1/bounceban/verify/bulk/status` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: BounceBan - **Endpoint**: `GET https://api.coldiq.com/v1/bounceban/verify/bulk/status` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll a bulk task for progress and per-state counts. Free. When the task is finished, the reserved credits are settled here (unknowns refunded). Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Bulk task ID returned by the create endpoint | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/bounceban/verify/bulk/status?id=a1b2c3d4e5f60718293a4b5c" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Bulk task status | | `400` | Bad request (upstream validation error) | | `402` | Insufficient credits | | `404` | Bulk task not found for this account | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/bounceban?ep=get:/v1/bounceban/verify/bulk/status # Get results for specific emails — `POST /v1/bounceban/verify/bulk/emails` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: BounceBan - **Endpoint**: `POST https://api.coldiq.com/v1/bounceban/verify/bulk/emails` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch verification results for up to 100 specific emails within a finished bulk task. Free. Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Bulk task ID | | `emails` | array | yes | Emails to fetch results for (max 100). Only available once the task is finished. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/bounceban/verify/bulk/emails" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"id":"a1b2c3d4e5f60718293a4b5c","emails":["michel@coldiq.com"]}' ``` Request body: ```json { "id": "a1b2c3d4e5f60718293a4b5c", "emails": [ "michel@coldiq.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Per-email results | | `400` | Bad request (upstream validation error) | | `402` | Insufficient credits | | `404` | Bulk task not found for this account | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/bounceban?ep=post:/v1/bounceban/verify/bulk/emails # Dump all results as JSON (paginated) — `GET /v1/bounceban/verify/bulk/dump` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: BounceBan - **Endpoint**: `GET https://api.coldiq.com/v1/bounceban/verify/bulk/dump` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve all results of a bulk task as paginated JSON. Free. Data is retained for 90 days. Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Bulk task ID | | `state` | string (enum) | no | Filter results by verification state. (one of: deliverable, risky, undeliverable, unknown) | | `cursor` | string | no | Pagination cursor from the previous page (null when done). | | `page_size` | integer | no | Results per page (100–3000, default 100). (min 100; max 3000) | | `retrieve_all` | integer \| null | no | Set to 1 to retrieve all results in one call (only for tasks with ≤20k emails). (min 0; max 1) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/bounceban/verify/bulk/dump?id=a1b2c3d4e5f60718293a4b5c" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Paginated results | | `400` | Bad request (upstream validation error) | | `402` | Insufficient credits | | `404` | Bulk task not found for this account | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/bounceban?ep=get:/v1/bounceban/verify/bulk/dump # Provider: DiscoLike # Discover similar businesses — `GET /v1/discolike/discover` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DiscoLike - **Endpoint**: `GET https://api.coldiq.com/v1/discolike/discover` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find companies by lookalike domains, natural-language ICP, or structured filters across 70M+ companies. Returns full firmographic profiles with similarity scores. Credits: two-part charge — a flat query fee plus a per-record rate. Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | no | Seed domains for lookalike matching (up to 10). Comma-separated for multiple values. | | `negate_domain` | string | no | Domains whose lookalikes should be excluded (up to 10). Comma-separated for multiple values. | | `icp_text` | string | no | Natural-language ICP description for semantic matching. | | `negate_icp_text` | string | no | Concepts to exclude from semantic matching. | | `exclude_domain` | string | no | Domains to exclude from results (up to 100). NB: the Domain Exclusion feature requires DiscoLike Pro+ — on the current plan this returns a 403 "requires the pro plan"; omit it (lookalikes never include the seed domain anyway). Comma-separated for multiple values. | | `country` | string | no | ISO-3166-1 alpha-2 country codes or region codes (e.g. US, APAC). Comma-separated for multiple values. | | `negate_country` | string | no | Countries to exclude. Comma-separated for multiple values. | | `state` | string | no | ISO 3166-2 state codes or full names (single country per request). Comma-separated for multiple values. | | `negate_state` | string | no | States to exclude. Comma-separated for multiple values. | | `category` | string | no | Industry categories to include. Comma-separated for multiple values. | | `negate_category` | string | no | Industries to exclude. Comma-separated for multiple values. | | `employee_range` | string | no | Employee count range as "min,max" (e.g. 10,500). | | `revenue_range` | string | no | Annual revenue range as "min,max" in raw integers. | | `business_model` | string | no | Business models: B2B, B2C, B2G, G2B, G2C, D2C, C2C, C2B. Comma-separated for multiple values. | | `negate_business_model` | string | no | Business models to exclude. Comma-separated for multiple values. | | `language` | string | no | 2-letter website language codes. Comma-separated for multiple values. | | `social` | string | no | Required social presence (linkedin, facebook, twitter, instagram, youtube, tiktok, …). Comma-separated for multiple values. | | `negate_social` | string | no | Social profiles to exclude. Comma-separated for multiple values. | | `min_digital_footprint` | integer \| null | no | Minimum digital footprint score (0-800, default 50). (min 0; max 800) | | `max_digital_footprint` | integer \| null | no | Maximum digital footprint score (0-800, default 800). (min 0; max 800) | | `start_date` | string | no | Company start date, YYYY-MM-DD or range. | | `phrase_match` | string | no | An exact text fragment the company website must contain (up to 20 chars). Sent verbatim — may contain commas. | | `negate_phrase_match` | string | no | An exact text fragment to exclude. Sent verbatim. | | `redirect` | boolean \| string (enum) | no | Include redirecting domains (default false). | | `exclude_leadgen` | boolean \| string (enum) | no | Exclude lead-gen sites (default true). | | `max_records` | integer | no | Maximum companies to return (5-1000, default 100). Credits are reserved for this worst case and settled on the actual count. (min 5; max 1000) | | `offset` | integer \| null | no | Records to skip for pagination. (min 0) | | `min_similarity` | integer \| null | no | Minimum similarity score (0-99). (min 0; max 99) | | `variance` | string (enum) | no | Result diversity control. (one of: LOW, MID_LOW, MEDIUM, MID_HIGH, HIGH, UNRESTRICTED) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/discolike/discover?domain=coldiq.com&icp_text=B2B%20sales%20agencies%20helping%20tech%20companies%20with%20outbound%20prospecting&country=US&business_model=B2B&max_records=25" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Array of matching company profiles | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded — retry after `retry_after_seconds` | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/discolike?ep=get:/v1/discolike/discover # Count matching businesses — `GET /v1/discolike/count` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DiscoLike - **Endpoint**: `GET https://api.coldiq.com/v1/discolike/count` - **Credits**: 38.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Preview how many companies match a set of filters before running a full discover. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `country` | string | no | ISO-3166-1 alpha-2 country codes or region codes (e.g. US, APAC). Comma-separated for multiple values. | | `negate_country` | string | no | Countries to exclude. Comma-separated for multiple values. | | `state` | string | no | ISO 3166-2 state codes or full names (single country per request). Comma-separated for multiple values. | | `negate_state` | string | no | States to exclude. Comma-separated for multiple values. | | `category` | string | no | Industry categories to include. Comma-separated for multiple values. | | `negate_category` | string | no | Industries to exclude. Comma-separated for multiple values. | | `employee_range` | string | no | Employee count range as "min,max" (e.g. 10,500). | | `revenue_range` | string | no | Annual revenue range as "min,max" in raw integers. | | `business_model` | string | no | Business models: B2B, B2C, B2G, G2B, G2C, D2C, C2C, C2B. Comma-separated for multiple values. | | `negate_business_model` | string | no | Business models to exclude. Comma-separated for multiple values. | | `language` | string | no | 2-letter website language codes. Comma-separated for multiple values. | | `social` | string | no | Required social presence (linkedin, facebook, twitter, instagram, youtube, tiktok, …). Comma-separated for multiple values. | | `negate_social` | string | no | Social profiles to exclude. Comma-separated for multiple values. | | `min_digital_footprint` | integer \| null | no | Minimum digital footprint score (0-800, default 50). (min 0; max 800) | | `max_digital_footprint` | integer \| null | no | Maximum digital footprint score (0-800, default 800). (min 0; max 800) | | `start_date` | string | no | Company start date, YYYY-MM-DD or range. | | `phrase_match` | string | no | An exact text fragment the company website must contain (up to 20 chars). Sent verbatim — may contain commas. | | `negate_phrase_match` | string | no | An exact text fragment to exclude. Sent verbatim. | | `redirect` | boolean \| string (enum) | no | Include redirecting domains (default false). | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/discolike/count?country=US&business_model=B2B" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Match count | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded — retry after `retry_after_seconds` | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/discolike?ep=get:/v1/discolike/count # Get business firmographic data — `GET /v1/discolike/bizdata` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DiscoLike - **Endpoint**: `GET https://api.coldiq.com/v1/discolike/bizdata` - **Credits**: 42 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Full firmographic profile for a domain: name, status, digital footprint score, HQ address, phones, public emails, socials, industry, employees. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/company/enrich` (Enrich Company) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | yes | Company domain to look up. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/discolike/bizdata?domain=coldiq.com" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Firmographic profile | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No data found for this input | | `429` | Rate limit exceeded — retry after `retry_after_seconds` | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/discolike?ep=get:/v1/discolike/bizdata # Get digital footprint score breakdown — `GET /v1/discolike/score` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DiscoLike - **Endpoint**: `GET https://api.coldiq.com/v1/discolike/score` - **Credits**: 42 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Composite 0-800 score for any domain reflecting company size, time in business, and technology adoption. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | yes | Company domain to look up. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/discolike/score?domain=coldiq.com" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Score breakdown | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No data found for this input | | `429` | Rate limit exceeded — retry after `retry_after_seconds` | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/discolike?ep=get:/v1/discolike/score # Get company growth metrics — `GET /v1/discolike/growth` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DiscoLike - **Endpoint**: `GET https://api.coldiq.com/v1/discolike/growth` - **Credits**: 42 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Quarterly growth metrics derived from a company's digital footprint — score and subdomain changes over time. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | yes | Company domain to look up. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/discolike/growth?domain=coldiq.com" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Growth metrics | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No data found for this input | | `429` | Rate limit exceeded — retry after `retry_after_seconds` | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/discolike?ep=get:/v1/discolike/growth # Discover contacts grouped by domain — `POST /v1/discolike/contacts/discover` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DiscoLike - **Endpoint**: `POST https://api.coldiq.com/v1/discolike/contacts/discover` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search B2B contacts by ICP, title, seniority, or company domain — grouped by company with per-company firmographics, emails, phones, and LinkedIn URLs. Credits: two-part charge — a flat query fee plus a per-record rate. Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `icp_prompt` | string | no | Natural-language ICP — auto-extracts filters and chains into company discovery. | | `icp_text` | string | no | Semantic matching text (no filter extraction). | | `domain` | array | no | Limit the search to specific company domains (max 100). | | `title` | string | no | Job title filter. | | `negate_title` | string | no | Job titles to exclude. | | `seniority` | array | no | Seniority levels (e.g. manager, director, vp, cxo). | | `department` | array | no | Departments (e.g. Sales, Marketing, Technology). | | `person_country` | array | no | Person country codes. | | `filter_industry` | array | no | Company industry filter. | | `filter_country` | array | no | Company country filter. | | `employee_range` | string | no | Company employee range as "min,max". | | `has_email` | boolean | no | Only contacts with an email. | | `email_validated` | boolean | no | Only contacts with a validated email. | | `has_phone` | boolean | no | Only contacts with a phone number. | | `has_mobile` | boolean | no | Only contacts with a mobile number. | | `has_linkedin` | boolean | no | Only contacts with a LinkedIn profile. | | `min_connections` | integer | no | Minimum LinkedIn connections. (min 0) | | `max_records` | integer | no | Total contact cap (20-500, default 100). Mutually exclusive with max_companies. Reserved worst-case, settled on actuals. (min 20; max 500) | | `max_companies` | integer | no | Enriched company cap (1-100). Mutually exclusive with max_records. (min 1; max 100) | | `results_by_company` | integer | no | Contacts per domain (default 5). (min 1; max 100) | | `offset` | integer | no | Pagination skip. (min 0) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/discolike/contacts/discover" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"icp_prompt":"Heads of Sales at B2B SaaS companies in Europe","has_email":true,"max_companies":10,"results_by_company":3}' ``` Request body: ```json { "icp_prompt": "Heads of Sales at B2B SaaS companies in Europe", "has_email": true, "max_companies": 10, "results_by_company": 3 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Contacts grouped by company domain | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded — retry after `retry_after_seconds` | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/discolike?ep=post:/v1/discolike/contacts/discover # Count Contacts — `GET /v1/discolike/contacts/count` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DiscoLike - **Endpoint**: `GET https://api.coldiq.com/v1/discolike/contacts/count` - **Credits**: 38.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Estimate the contact result-set size for a set of filters before running a full discover. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `icp_text` | string | no | Semantic ICP matching text. | | `domain` | string | no | Company domains to scope the count. Comma-separated for multiple values. | | `title` | string | no | Job title filter. | | `negate_title` | string | no | Job titles to exclude. | | `seniority` | string | no | Seniority levels. Comma-separated for multiple values. | | `department` | string | no | Departments. Comma-separated for multiple values. | | `person_country` | string | no | Person country codes. Comma-separated for multiple values. | | `has_email` | boolean \| string (enum) | no | Only contacts with an email. | | `has_phone` | boolean \| string (enum) | no | Only contacts with a phone number. | | `has_linkedin` | boolean \| string (enum) | no | Only contacts with a LinkedIn profile. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/discolike/contacts/count?icp_text=B2B%20sales%20agencies&domain=coldiq.com" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Contact count | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded — retry after `retry_after_seconds` | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/discolike?ep=get:/v1/discolike/contacts/count # Lookup Contact — `GET /v1/discolike/contacts/lookup` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DiscoLike - **Endpoint**: `GET https://api.coldiq.com/v1/discolike/contacts/lookup` - **Credits**: 42 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Look up a single contact by DiscoLike persona ID or LinkedIn URL/username. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `persona_id` | string | no | DiscoLike persona ID. | | `linkedin` | string | no | LinkedIn profile URL or username. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/discolike/contacts/lookup?linkedin=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fmichel-lieben" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Contact profile | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | No data found for this input | | `429` | Rate limit exceeded — retry after `retry_after_seconds` | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/discolike?ep=get:/v1/discolike/contacts/lookup # Contact Match — `GET /v1/discolike/contacts/match` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DiscoLike - **Endpoint**: `GET https://api.coldiq.com/v1/discolike/contacts/match` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Match a person name (optionally scoped by company or domain) to contact profiles with match scores. Credits: two-part charge — a flat query fee plus a per-record rate. Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Person name to search for (min 2 characters). | | `company_name` | string | no | Company name to narrow the search. | | `domain` | string | no | Company domain to filter by. | | `person_country` | string | no | Person's ISO-3166-1 alpha-2 country code. | | `limit` | integer | no | Maximum matches to return (1-20, default 10). (min 1; max 20) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/discolike/contacts/match?name=Michel%20Lieben&company_name=ColdIQ" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Query echo + ranked matches | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded — retry after `retry_after_seconds` | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/discolike?ep=get:/v1/discolike/contacts/match # Provider: Exa # Search — `POST /v1/exa/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Exa - **Endpoint**: `POST https://api.coldiq.com/v1/exa/search` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search the web with current Exa search modes. The charge is estimated from the requested mode, result count, and content options. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/web/search` (Web Search) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string | yes | Search query. | | `type` | string (enum) | no | Search mode. Defaults to auto. (one of: instant, fast, auto, deep-lite, deep, deep-reasoning) | | `category` | string (enum) | no | (one of: company, publication, news, personal site, financial report, people) | | `numResults` | integer | no | (min 1; max 100) | | `additionalQueries` | array | no | | | `includeDomains` | array | no | | | `excludeDomains` | array | no | | | `startPublishedDate` | string | no | (format date-time) | | `endPublishedDate` | string | no | (format date-time) | | `userLocation` | string | no | | | `moderation` | boolean | no | | | `contents` | object | no | | | `contents.text` | boolean \| object | no | | | `contents.highlights` | boolean \| object | no | | | `contents.summary` | boolean \| object | no | | | `contents.livecrawlTimeout` | integer | no | (min 1; max 90000) | | `contents.maxAgeHours` | integer | no | (min -1; max 720) | | `contents.subpages` | integer | no | (min 0; max 100) | | `contents.subpageTarget` | string \| array | no | | | `contents.extras` | object | no | | | `contents.extras.links` | integer | no | (min 0; max 1000) | | `contents.extras.imageLinks` | integer | no | (min 0; max 1000) | | `contents.extras.richImageLinks` | integer | no | (min 0; max 1000) | | `contents.extras.richLinks` | integer | no | (min 0; max 1000) | | `contents.extras.codeBlocks` | integer | no | (min 0; max 1000) | | `outputSchema` | object | no | | | `systemPrompt` | string | no | | | `stream` | boolean | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/exa/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"Latest ColdIQ product updates","type":"auto","numResults":10,"contents":{"highlights":true}}' ``` Request body: ```json { "query": "Latest ColdIQ product updates", "type": "auto", "numResults": 10, "contents": { "highlights": true } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search results | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/exa?ep=post:/v1/exa/search # Get Contents — `POST /v1/exa/contents` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Exa - **Endpoint**: `POST https://api.coldiq.com/v1/exa/contents` - **Credits**: 1.05 credits per content page - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get one or more content types for 1 to 100 Exa document IDs or URLs. Credits: bills only for returned results, per content page; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/web/fetch` (Fetch Page Content) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `text` | boolean \| object | no | | | `highlights` | boolean \| object | no | | | `summary` | boolean \| object | no | | | `livecrawlTimeout` | integer | no | (min 1; max 90000) | | `maxAgeHours` | integer | no | (min -1; max 720) | | `subpages` | integer | no | (min 0; max 100) | | `subpageTarget` | string \| array | no | | | `extras` | object | no | | | `extras.links` | integer | no | (min 0; max 1000) | | `extras.imageLinks` | integer | no | (min 0; max 1000) | | `extras.richImageLinks` | integer | no | (min 0; max 1000) | | `extras.richLinks` | integer | no | (min 0; max 1000) | | `extras.codeBlocks` | integer | no | (min 0; max 1000) | | `ids` | array | no | Exa document IDs or URLs. | | `urls` | array | no | URLs to retrieve. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/exa/contents" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls":["https://coldiq.com"],"text":true}' ``` Request body: ```json { "urls": [ "https://coldiq.com" ], "text": true } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Page contents | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/exa?ep=post:/v1/exa/contents # Answer — `POST /v1/exa/answer` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Exa - **Endpoint**: `POST https://api.coldiq.com/v1/exa/answer` - **Credits**: 10.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Generate a cited answer, with optional structured JSON or Server-Sent Events output. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string | yes | Question to answer. | | `stream` | boolean | no | | | `text` | boolean | no | | | `outputSchema` | object | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/exa/answer" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"What does ColdIQ help revenue teams automate?"}' ``` Request body: ```json { "query": "What does ColdIQ help revenue teams automate?" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Generated answer | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/exa?ep=post:/v1/exa/answer # List runs — `GET /v1/exa/agent/runs` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Exa - **Endpoint**: `GET https://api.coldiq.com/v1/exa/agent/runs` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description List only Exa Agent runs owned by the authenticated ColdIQ user. Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | (min 1; max 100) | | `cursor` | string | no | | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/exa/agent/runs" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Owned runs | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Run not found | | `409` | Run is active | | `429` | Agent capacity reached | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/exa?ep=get:/v1/exa/agent/runs # Create a run — `POST /v1/exa/agent/runs` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Exa - **Endpoint**: `POST https://api.coldiq.com/v1/exa/agent/runs` - **Credits**: 21 credits per run - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Create an asynchronous Exa Agent run. ColdIQ defaults to medium effort and reserves the effort limit until the run ends. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string | yes | | | `systemPrompt` | string | no | | | `input` | object | no | | | `input.data` | array | no | | | `input.exclusion` | array | no | | | `outputSchema` | object \| null | no | | | `effort` | string (enum) | no | (one of: minimal, low, medium, high, xhigh; default "medium") | | `previousRunId` | string | no | | | `metadata` | object | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/exa/agent/runs" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"Summarize the latest public information about ColdIQ.","effort":"medium"}' ``` Request body: ```json { "query": "Summarize the latest public information about ColdIQ.", "effort": "medium" } ``` ## Responses | Status | Meaning | | --- | --- | | `201` | Run created | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Run not found | | `409` | Run is active | | `429` | Agent capacity reached | | `502` | Provider error | ### `201` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/exa?ep=post:/v1/exa/agent/runs # Get a run — `GET /v1/exa/agent/runs/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Exa - **Endpoint**: `GET https://api.coldiq.com/v1/exa/agent/runs/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/exa/agent/runs/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Run | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Run not found | | `409` | Run is active | | `429` | Agent capacity reached | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/exa?ep=get:/v1/exa/agent/runs/{id} # Delete a run — `DELETE /v1/exa/agent/runs/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Exa - **Endpoint**: `DELETE https://api.coldiq.com/v1/exa/agent/runs/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/exa/agent/runs/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Run deleted | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Run not found | | `409` | Run is active | | `429` | Agent capacity reached | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/exa?ep=delete:/v1/exa/agent/runs/{id} # Cancel a run — `POST /v1/exa/agent/runs/{id}/cancel` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Exa - **Endpoint**: `POST https://api.coldiq.com/v1/exa/agent/runs/{id}/cancel` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/exa/agent/runs/string/cancel" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Cancelled run | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Run not found | | `409` | Run is active | | `429` | Agent capacity reached | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/exa?ep=post:/v1/exa/agent/runs/{id}/cancel # List run events — `GET /v1/exa/agent/runs/{id}/events` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Exa - **Endpoint**: `GET https://api.coldiq.com/v1/exa/agent/runs/{id}/events` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description List stored events or request an SSE replay with Accept: text/event-stream. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | (min 1; max 100) | | `cursor` | string | no | | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/exa/agent/runs/string/events" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Run events | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Run not found | | `409` | Run is active | | `429` | Agent capacity reached | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/exa?ep=get:/v1/exa/agent/runs/{id}/events # Provider: Findymail # Verify an email for potential bounce — `POST /v1/findymail/verify` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/verify` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Verify whether an email address is deliverable. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/email/verify` (Verify Email) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address to verify. (format email) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/verify" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Verification result | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/verify # Find from name — `POST /v1/findymail/search/name` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/search/name` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find an email address using a person's name and company domain. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/email/find` (Find Email) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Person's full name. | | `domain` | string | yes | Company domain or name. | | `webhook_url` | string | no | Webhook URL to receive the result asynchronously. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/search/name" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Michel Lieben","domain":"coldiq.com"}' ``` Request body: ```json { "name": "Michel Lieben", "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search result | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/search/name # Find from domain — `POST /v1/findymail/search/domain` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/search/domain` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find email addresses for specific roles at a company domain. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | yes | Company domain to search. | | `roles` | array | yes | Job roles to search for (e.g. ["ceo", "cto"]). Max 3. Credits are charged per contact found. | | `webhook_url` | string | no | Webhook URL to receive the result asynchronously. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/search/domain" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com","roles":["ceo","cto"]}' ``` Request body: ```json { "domain": "coldiq.com", "roles": [ "ceo", "cto" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search results | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/search/domain # Find from business profile — `POST /v1/findymail/search/business-profile` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/search/business-profile` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find an email address from a LinkedIn profile URL. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/person/enrich` (Enrich Person) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `linkedin_url` | string | yes | LinkedIn profile URL. (format uri) | | `webhook_url` | string | no | Webhook URL to receive the result asynchronously. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/search/business-profile" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"linkedin_url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "linkedin_url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search result | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/search/business-profile # Reverse email lookup — `POST /v1/findymail/search/reverse-email` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/search/reverse-email` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Look up a person by email address. Credits: charged once per call, at a rate that depends on which fields you request (default, with_profile) — it is NOT flat. Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/person/enrich` (Enrich Person) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address to look up. (format email) | | `with_profile` | boolean | no | When true, returns full profile enrichment, which costs more than the plain lookup — call get_endpoint_details for the live rates rather than relying on a number written here. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/search/reverse-email" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Reverse lookup result | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/search/reverse-email # Get company information — `POST /v1/findymail/search/company` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/search/company` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get information about a company by domain. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/company/enrich` (Enrich Company) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | no | Company domain to look up. | | `linkedin_url` | string | no | Company LinkedIn URL. (format uri) | | `name` | string | no | Company name. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/search/company" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com"}' ``` Request body: ```json { "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Company information | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/search/company # Find employees — `POST /v1/findymail/search/employees` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/search/employees` - **Credits**: 3.57 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find employees at a company by job titles. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/people/search` (Find People) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `website` | string | yes | Company website domain. | | `job_titles` | array | yes | Job titles to search for. Max 10. | | `count` | integer | no | Max number of employees to return (max 5). Credits charged per contact found. (min 1; max 5) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/search/employees" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"website":"coldiq.com","job_titles":["CEO","CTO"]}' ``` Request body: ```json { "website": "coldiq.com", "job_titles": [ "CEO", "CTO" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Employee results | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/search/employees # Find phone — `POST /v1/findymail/search/phone` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/search/phone` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find a phone number from a LinkedIn profile URL. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `linkedin_url` | string | yes | LinkedIn profile URL to find phone number for. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/search/phone" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"linkedin_url":"https://www.linkedin.com/michel-lieben"}' ``` Request body: ```json { "linkedin_url": "https://www.linkedin.com/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Phone result | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/search/phone # Get the list of contact lists — `GET /v1/findymail/lists` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `GET https://api.coldiq.com/v1/findymail/lists` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get all contact lists. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/findymail/lists" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Contact lists | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=get:/v1/findymail/lists # Create a new list — `POST /v1/findymail/lists` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/lists` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Create a new contact list. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Name of the new contact list. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/lists" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"My Leads"}' ``` Request body: ```json { "name": "My Leads" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Created list | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/lists # Update a contact list — `PUT /v1/findymail/lists/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `PUT https://api.coldiq.com/v1/findymail/lists/{id}` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Update a contact list by ID. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer | yes | List ID. (min 1) | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Updated list name. | | `isShared` | boolean | yes | Whether the list is shared with the team. | ## Example request ```bash curl -X PUT "https://api.coldiq.com/v1/findymail/lists/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Renamed List","isShared":false}' ``` Request body: ```json { "name": "Renamed List", "isShared": false } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Updated list | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=put:/v1/findymail/lists/{id} # Delete a given list — `DELETE /v1/findymail/lists/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `DELETE https://api.coldiq.com/v1/findymail/lists/{id}` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Delete a contact list by ID. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer | yes | List ID. (min 1) | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/findymail/lists/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Deletion result | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=delete:/v1/findymail/lists/{id} # Get contacts saved — `GET /v1/findymail/contacts/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `GET https://api.coldiq.com/v1/findymail/contacts/{id}` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get contacts saved in a list. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer | yes | List ID. (min 1) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/findymail/contacts/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Contacts | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=get:/v1/findymail/contacts/{id} # Search leads — `POST /v1/findymail/intellimatch/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/intellimatch/search` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Initiate an Intellimatch lead search. Returns a hash to poll status and retrieve results. No credit cost for initiation. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string | yes | Natural language search query describing the leads you want to find. | | `limit` | integer | no | Maximum number of results (max 5000). (min 1; max 5000) | | `config` | object | no | Search configuration options. | | `config.find_contact` | boolean | no | Whether to find contact information. | | `config.find_email` | boolean | no | Whether to find email addresses. | | `config.find_phone` | boolean | no | Whether to find phone numbers. | | `config.target_job_titles` | array | no | Filter results to specific job titles. | | `config.lead_list_id` | integer | no | Save matched leads to this contact list ID. | | `config.mode` | string | no | Search mode. | | `config.require_email` | boolean | no | Only return leads for which an email was found. | | `config.add_to_exclusion_list` | boolean | no | Add matched leads to an exclusion list. | | `config.exclusion_list_id` | integer | no | Exclusion list ID to add leads to. | | `config.exclusion_filter_list_ids` | array | no | Exclusion list IDs to filter out leads. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/intellimatch/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"SaaS companies in San Francisco with 50-200 employees"}' ``` Request body: ```json { "query": "SaaS companies in San Francisco with 50-200 employees" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search initiated | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/intellimatch/search # Get export status — `GET /v1/findymail/intellimatch/status` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `GET https://api.coldiq.com/v1/findymail/intellimatch/status` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Check the status of an Intellimatch search job. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `hash` | string | yes | Search job identifier returned from the search endpoint. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/findymail/intellimatch/status?hash=string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Export status | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=get:/v1/findymail/intellimatch/status # Get results — `GET /v1/findymail/intellimatch/data` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `GET https://api.coldiq.com/v1/findymail/intellimatch/data` - **Credits**: 3.57 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve Intellimatch search results. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `hash` | string | yes | Search job identifier. | | `page` | integer | no | Page number (default 1). (min 1) | | `per_page` | integer | no | Results per page (default 100, max 100). Credits charged per result row. (min 1; max 100) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/findymail/intellimatch/data?hash=string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search results | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=get:/v1/findymail/intellimatch/data # Get all exclusion lists — `GET /v1/findymail/intellimatch/exclusion-lists` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `GET https://api.coldiq.com/v1/findymail/intellimatch/exclusion-lists` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get all exclusion lists. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/findymail/intellimatch/exclusion-lists" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Exclusion lists | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=get:/v1/findymail/intellimatch/exclusion-lists # Create a new exclusion list — `POST /v1/findymail/intellimatch/exclusion-lists` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/intellimatch/exclusion-lists` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Create a new exclusion list. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Name of the new exclusion list. | | `is_shared` | boolean | no | Whether the exclusion list is shared with the team. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/intellimatch/exclusion-lists" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Competitors"}' ``` Request body: ```json { "name": "Competitors" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Created exclusion list | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/intellimatch/exclusion-lists # Get exclusion list details — `GET /v1/findymail/intellimatch/exclusion-lists/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `GET https://api.coldiq.com/v1/findymail/intellimatch/exclusion-lists/{id}` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get details of an exclusion list by ID. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer | yes | Exclusion list ID. (min 1) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/findymail/intellimatch/exclusion-lists/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Exclusion list details | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=get:/v1/findymail/intellimatch/exclusion-lists/{id} # Update an exclusion list — `PUT /v1/findymail/intellimatch/exclusion-lists/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `PUT https://api.coldiq.com/v1/findymail/intellimatch/exclusion-lists/{id}` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Update an exclusion list by ID. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer | yes | Exclusion list ID. (min 1) | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Updated exclusion list name. | | `is_shared` | boolean | no | Whether the exclusion list is shared with the team. | ## Example request ```bash curl -X PUT "https://api.coldiq.com/v1/findymail/intellimatch/exclusion-lists/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Updated Competitors"}' ``` Request body: ```json { "name": "Updated Competitors" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Updated exclusion list | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=put:/v1/findymail/intellimatch/exclusion-lists/{id} # Delete an exclusion list — `DELETE /v1/findymail/intellimatch/exclusion-lists/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `DELETE https://api.coldiq.com/v1/findymail/intellimatch/exclusion-lists/{id}` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Delete an exclusion list by ID. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer | yes | Exclusion list ID. (min 1) | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/findymail/intellimatch/exclusion-lists/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Deletion result | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=delete:/v1/findymail/intellimatch/exclusion-lists/{id} # Get excluded domains — `GET /v1/findymail/intellimatch/domains` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `GET https://api.coldiq.com/v1/findymail/intellimatch/domains` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get all excluded domains. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/findymail/intellimatch/domains" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Excluded domains | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=get:/v1/findymail/intellimatch/domains # Add excluded domains — `POST /v1/findymail/intellimatch/domains` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/intellimatch/domains` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Add domains to an exclusion list. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domains` | array | yes | Domain names to add to the exclusion list. | | `list_id` | integer | no | Exclusion list ID. Uses default list if omitted. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/intellimatch/domains" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domains":["competitor.com","blocked.com"]}' ``` Request body: ```json { "domains": [ "competitor.com", "blocked.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Added domains | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/intellimatch/domains # Remove excluded domains — `DELETE /v1/findymail/intellimatch/domains` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `DELETE https://api.coldiq.com/v1/findymail/intellimatch/domains` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Remove excluded domains by ID. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `ids` | array | yes | IDs of excluded domains to remove. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/findymail/intellimatch/domains" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` Request body: ```json { "ids": [ 1, 2, 3 ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Removal result | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=delete:/v1/findymail/intellimatch/domains # List signals — `GET /v1/findymail/signals` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `GET https://api.coldiq.com/v1/findymail/signals` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description List all signals (job changes, promotions, etc.). No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer | no | Page number. (min 1) | | `per_page` | integer | no | Results per page (max 100). (min 1; max 100) | | `signal_type` | string (enum) | no | Filter by signal type. (one of: keyword_mention, new_hire, job_change, post_engagement) | | `monitor_id` | integer | no | Filter by monitor ID. (min 1) | | `date_from` | string | no | Filter signals from this date (YYYY-MM-DD). | | `date_to` | string | no | Filter signals up to this date (YYYY-MM-DD). | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/findymail/signals" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Signals list | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=get:/v1/findymail/signals # List monitors — `GET /v1/findymail/signals/monitors` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `GET https://api.coldiq.com/v1/findymail/signals/monitors` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description List all signal monitors. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/findymail/signals/monitors" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Monitors list | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=get:/v1/findymail/signals/monitors # Create a monitor — `POST /v1/findymail/signals/monitors` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/signals/monitors` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Create a new signal monitor with ICP filters and engagement type triggers. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Monitor name. | | `signal_type` | string (enum) | yes | Type of signal to monitor. (one of: keyword_mention, new_hire, job_change, post_engagement) | | `keywords` | array | no | Keywords to monitor (max 5). Required for keyword_mention signal type. | | `webhook_url` | string | no | Webhook URL to receive signal notifications. (format uri) | | `post_url` | string | no | LinkedIn post URL to monitor for engagement (for post_engagement signal type). (format uri) | | `engagement_types` | array | no | Types of engagement to monitor (e.g. "job_change", "new_hire", "like", "comment"). | | `enrichment_level` | string (enum) | no | Level of contact enrichment to apply to matched signals. (one of: email, email_phone) | | `lead_list_id` | integer | no | Contact list ID to save matched leads into. | | `icp_filters` | object | no | Ideal Customer Profile filters. | | `icp_filters.industries` | array | no | Industries to filter by. Must use LinkedIn Industry Codes V2 (e.g. "4", "96"). | | `icp_filters.employee_count_ranges` | array | no | Company size ranges (e.g. "11-50", "51-200"). | | `icp_filters.countries` | array | no | Countries to filter by (ISO 3166-1 alpha-2, e.g. "US", "GB"). | | `icp_filters.job_title_keywords` | array | no | Keywords to match in job titles. | | `icp_filters.seniority_levels` | array | no | Seniority levels as integers (1=IC, 2=Manager, 3=Director, 4=VP, 5=C-Suite). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/signals/monitors" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"VP+ job changes in SaaS","signal_type":"job_change","enrichment_level":"email","icp_filters":{"seniority_levels":[4,5],"industries":["saas"]}}' ``` Request body: ```json { "name": "VP+ job changes in SaaS", "signal_type": "job_change", "enrichment_level": "email", "icp_filters": { "seniority_levels": [ 4, 5 ], "industries": [ "saas" ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Created monitor | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/signals/monitors # Delete a monitor — `DELETE /v1/findymail/signals/monitors/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `DELETE https://api.coldiq.com/v1/findymail/signals/monitors/{id}` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Delete a signal monitor by ID. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer | yes | Monitor ID. (min 1) | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/findymail/signals/monitors/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Deletion result | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=delete:/v1/findymail/signals/monitors/{id} # Update a monitor — `PATCH /v1/findymail/signals/monitors/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `PATCH https://api.coldiq.com/v1/findymail/signals/monitors/{id}` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Update a signal monitor by ID. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer | yes | Monitor ID. (min 1) | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Updated monitor name. | | `keywords` | array | no | Updated keywords (max 5). | | `webhook_url` | string | no | Updated webhook URL. (format uri) | | `post_url` | string | no | Updated LinkedIn post URL. (format uri) | | `engagement_types` | array | no | Updated engagement types (e.g. "job_change", "new_hire", "like", "comment"). | | `enrichment_level` | string (enum) | no | Updated enrichment level. (one of: email, email_phone) | | `lead_list_id` | integer | no | Updated contact list ID. | | `icp_filters` | object | no | | | `icp_filters.industries` | array | no | Industries to filter by. Must use LinkedIn Industry Codes V2 (e.g. "4", "96"). | | `icp_filters.employee_count_ranges` | array | no | Company size ranges (e.g. "11-50", "51-200"). | | `icp_filters.countries` | array | no | Countries to filter by (ISO 3166-1 alpha-2, e.g. "US", "GB"). | | `icp_filters.job_title_keywords` | array | no | Keywords to match in job titles. | | `icp_filters.seniority_levels` | array | no | Seniority levels as integers (1=IC, 2=Manager, 3=Director, 4=VP, 5=C-Suite). | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/findymail/signals/monitors/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Updated monitor name"}' ``` Request body: ```json { "name": "Updated monitor name" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Updated monitor | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=patch:/v1/findymail/signals/monitors/{id} # Search for lookalike companies — `POST /v1/findymail/lookalike/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/lookalike/search` - **Credits**: 0.36 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find companies similar to a given domain. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `seed` | string | yes | Company domain to find lookalike companies for. | | `limit` | integer | no | Maximum number of lookalike results to return (max 1,000). Costs 1 credit per 10 results. (min 1; max 1000) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/lookalike/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"seed":"coldiq.com","limit":10}' ``` Request body: ```json { "seed": "coldiq.com", "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Lookalike companies | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/lookalike/search # Search available technologies — `GET /v1/findymail/technologies/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `GET https://api.coldiq.com/v1/findymail/technologies/search` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search for technology names available in the Findymail database. No credit cost. Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `q` | string | yes | Technology name to search for. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/findymail/technologies/search?q=string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Matching technologies | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=get:/v1/findymail/technologies/search # Look up technologies by domain — `POST /v1/findymail/technologies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `POST https://api.coldiq.com/v1/findymail/technologies` - **Credits**: 3.57 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Check which technologies are used by a company domain. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | yes | Company domain to check for technology usage. Credits charged if a match is found. | | `technologies` | array | yes | Technology names to look up. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/findymail/technologies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com","technologies":["HubSpot","Salesforce"]}' ``` Request body: ```json { "domain": "coldiq.com", "technologies": [ "HubSpot", "Salesforce" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Technology lookup results | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=post:/v1/findymail/technologies # Get a signal — `GET /v1/findymail/signals/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Findymail - **Endpoint**: `GET https://api.coldiq.com/v1/findymail/signals/{id}` - **Credits**: 3.57 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get a specific signal by ID. No credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer | yes | Signal ID. (min 1) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/findymail/signals/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Signal details | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/findymail?ep=get:/v1/findymail/signals/{id} # Provider: Icypeas # Single Search: Email Discovery — `POST /v1/icypeas/email-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/email-search` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find an email address using firstname, lastname, and a company domain. Async — returns an _id to poll via the search results endpoint. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/email/find` (Find Email) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `firstname` | string | no | Person's first name (at least one of firstname/lastname required) | | `lastname` | string | no | Person's last name | | `domainOrCompany` | string | yes | Domain or company name | | `custom` | object | no | Optional webhook and tracking configuration | | `custom.webhookUrl` | string | no | Custom webhook URL triggered upon search completion (format uri) | | `custom.externalId` | string | no | Custom identifier for tracking searches | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/email-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"firstname":"Michel","lastname":"Lieben","domainOrCompany":"coldiq.com"}' ``` Request body: ```json { "firstname": "Michel", "lastname": "Lieben", "domainOrCompany": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search initiated | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/email-search # Single Search: Domain Scan — `POST /v1/icypeas/domain-scan` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/domain-scan` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Scan a domain to discover all associated email addresses. Async — returns an _id to poll. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domainOrCompany` | string | yes | Domain or company name to scan | | `custom` | object | no | Optional webhook and tracking configuration | | `custom.webhookUrl` | string | no | Custom webhook URL triggered upon search completion (format uri) | | `custom.externalId` | string | no | Custom identifier for tracking searches | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/domain-scan" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domainOrCompany":"coldiq.com"}' ``` Request body: ```json { "domainOrCompany": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Scan initiated | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/domain-scan # Single Search: Email Verification — `POST /v1/icypeas/email-verification` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/email-verification` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Verify whether an email address is valid and deliverable. Async — returns an _id to poll. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/email/verify` (Verify Email) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address to verify (format email) | | `custom` | object | no | Optional webhook and tracking configuration | | `custom.webhookUrl` | string | no | Custom webhook URL triggered upon search completion (format uri) | | `custom.externalId` | string | no | Custom identifier for tracking searches | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/email-verification" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Verification initiated | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/email-verification # Bulk search — `POST /v1/icypeas/bulk-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/bulk-search` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Start a new bulk search from the API. Supports email-search, domain-search, and email-verification tasks. Max 5,000 items per request. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Label for identifying the bulk search | | `task` | string (enum) | yes | Operation type (one of: domain-search, email-search, email-verification) | | `data` | array> | yes | Items to process (min 1, max 500). Format depends on task: email-search = [["firstname","lastname","domain"]], email-verification = [["email"]], domain-search = [["domain"]] | | `custom` | object | no | Optional webhook and tracking configuration | | `custom.webhookUrlItem` | string | no | Webhook called per processed row (format uri) | | `custom.webhookUrlBulkDone` | string | no | Webhook called when bulk completes (format uri) | | `custom.externalIds` | array | no | Custom IDs matching data array length | | `custom.includeResultsInWebhook` | boolean | no | Include results in final webhook payload | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/bulk-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"My email search","task":"email-search","data":[["Michel","Lieben","coldiq.com"]]}' ``` Request body: ```json { "name": "My email search", "task": "email-search", "data": [ [ "Michel", "Lieben", "coldiq.com" ] ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Bulk search created | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/bulk-search # Single profile scraping — `POST /v1/icypeas/scrape/profile` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/scrape/profile` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Scrape a LinkedIn profile by URL. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/person/enrich` (Enrich Person) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | LinkedIn profile URL to scrape (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/scrape/profile" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Profile data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/scrape/profile # Bulk profiles scraping — `POST /v1/icypeas/scrape/profiles` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/scrape/profiles` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Scrape multiple LinkedIn profiles by URL. Max 50 per request. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | array | yes | LinkedIn profile URLs to scrape (max 50) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/scrape/profiles" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":["https://www.linkedin.com/in/michel-lieben"]}' ``` Request body: ```json { "data": [ "https://www.linkedin.com/in/michel-lieben" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Bulk scrape initiated | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/scrape/profiles # Single company scraping — `POST /v1/icypeas/scrape/company` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/scrape/company` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Scrape a LinkedIn company page by URL. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/company/enrich` (Enrich Company) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | LinkedIn company URL to scrape (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/scrape/company" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://www.linkedin.com/company/coldlabs"}' ``` Request body: ```json { "url": "https://www.linkedin.com/company/coldlabs" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Company data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/scrape/company # Bulk companies scraping — `POST /v1/icypeas/scrape/companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/scrape/companies` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Scrape multiple LinkedIn company pages by URL. Max 50 per request. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | array | yes | LinkedIn company URLs to scrape (max 50) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/scrape/companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":["https://www.linkedin.com/company/coldlabs"]}' ``` Request body: ```json { "data": [ "https://www.linkedin.com/company/coldlabs" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Bulk scrape initiated | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/scrape/companies # Search for profile page one at a time — `POST /v1/icypeas/url-search/profile` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/url-search/profile` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find a LinkedIn profile URL from name and company/job title. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/person/enrich` (Enrich Person) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `firstname` | string | yes | First name | | `lastname` | string | yes | Last name | | `companyOrDomain` | string | no | Company name or domain (required if jobTitle not provided) | | `jobTitle` | string | no | Job title (required if companyOrDomain not provided) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/url-search/profile" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"firstname":"Michel","lastname":"Lieben","companyOrDomain":"coldiq.com"}' ``` Request body: ```json { "firstname": "Michel", "lastname": "Lieben", "companyOrDomain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Profile URL result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/url-search/profile # Search for profile pages in bulk — `POST /v1/icypeas/url-search/profiles` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/url-search/profiles` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find LinkedIn profile URLs in bulk. Max 50 per request. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | array | yes | Profile search items (max 50) | | `data[].firstname` | string | yes | | | `data[].lastname` | string | yes | | | `data[].companyOrDomain` | string | no | | | `data[].jobTitle` | string | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/url-search/profiles" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":[{"firstname":"Michel","lastname":"Lieben","companyOrDomain":"coldiq.com"}]}' ``` Request body: ```json { "data": [ { "firstname": "Michel", "lastname": "Lieben", "companyOrDomain": "coldiq.com" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Bulk profile URL search initiated | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/url-search/profiles # Search for company page one at a time — `POST /v1/icypeas/url-search/company` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/url-search/company` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find a LinkedIn company page URL from company name or domain. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `companyOrDomain` | string | yes | Company name or domain | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/url-search/company" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"companyOrDomain":"coldiq.com"}' ``` Request body: ```json { "companyOrDomain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Company URL result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/url-search/company # Search for company pages in bulk — `POST /v1/icypeas/url-search/companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/url-search/companies` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find LinkedIn company page URLs in bulk. Max 50 per request. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | array | yes | Company search items (max 50) | | `data[].companyOrDomain` | string | yes | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/url-search/companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":[{"companyOrDomain":"coldiq.com"}]}' ``` Request body: ```json { "data": [ { "companyOrDomain": "coldiq.com" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Bulk company URL search initiated | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/url-search/companies # Count the number of people matching your query — `POST /v1/icypeas/find-people/count` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/find-people/count` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Count people matching query filters in the Icypeas lead database. Free — no credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | object | yes | Query filters for people search | | `query.firstname` | object | no | | | `query.firstname.include` | array | no | | | `query.firstname.exclude` | array | no | | | `query.lastname` | object | no | | | `query.lastname.include` | array | no | | | `query.lastname.exclude` | array | no | | | `query.currentJobTitle` | object | no | | | `query.currentJobTitle.include` | array | no | | | `query.currentJobTitle.exclude` | array | no | | | `query.pastJobTitle` | object | no | | | `query.pastJobTitle.include` | array | no | | | `query.pastJobTitle.exclude` | array | no | | | `query.currentCompanyName` | object | no | | | `query.currentCompanyName.include` | array | no | | | `query.currentCompanyName.exclude` | array | no | | | `query.pastCompanyName` | object | no | | | `query.pastCompanyName.include` | array | no | | | `query.pastCompanyName.exclude` | array | no | | | `query.currentCompanyUrn` | object | no | | | `query.currentCompanyUrn.include` | array | no | | | `query.currentCompanyUrn.exclude` | array | no | | | `query.pastCompanyUrn` | object | no | | | `query.pastCompanyUrn.include` | array | no | | | `query.pastCompanyUrn.exclude` | array | no | | | `query.currentCompanyWebsite` | object | no | | | `query.currentCompanyWebsite.include` | array | no | | | `query.currentCompanyWebsite.exclude` | array | no | | | `query.pastCompanyWebsite` | object | no | | | `query.pastCompanyWebsite.include` | array | no | | | `query.pastCompanyWebsite.exclude` | array | no | | | `query.currentCompanyId` | object | no | | | `query.currentCompanyId.include` | array | no | | | `query.currentCompanyId.exclude` | array | no | | | `query.pastCompanyId` | object | no | | | `query.pastCompanyId.include` | array | no | | | `query.pastCompanyId.exclude` | array | no | | | `query.school` | object | no | | | `query.school.include` | array | no | | | `query.school.exclude` | array | no | | | `query.languages` | object | no | | | `query.languages.include` | array | no | | | `query.languages.exclude` | array | no | | | `query.skills` | object | no | | | `query.skills.include` | array | no | | | `query.skills.exclude` | array | no | | | `query.location` | object | no | | | `query.location.include` | array | no | | | `query.location.exclude` | array | no | | | `query.keyword` | object | no | | | `query.keyword.include` | array | no | | | `query.keyword.exclude` | array | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/find-people/count" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":{"currentJobTitle":{"include":["CEO"]},"location":{"include":["France"]}}}' ``` Request body: ```json { "query": { "currentJobTitle": { "include": [ "CEO" ] }, "location": { "include": [ "France" ] } } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | People count result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/find-people/count # Find people — `POST /v1/icypeas/find-people` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/find-people` - **Credits**: 1.05 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find people matching query filters in the Icypeas lead database. Supports pagination. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | object | yes | Query filters for people search | | `query.firstname` | object | no | | | `query.firstname.include` | array | no | | | `query.firstname.exclude` | array | no | | | `query.lastname` | object | no | | | `query.lastname.include` | array | no | | | `query.lastname.exclude` | array | no | | | `query.currentJobTitle` | object | no | | | `query.currentJobTitle.include` | array | no | | | `query.currentJobTitle.exclude` | array | no | | | `query.pastJobTitle` | object | no | | | `query.pastJobTitle.include` | array | no | | | `query.pastJobTitle.exclude` | array | no | | | `query.currentCompanyName` | object | no | | | `query.currentCompanyName.include` | array | no | | | `query.currentCompanyName.exclude` | array | no | | | `query.pastCompanyName` | object | no | | | `query.pastCompanyName.include` | array | no | | | `query.pastCompanyName.exclude` | array | no | | | `query.currentCompanyUrn` | object | no | | | `query.currentCompanyUrn.include` | array | no | | | `query.currentCompanyUrn.exclude` | array | no | | | `query.pastCompanyUrn` | object | no | | | `query.pastCompanyUrn.include` | array | no | | | `query.pastCompanyUrn.exclude` | array | no | | | `query.currentCompanyWebsite` | object | no | | | `query.currentCompanyWebsite.include` | array | no | | | `query.currentCompanyWebsite.exclude` | array | no | | | `query.pastCompanyWebsite` | object | no | | | `query.pastCompanyWebsite.include` | array | no | | | `query.pastCompanyWebsite.exclude` | array | no | | | `query.currentCompanyId` | object | no | | | `query.currentCompanyId.include` | array | no | | | `query.currentCompanyId.exclude` | array | no | | | `query.pastCompanyId` | object | no | | | `query.pastCompanyId.include` | array | no | | | `query.pastCompanyId.exclude` | array | no | | | `query.school` | object | no | | | `query.school.include` | array | no | | | `query.school.exclude` | array | no | | | `query.languages` | object | no | | | `query.languages.include` | array | no | | | `query.languages.exclude` | array | no | | | `query.skills` | object | no | | | `query.skills.include` | array | no | | | `query.skills.exclude` | array | no | | | `query.location` | object | no | | | `query.location.include` | array | no | | | `query.location.exclude` | array | no | | | `query.keyword` | object | no | | | `query.keyword.include` | array | no | | | `query.keyword.exclude` | array | no | | | `pagination` | object | no | Pagination control | | `pagination.token` | string | no | Pagination token from previous response | | `pagination.size` | integer | no | Results per page (1-200, default 100) (min 1; max 200) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/find-people" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":{"currentJobTitle":{"include":["CEO"]},"location":{"include":["France"]}},"pagination":{"size":10}}' ``` Request body: ```json { "query": { "currentJobTitle": { "include": [ "CEO" ] }, "location": { "include": [ "France" ] } }, "pagination": { "size": 10 } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | People results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/find-people # Count the number of companies matching your query — `POST /v1/icypeas/find-companies/count` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/find-companies/count` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Count companies matching query filters in the Icypeas lead database. Free — no credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | object | yes | Query filters for company search | | `query.name` | object | no | | | `query.name.include` | array | no | | | `query.name.exclude` | array | no | | | `query.lid` | object | no | | | `query.lid.include` | array | no | | | `query.lid.exclude` | array | no | | | `query.urn` | object | no | | | `query.urn.include` | array | no | | | `query.urn.exclude` | array | no | | | `query.companyId` | object | no | | | `query.companyId.include` | array | no | | | `query.companyId.exclude` | array | no | | | `query.type` | object | no | | | `query.type.include` | array | no | | | `query.type.exclude` | array | no | | | `query.industry` | object | no | | | `query.industry.include` | array | no | | | `query.industry.exclude` | array | no | | | `query.location` | object | no | | | `query.location.include` | array | no | | | `query.location.exclude` | array | no | | | `query.headcount` | object | no | | | `query.headcount.include` | array | no | | | `query.headcount.exclude` | array | no | | | `query.keyword` | object | no | | | `query.keyword.include` | array | no | | | `query.keyword.exclude` | array | no | | | `query.domain` | object | no | | | `query.domain.include` | array | no | | | `query.domain.exclude` | array | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/find-companies/count" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":{"industry":{"include":["Technology"]},"location":{"include":["France"]}}}' ``` Request body: ```json { "query": { "industry": { "include": [ "Technology" ] }, "location": { "include": [ "France" ] } } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Companies count result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/find-companies/count # Find companies — `POST /v1/icypeas/find-companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/find-companies` - **Credits**: 1.05 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find companies matching query filters in the Icypeas lead database. Supports pagination. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | object | yes | Query filters for company search | | `query.name` | object | no | | | `query.name.include` | array | no | | | `query.name.exclude` | array | no | | | `query.lid` | object | no | | | `query.lid.include` | array | no | | | `query.lid.exclude` | array | no | | | `query.urn` | object | no | | | `query.urn.include` | array | no | | | `query.urn.exclude` | array | no | | | `query.companyId` | object | no | | | `query.companyId.include` | array | no | | | `query.companyId.exclude` | array | no | | | `query.type` | object | no | | | `query.type.include` | array | no | | | `query.type.exclude` | array | no | | | `query.industry` | object | no | | | `query.industry.include` | array | no | | | `query.industry.exclude` | array | no | | | `query.location` | object | no | | | `query.location.include` | array | no | | | `query.location.exclude` | array | no | | | `query.headcount` | object | no | | | `query.headcount.include` | array | no | | | `query.headcount.exclude` | array | no | | | `query.keyword` | object | no | | | `query.keyword.include` | array | no | | | `query.keyword.exclude` | array | no | | | `query.domain` | object | no | | | `query.domain.include` | array | no | | | `query.domain.exclude` | array | no | | | `pagination` | object | no | Pagination control | | `pagination.token` | string | no | Pagination token from previous response | | `pagination.size` | integer | no | Results per page (1-200, default 100) (min 1; max 200) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/find-companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":{"industry":{"include":["Technology"]},"location":{"include":["France"]}},"pagination":{"size":10}}' ``` Request body: ```json { "query": { "industry": { "include": [ "Technology" ] }, "location": { "include": [ "France" ] } }, "pagination": { "size": 10 } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Companies results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/find-companies # Single search : Find the profile URL behind a single email address — `POST /v1/icypeas/reverse-email-lookup` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/reverse-email-lookup` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Look up a person profile from a professional email address. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/person/enrich` (Enrich Person) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Professional email address (format email) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/reverse-email-lookup" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Reverse lookup result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/reverse-email-lookup # Bulk search : Find the profile URLs behind many email addresses — `POST /v1/icypeas/reverse-email-lookups` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/reverse-email-lookups` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Reverse look up multiple email addresses. Min 2, max 50 per request. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | array | yes | Email addresses to look up (min 2, max 50) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/reverse-email-lookups" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":["michel@coldiq.com","satya@microsoft.com"]}' ``` Request body: ```json { "data": [ "michel@coldiq.com", "satya@microsoft.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Bulk reverse lookup initiated | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/reverse-email-lookups # Retrieve your results — `POST /v1/icypeas/search-results` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/search-results` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch results for a previously initiated search using its _id. Free — no credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `mode` | string (enum) | yes | Result retrieval mode (one of: bulk, single) | | `id` | string | no | Item _id returned by the initiation endpoint (required for mode=single) | | `file` | string | no | File ID returned by bulk-search (required for mode=bulk) | | `limit` | integer | no | Number of results (default 10, max 100) (min 1; max 100) | | `next` | boolean | no | Pagination direction (true = next, false = previous) | | `sort` | array | no | Pagination cursor from previous response | | `type` | string | no | Filter by task type (e.g. email-search, domain-scan, email-verification) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/search-results" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"mode":"single","id":"507f1f77bcf86cd799439011"}' ``` Request body: ```json { "mode": "single", "id": "507f1f77bcf86cd799439011" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/search-results # Fetch information and stats about your bulk searches — `POST /v1/icypeas/search-files` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Icypeas - **Endpoint**: `POST https://api.coldiq.com/v1/icypeas/search-files` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch information about bulk search files. Free — no credit cost. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `file` | string | yes | File ID returned by bulk-search | | `status` | string (enum) | no | Filter by status (one of: in_progress, done) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/icypeas/search-files" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"file":"507f1f77bcf86cd799439011"}' ``` Request body: ```json { "file": "507f1f77bcf86cd799439011" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Bulk search files | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/icypeas?ep=post:/v1/icypeas/search-files # Provider: Lima Data # Enrich Person — `POST /v1/limadata/enrich/person` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/enrich/person` - **Credits**: 17.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich a person's professional profile using email, LinkedIn URL, or name+company. Variable credit cost (1-5) settled from response header. Optional: include_work_email (+1 credit), include_phone (+10 credits). Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | no | Person's email address. Example: michel@coldiq.com | | `linkedin_url` | string | no | Person's LinkedIn URL. Example: https://www.linkedin.com/in/michel-lieben | | `name` | string | no | Person's name. Required when using company lookup. Example: Michel Lieben | | `company_name` | string | no | Company name. Use with name for identity resolution. Example: ColdIQ | | `company_domain` | string | no | Company domain. Use with name for identity resolution. Example: coldiq.com | | `include_work_email` | boolean | no | Include work email in response. Adds 1 credit if found. | | `include_phone` | boolean | no | Include phone number(s) in response. Adds 10 credits if found. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/enrich/person" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com","name":"Michel Lieben"}' ``` Request body: ```json { "email": "michel@coldiq.com", "name": "Michel Lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/enrich/person # Enrich Company — `POST /v1/limadata/enrich/company` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/enrich/company` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich a company profile using domain or LinkedIn URL. Returns firmographics, funding, tech stack, traffic, and more. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/company/enrich` (Enrich Company) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | no | Company domain. Example: coldiq.com | | `linkedin_url` | string | no | Company LinkedIn URL. Example: https://linkedin.com/company/cold-labs | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/enrich/company" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com"}' ``` Request body: ```json { "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/enrich/company # Person — `POST /v1/limadata/person` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/person` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve person data by LinkedIn profile URL. Returns cached data by default (30-60 days). Set live=true for fresh data (3 credits instead of 1). Credits: charged once per call, at a rate that depends on which fields you request (cached, live) — it is NOT flat. Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/person/enrich` (Enrich Person) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | Person's LinkedIn URL. Example: https://www.linkedin.com/in/michel-lieben | | `live` | boolean | no | Force live data fetch. Costs 3 total credits. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/person" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/person # Company — `POST /v1/limadata/company` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/company` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get company data by LinkedIn profile URL. Set live=true for fresh data (3 credits instead of 1). Credits: charged once per call, at a rate that depends on which fields you request (cached, live) — it is NOT flat. Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | Company's LinkedIn URL. Example: https://linkedin.com/company/cold-labs | | `live` | boolean | no | Force live data fetch. Costs 3 total credits. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/company" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://www.linkedin.com/company/cold-labs"}' ``` Request body: ```json { "url": "https://www.linkedin.com/company/cold-labs" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/company # Company Insights — `POST /v1/limadata/company/insights` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/company/insights` - **Credits**: 17.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get detailed company insights from Crunchbase, Semrush, IPqwery and others. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `identifier` | string | no | Crunchbase identifier. Example: "amazon" | | `domain` | string | no | Company domain. Example: "amazon.com" | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/company/insights" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com"}' ``` Request body: ```json { "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/company/insights # Database Autocomplete — `POST /v1/limadata/database/autocomplete` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/database/autocomplete` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get valid values for a database enum filter_type. Supports an optional query to narrow results. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `filter_type` | string | yes | Database enum field name | | `query` | string \| null | no | Optional query to narrow results | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/database/autocomplete" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filter_type":"revenue_range","query":"1"}' ``` Request body: ```json { "filter_type": "revenue_range", "query": "1" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape Example response: ```json [ "string" ] ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/database/autocomplete # Database Search Companies — `POST /v1/limadata/database/search-companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/database/search-companies` - **Credits**: 0.35 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search the Lima Data company database using one of three modes: ai_prompt, structured filters, or filter_expression. Supports pagination and optional exact totals. Results BILLING SHAPE: per RESULT — you pay for the companies you actually get back. Sibling route: POST /limadata/prospect/companies/filter bills a flat rate per CALL regardless of how many rows it returns, which makes it far more expensive per company on the small result sets this route handles. Compare both on get_endpoint_details before you route a large pull. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `filter_expression` | string \| null | no | Advanced filter expression | | `filters` | array \| null | no | Structured filters with include/exclude values per field | | `filters[].filter_type` | string | yes | | | `filters[].includes` | array \| null | no | | | `filters[].excludes` | array \| null | no | | | `filters[].mode` | string (enum) | no | (one of: Exact, Contains, StartsWith, EndsWith) | | `filters[].includes_all` | boolean | no | | | `filters[].min` | integer \| null | no | | | `filters[].max` | integer \| null | no | | | `ai_prompt` | string \| null | no | Natural-language prompt used to generate a filter | | `limit` | integer | no | Maximum records to return (default: 10) (min 1; max 10000) | | `offset` | integer | no | Records to skip (default: 0) (min 0; max 10000) | | `include_total` | boolean | no | Include the exact total count (default: false) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/database/search-companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filter_expression":"domain=coldiq.com","limit":10,"include_total":false}' ``` Request body: ```json { "filter_expression": "domain=coldiq.com", "limit": 10, "include_total": false } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `total_records` | integer \| null | no | Exact match count when include_total is true | | `filter_expression` | string \| null | no | Resolved expression, including expressions generated from ai_prompt | | `ai_message` | string \| null | no | Explanation of prompt clauses that could not be converted into filters | | `results` | array \| null | no | Matched records | Example response: ```json { "total_records": 1, "filter_expression": "domain=coldiq.com", "ai_message": null, "results": [ { "name": "ColdIQ", "domain": "coldiq.com", "profile_url": "https://www.linkedin.com/company/cold-labs" } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/database/search-companies # Database Search People — `POST /v1/limadata/database/search-people` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/database/search-people` - **Credits**: 0.35 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Beta endpoint. Search the Lima Data people database using one of three modes: ai_prompt, structured filters, or filter_expression. Supports person and employer fields, pagination, and optional exact totals. Account access must be enabled by Lima Data. Results Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `filter_expression` | string \| null | no | Advanced filter expression | | `filters` | array \| null | no | Structured filters with include/exclude values per field | | `filters[].filter_type` | string | yes | | | `filters[].includes` | array \| null | no | | | `filters[].excludes` | array \| null | no | | | `filters[].mode` | string (enum) | no | (one of: Exact, Contains, StartsWith, EndsWith) | | `filters[].includes_all` | boolean | no | | | `filters[].min` | integer \| null | no | | | `filters[].max` | integer \| null | no | | | `ai_prompt` | string \| null | no | Natural-language prompt used to generate a filter | | `limit` | integer | no | Maximum records to return (default: 10) (min 1; max 10000) | | `offset` | integer | no | Records to skip (default: 0) (min 0; max 10000) | | `include_total` | boolean | no | Include the exact total count (default: false) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/database/search-people" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filter_expression":"full_name=Michel Lieben, org_domain=coldiq.com","limit":10,"include_total":false}' ``` Request body: ```json { "filter_expression": "full_name=Michel Lieben, org_domain=coldiq.com", "limit": 10, "include_total": false } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `total_records` | integer \| null | no | Exact match count when include_total is true | | `filter_expression` | string \| null | no | Resolved expression, including expressions generated from ai_prompt | | `ai_message` | string \| null | no | Explanation of prompt clauses that could not be converted into filters | | `results` | array \| null | no | Matched records | Example response: ```json { "total_records": 1, "filter_expression": "full_name=Michel Lieben, org_domain=coldiq.com", "ai_message": null, "results": [ { "full_name": "Michel Lieben", "headline": "Founder at ColdIQ", "profile_url": "https://www.linkedin.com/in/michel-lieben" } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/database/search-people # Database Search Employees — `POST /v1/limadata/database/search-employees` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/database/search-employees` - **Credits**: 0.35 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Beta endpoint. Search employees across company domains and LinkedIn URLs (combined with OR), with optional partial-match job titles, pagination, and exact totals. Account access must be enabled by Lima Data. Results Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domains` | array \| null | no | Company domains to search; OR-ed with company_linkedins | | `company_linkedins` | array \| null | no | LinkedIn company URLs to search; OR-ed with company_domains | | `job_titles` | array \| null | no | Optional partial-match job titles | | `limit` | integer | no | Maximum records to return (default: 10) (min 1; max 10000) | | `offset` | integer | no | Records to skip (default: 0) (min 0; max 10000) | | `include_total` | boolean | no | Include the exact total count (default: false) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/database/search-employees" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domains":["coldiq.com"],"job_titles":["Sales"],"limit":10,"include_total":false}' ``` Request body: ```json { "company_domains": [ "coldiq.com" ], "job_titles": [ "Sales" ], "limit": 10, "include_total": false } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `total_records` | integer \| null | no | Exact match count when include_total is true | | `filter_expression` | string \| null | no | Resolved expression, including expressions generated from ai_prompt | | `ai_message` | string \| null | no | Explanation of prompt clauses that could not be converted into filters | | `results` | array \| null | no | Matched records | Example response: ```json { "total_records": 1, "filter_expression": "full_name=Michel Lieben, org_domain=coldiq.com", "ai_message": null, "results": [ { "full_name": "Michel Lieben", "headline": "Founder at ColdIQ", "profile_url": "https://www.linkedin.com/in/michel-lieben" } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/database/search-employees # Workplace Benefits — `POST /v1/limadata/company/workplace-benefits` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/company/workplace-benefits` - **Credits**: 10.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get workplace benefits for a company by Glassdoor ID. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `glassdoor_id` | string | yes | Glassdoor company ID | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/company/workplace-benefits" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"glassdoor_id":"1651"}' ``` Request body: ```json { "glassdoor_id": "1651" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/company/workplace-benefits # Workplace Ratings — `POST /v1/limadata/company/workplace-ratings` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/company/workplace-ratings` - **Credits**: 10.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get workplace ratings for a company by Glassdoor ID. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `glassdoor_id` | string | yes | Glassdoor company ID | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/company/workplace-ratings" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"glassdoor_id":"1651"}' ``` Request body: ```json { "glassdoor_id": "1651" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/company/workplace-ratings # Hashed Email — `POST /v1/limadata/find/hashed-email` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/find/hashed-email` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find SHA-256 hashed email addresses for ad audience targeting. Provide LinkedIn URL or work email. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `linkedin_url` | string | no | Person's LinkedIn URL | | `work_email` | string | no | Person's work email address | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/find/hashed-email" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"linkedin_url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "linkedin_url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/find/hashed-email # Personal Email — `POST /v1/limadata/find/personal-email` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/find/personal-email` - **Credits**: 17.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find personal email from LinkedIn, GitHub, X, or work email. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `linkedin_url` | string | no | Person's LinkedIn URL | | `github_url` | string | no | Person's GitHub URL | | `x_url` | string | no | Person's X (Twitter) URL | | `work_email` | string | no | Person's work email address | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/find/personal-email" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"linkedin_url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "linkedin_url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/find/personal-email # Email Verification — `POST /v1/limadata/find/email-verification` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/find/email-verification` - **Credits**: 1.05 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Verify whether an email address is deliverable. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address to verify (format email) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/find/email-verification" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/find/email-verification # Work Email — `POST /v1/limadata/find/work-email` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/find/work-email` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find business email from full name and company domain. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/email/find` (Find Email) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `full_name` | string | yes | Person's full name. Example: Michel Lieben | | `company_domain` | string | yes | Person's company domain. Example: coldiq.com | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/find/work-email" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"full_name":"Michel Lieben","company_domain":"coldiq.com"}' ``` Request body: ```json { "full_name": "Michel Lieben", "company_domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/find/work-email # Work Email from LinkedIn — `POST /v1/limadata/find/work-email-linkedin` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/find/work-email-linkedin` - **Credits**: 10.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find business email from LinkedIn profile URL. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `linkedin_url` | string | yes | Person's LinkedIn profile URL | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/find/work-email-linkedin" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"linkedin_url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "linkedin_url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/find/work-email-linkedin # Company LinkedIn — `POST /v1/limadata/find/company-linkedin` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/find/company-linkedin` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find the LinkedIn page of a company from its domain. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | yes | Company domain. Example: coldiq.com | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/find/company-linkedin" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com"}' ``` Request body: ```json { "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/find/company-linkedin # Phone Number — `POST /v1/limadata/find/phone` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/find/phone` - **Credits**: 35 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find phone numbers from LinkedIn profile or name+company. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/phone/find` (Find Phone) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `linkedin_url` | string | no | Person's LinkedIn URL | | `name` | string | no | Person's name. Example: Michel Lieben | | `company_name` | string | no | Company name. Example: ColdIQ | | `company_domain` | string | no | Company domain. Example: coldiq.com | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/find/phone" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"linkedin_url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "linkedin_url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/find/phone # Identity Resolution — `POST /v1/limadata/find/identity-resolution` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/find/identity-resolution` - **Credits**: 7 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find social profile URLs (LinkedIn, etc.) by name and company/domain/email. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `full_name` | string | yes | Person's full name. Example: Michel Lieben | | `company_name` | string | no | Company name. Example: ColdIQ | | `company_domain` | string | no | Company domain. Example: coldiq.com | | `email` | string | no | Person's business email | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/find/identity-resolution" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"full_name":"Michel Lieben","company_domain":"coldiq.com"}' ``` Request body: ```json { "full_name": "Michel Lieben", "company_domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/find/identity-resolution # Reverse Email Lookup — `POST /v1/limadata/find/reverse-email-lookup` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/find/reverse-email-lookup` - **Credits**: 17.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find LinkedIn, GitHub, and X profiles from an email address. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Person's email address. Example: mcuban@gmail.com | | `require_linkedin` | boolean | no | Require LinkedIn profile to be found, else 404. | | `require_x` | boolean | no | Require X profile to be found, else 404. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/find/reverse-email-lookup" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"mcuban@gmail.com"}' ``` Request body: ```json { "email": "mcuban@gmail.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/find/reverse-email-lookup # Company Glassdoor ID — `POST /v1/limadata/find/glassdoor-company` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/find/glassdoor-company` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find the Glassdoor ID for a company from its domain. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | yes | Company domain. Example: coldiq.com | | `company_name` | string | no | Optional company name. Example: ColdIQ | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/find/glassdoor-company" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com"}' ``` Request body: ```json { "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/find/glassdoor-company # Company Jobs — `POST /v1/limadata/jobs` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/jobs` - **Credits**: 7 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get LinkedIn job listings for a company page. 20 results per page. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | LinkedIn company profile URL. Example: https://www.linkedin.com/company/cold-labs | | `page` | integer | no | Page number starting from 1 | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/jobs" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://www.linkedin.com/company/cold-labs"}' ``` Request body: ```json { "url": "https://www.linkedin.com/company/cold-labs" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/jobs # Job Details — `POST /v1/limadata/jobs/details` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/jobs/details` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get detailed information about a LinkedIn job posting by its ID. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | LinkedIn Job ID. Example: 3996439038 | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/jobs/details" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"id":"3996439038"}' ``` Request body: ```json { "id": "3996439038" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/jobs/details # Posts — `POST /v1/limadata/posts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/posts` - **Credits**: 7 credits per post - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get LinkedIn posts of a person or company profile. Supports pagination. The minimum charge is 2 credits, including an empty result. Credits: bills only for returned results, per post; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | LinkedIn person or company profile URL | | `max_results` | integer | no | Maximum posts to return (default: 10) (min 1; max 100) | | `pagination_token` | string | no | Pagination token from previous response | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/posts" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/posts # Post Comments — `POST /v1/limadata/posts/comments` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/posts/comments` - **Credits**: 7 credits per comment - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get comments for a LinkedIn post using its post URL. The minimum charge is 2 credits, including an empty result. Credits: bills only for returned results, per comment; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `post_url` | string | yes | LinkedIn post URL | | `page` | integer | no | Page number | | `max_results` | integer | no | Maximum comments to return (default: 10) (min 1; max 100) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/posts/comments" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"post_url":"https://www.linkedin.com/feed/update/urn:li:activity:7302070253893677057"}' ``` Request body: ```json { "post_url": "https://www.linkedin.com/feed/update/urn:li:activity:7302070253893677057" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/posts/comments # Post Reactions — `POST /v1/limadata/posts/reactions` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/posts/reactions` - **Credits**: 7 credits per reaction - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get reactions for a LinkedIn post using its post URL. The minimum charge is 2 credits, including an empty result. Credits: bills only for returned results, per reaction; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `post_url` | string | yes | LinkedIn post URL | | `page` | integer | no | Page number | | `max_results` | integer | no | Maximum reactions to return (default: 10) (min 1; max 100) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/posts/reactions" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"post_url":"https://www.linkedin.com/feed/update/urn:li:activity:7302070253893677057"}' ``` Request body: ```json { "post_url": "https://www.linkedin.com/feed/update/urn:li:activity:7302070253893677057" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/posts/reactions # Search People — `POST /v1/limadata/search/people` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/search/people` - **Credits**: 7 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search people by keywords with optional filters for title, company, location. Best for targeted searches. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string | yes | Search query/keywords. Example: Software Engineer | | `page` | integer | no | Page number starting from 1 | | `title` | string | no | Filter by job title keywords | | `company` | string | no | Filter by company name keywords | | `first_name` | string | no | Filter by first name | | `last_name` | string | no | Filter by last name | | `location_list` | string | no | Comma-separated location IDs | | `current_company_list` | string | no | Comma-separated LinkedIn company IDs | | `past_company_list` | string | no | Comma-separated past company IDs | | `industry_list` | string | no | Comma-separated LinkedIn industry IDs | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/search/people" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"Michel Lieben","company":"ColdIQ","title":"CEO"}' ``` Request body: ```json { "query": "Michel Lieben", "company": "ColdIQ", "title": "CEO" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/search/people # Search Companies — `POST /v1/limadata/search/companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/search/companies` - **Credits**: 7 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search companies by keywords with optional filters for size, location, industry. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string | yes | Search query/keywords. Example: ColdIQ | | `page` | integer | no | Page number starting from 1 | | `company_size` | string | no | Filter by company size. Comma-separated: A=1-10, B=11-50, C=51-200, D=201-500, E=501-1000, F=1001-5000, G=5001-10000, H=10001+ | | `has_jobs` | boolean | no | Filter for companies currently hiring | | `location_list` | string | no | Comma-separated location IDs | | `industry_list` | string | no | Comma-separated LinkedIn industry IDs | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/search/companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"ColdIQ"}' ``` Request body: ```json { "query": "ColdIQ" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/search/companies # Search Jobs — `POST /v1/limadata/search/jobs` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/search/jobs` - **Credits**: 7 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search jobs by keywords with optional filters. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string | yes | Search query/keywords. Example: Software Engineer | | `page` | integer | no | Page number starting from 1 | | `location_id` | string | no | Single numeric location ID | | `easy_apply` | boolean | no | Filter for easy apply jobs only | | `experience` | string | no | Experience level. Comma-separated: 1=Internship, 2=Entry, 3=Associate, 4=Mid-Senior, 5=Director, 6=Executive | | `job_type` | string | no | Job type. Comma-separated: F=Full-time, P=Part-time, C=Contract, T=Temporary, I=Internship, V=Volunteer, O=Other | | `posted_ago` | string | no | Filter by how recently posted, in seconds. Example: 604800 for 7 days | | `workplace_type` | string | no | Workplace type. Comma-separated: 1=On-site, 2=Remote, 3=Hybrid | | `sort_by` | string | no | Sort criteria | | `company_ids` | string | no | Comma-separated LinkedIn company IDs | | `industry_ids` | string | no | Comma-separated LinkedIn industry IDs | | `function_ids` | string | no | Comma-separated function IDs | | `title_ids` | string | no | Comma-separated title IDs | | `location_ids` | string | no | Comma-separated location IDs | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/search/jobs" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"Software Engineer"}' ``` Request body: ```json { "query": "Software Engineer" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/search/jobs # Search Posts — `POST /v1/limadata/search/posts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/search/posts` - **Credits**: 7 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search LinkedIn posts by keywords with optional filters. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string | yes | Search query/keywords | | `page` | integer | no | Page number starting from 1 | | `sort_by_latest` | boolean | no | Sort by latest posts instead of most relevant | | `author_job_title` | string | no | Filter by author's job title keywords | | `content_type` | string | no | Filter by content type: photos, videos, articles, documents | | `from_member` | string | no | Comma-separated LinkedIn member URNs | | `from_organization` | string | no | Comma-separated LinkedIn organization URNs | | `author_company` | string | no | Comma-separated LinkedIn company IDs for author's company | | `author_industry` | string | no | Comma-separated LinkedIn industry IDs for author's industry | | `mentions_member` | string | no | Comma-separated LinkedIn member URNs mentioned in post | | `mentions_organization` | string | no | Comma-separated LinkedIn organization URNs mentioned in post | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/search/posts" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"AI Technology"}' ``` Request body: ```json { "query": "AI Technology" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/search/posts # Web Search — `POST /v1/limadata/search/web` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/search/web` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Perform a Google web search. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/web/search` (Web Search) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string | yes | Search query string | | `page` | integer | no | Page number for pagination (default: 1) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/search/web" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"best CRM tools 2026"}' ``` Request body: ```json { "query": "best CRM tools 2026" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/search/web # AI Search — `POST /v1/limadata/research/ai-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/research/ai-search` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description AI-powered web search that retrieves and synthesizes information. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string | yes | Search query string | | `output_type` | string (enum) | no | Type of output to return (one of: SearchResults, SourcedAnswer, Structured) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/research/ai-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"What is the latest funding round for Stripe?"}' ``` Request body: ```json { "query": "What is the latest funding round for Stripe?" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/research/ai-search # Extract — `POST /v1/limadata/research/extract` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/research/extract` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Extract clean markdown content from 1-10 web pages. JavaScript rendering uses the higher render_js rate. Credits: variable per URL, charged by which fields you request (standard, renderJs). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `urls` | array | yes | List of URLs to extract content from (1-10 URLs) | | `include_links` | boolean | no | Extract link URLs from pages (default: false) | | `include_images` | boolean | no | Extract image URLs from pages (default: false) | | `render_js` | boolean | no | Render JavaScript before extraction. Costs 0.2 credits per URL instead of 0.1. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/research/extract" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls":["https://coldiq.com"]}' ``` Request body: ```json { "urls": [ "https://coldiq.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/research/extract # Autocomplete — `POST /v1/limadata/references/autocomplete` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/references/autocomplete` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get autocomplete results for prospect filter types. Free endpoint. Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `filter_type` | string | yes | Filter type: company_headcount, company_type, company_headquarters, function, current_title, seniority, past_title, years_in_current_company, years_in_current_position, location, industry, year_of_experience, profile_language | | `query` | string | no | Search keyword | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/references/autocomplete" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filter_type":"current_title","query":"Software"}' ``` Request body: ```json { "filter_type": "current_title", "query": "Software" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/references/autocomplete # Prospect People by URL — `POST /v1/limadata/prospect/people/search-url` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/prospect/people/search-url` - **Credits**: 87.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Prospect people using a LinkedIn Sales Navigator search URL. Up to 25 results per page. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `search_url` | string | yes | LinkedIn Sales Navigator Leads Search URL | | `page` | integer | no | Page number starting from 1 | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/prospect/people/search-url" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"search_url":"https://www.linkedin.com/sales/search/people?query=..."}' ``` Request body: ```json { "search_url": "https://www.linkedin.com/sales/search/people?query=..." } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/prospect/people/search-url # Prospect People — `POST /v1/limadata/prospect/people/filter` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/prospect/people/filter` - **Credits**: 87.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Prospect people using filter criteria. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `filters` | array | yes | Filters to apply to people | | `filters[].filter_type` | string | yes | Filter type | | `filters[].operator` | string | no | Match operator. Discrete value filters (current_title, seniority, function, location, industry, company_headcount, company_type, …) require 'in'; defaults to 'in' when omitted and `values` is provided. Range filters use `range_value` instead. | | `filters[].values` | array | no | Filter values | | `filters[].range_value` | object | no | Range filter value | | `filters[].range_value.sub_filter` | string | no | | | `filters[].range_value.min` | integer | yes | | | `filters[].range_value.max` | integer | no | | | `page` | integer | no | Page number (1-100) | | `settings_match_all_company_urls` | boolean | no | Match all company URLs (default: false) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/prospect/people/filter" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filters":[{"filter_type":"current_title","operator":"in","values":["Head of Growth"]}]}' ``` Request body: ```json { "filters": [ { "filter_type": "current_title", "operator": "in", "values": [ "Head of Growth" ] } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/prospect/people/filter # Prospect Employees — `POST /v1/limadata/prospect/employees` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/prospect/employees` - **Credits**: 87.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Prospect employees of a company with optional title, location, and seniority filters. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/people/search` (Find People) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | LinkedIn company profile URL | | `keyword` | string | no | Keyword to filter people | | `titles` | array | no | Titles to filter by | | `locations` | array | no | Locations to filter by | | `seniorities` | array | no | Seniorities to filter by (label or code) | | `recently_changed_jobs` | boolean | no | Filter by recent job changes | | `page` | integer | no | Page number starting from 1 | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/prospect/employees" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://www.linkedin.com/company/cold-labs"}' ``` Request body: ```json { "url": "https://www.linkedin.com/company/cold-labs" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/prospect/employees # Prospect Employees (batch) — `POST /v1/limadata/prospect/employees/batch` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/prospect/employees/batch` - **Credits**: 87.5 credits per company - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Prospect employees across multiple companies in one call. Each company LinkedIn URL is searched in parallel and the results are merged, with each contact attributed to its company. Credits: bills only for returned results, per company; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/people/search` (Find People) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `urls` | array | yes | LinkedIn company profile URLs to prospect employees for (1-25). Each is searched in parallel and the results are merged. Costs 25 credits per company that returns successfully. | | `keyword` | string | no | Keyword to filter people (applied to every company) | | `titles` | array | no | Titles to filter by (applied to every company) | | `locations` | array | no | Locations to filter by (applied to every company) | | `seniorities` | array | no | Seniorities to filter by, label or code (applied to every company) | | `recently_changed_jobs` | boolean | no | Filter by recent job changes (applied to every company) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/prospect/employees/batch" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls":["https://www.linkedin.com/company/microsoft","https://www.linkedin.com/company/google"],"titles":["Head of Sales"]}' ``` Request body: ```json { "urls": [ "https://www.linkedin.com/company/microsoft", "https://www.linkedin.com/company/google" ], "titles": [ "Head of Sales" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/prospect/employees/batch # Prospect Companies — `POST /v1/limadata/prospect/companies/filter` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/prospect/companies/filter` - **Credits**: 87.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Prospect companies using filter criteria. BILLING SHAPE: flat per CALL, not per result — one call costs the same whether it returns 25 rows or 50, so the cost per company falls only as the result set grows. Sibling route: POST /limadata/database/search-companies bills per RESULT instead, which is materially cheaper per company for small or partial result sets. Price both on get_endpoint_details for your expected row count before you commit to either — do not assume this route is the only Lima company source. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `filters` | array | yes | Filters to apply to companies | | `filters[].filter_type` | string | yes | Filter type | | `filters[].operator` | string | no | Match operator. Discrete value filters (current_title, seniority, function, location, industry, company_headcount, company_type, …) require 'in'; defaults to 'in' when omitted and `values` is provided. Range filters use `range_value` instead. | | `filters[].values` | array | no | Filter values | | `filters[].range_value` | object | no | Range filter value | | `filters[].range_value.sub_filter` | string | no | | | `filters[].range_value.min` | integer | yes | | | `filters[].range_value.max` | integer | no | | | `page` | integer | no | Page number (1-60) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/prospect/companies/filter" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filters":[{"filter_type":"company_headcount","operator":"in","values":["201-500","501-1,000"]}]}' ``` Request body: ```json { "filters": [ { "filter_type": "company_headcount", "operator": "in", "values": [ "201-500", "501-1,000" ] } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/prospect/companies/filter # Prospect Companies by URL — `POST /v1/limadata/prospect/companies/search-url` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/prospect/companies/search-url` - **Credits**: 87.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Prospect companies using a LinkedIn Sales Navigator company search URL. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `search_url` | string | yes | LinkedIn Sales Navigator Company Search URL | | `page` | integer | no | Page number starting from 1 | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/prospect/companies/search-url" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"search_url":"https://www.linkedin.com/sales/search/company?query=..."}' ``` Request body: ```json { "search_url": "https://www.linkedin.com/sales/search/company?query=..." } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/prospect/companies/search-url # Batch People Profiles — `POST /v1/limadata/batch/people` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/batch/people` - **Credits**: 87.5 credits per URL - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Batch retrieve 100-100,000 LinkedIn people profiles. Credits: bills only for returned results, per URL; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | Name for the batch operation | | `urls` | array | yes | List of LinkedIn profile URLs to retrieve (100-100,000 URLs) | | `notification_url` | string | no | Webhook URL to notify when batch completes | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/batch/people" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls":["https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben","https://www.linkedin.com/in/michel-lieben"]}' ``` Request body: ```json { "urls": [ "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben", "https://www.linkedin.com/in/michel-lieben" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `409` | An identical submission is already in progress | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/batch/people # Batch Company Profiles — `POST /v1/limadata/batch/companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/batch/companies` - **Credits**: 87.5 credits per URL - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Batch retrieve 100-100,000 LinkedIn company profiles. Credits: bills only for returned results, per URL; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | Name for the batch operation | | `urls` | array | yes | List of LinkedIn company URLs to retrieve (100-100,000 URLs) | | `notification_url` | string | no | Webhook URL to notify when batch completes | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/batch/companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls":["https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs","https://www.linkedin.com/company/cold-labs"]}' ``` Request body: ```json { "urls": [ "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs", "https://www.linkedin.com/company/cold-labs" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `409` | An identical submission is already in progress | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/batch/companies # Batch Prospect People — `POST /v1/limadata/batch/prospect-people` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/batch/prospect-people` - **Credits**: 87.5 credits per entity - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Batch prospect 50-25,000 people with filters. Credits: bills only for returned results, per entity; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | Name for the batch operation | | `filters` | array | yes | Filters to apply to people search | | `filters[].filter_type` | string | yes | Filter type | | `filters[].operator` | string | no | Match operator. Discrete value filters (current_title, seniority, function, location, industry, company_headcount, company_type, …) require 'in'; defaults to 'in' when omitted and `values` is provided. Range filters use `range_value` instead. | | `filters[].values` | array | no | Filter values | | `filters[].range_value` | object | no | Range filter value | | `filters[].range_value.sub_filter` | string | no | | | `filters[].range_value.min` | integer | yes | | | `filters[].range_value.max` | integer | no | | | `entity_count` | integer | no | Number of people to retrieve (50-25,000; multiple of 25) (min 50; max 25000) | | `notification_url` | string | no | Webhook URL to notify when batch completes | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/batch/prospect-people" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filters":[{"filter_type":"current_title","operator":"in","values":["CEO"]}],"entity_count":100}' ``` Request body: ```json { "filters": [ { "filter_type": "current_title", "operator": "in", "values": [ "CEO" ] } ], "entity_count": 100 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `409` | An identical submission is already in progress | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/batch/prospect-people # Batch Prospect Companies — `POST /v1/limadata/batch/prospect-companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/batch/prospect-companies` - **Credits**: 87.5 credits per entity - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Batch prospect 50-15,000 companies with filters. Credits: bills only for returned results, per entity; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | Name for the batch operation | | `filters` | array | yes | Filters to apply to company search | | `filters[].filter_type` | string | yes | Filter type | | `filters[].operator` | string | no | Match operator. Discrete value filters (current_title, seniority, function, location, industry, company_headcount, company_type, …) require 'in'; defaults to 'in' when omitted and `values` is provided. Range filters use `range_value` instead. | | `filters[].values` | array | no | Filter values | | `filters[].range_value` | object | no | Range filter value | | `filters[].range_value.sub_filter` | string | no | | | `filters[].range_value.min` | integer | yes | | | `filters[].range_value.max` | integer | no | | | `entity_count` | integer | no | Number of companies to retrieve (50-15,000; multiple of 25) (min 50; max 15000) | | `notification_url` | string | no | Webhook URL to notify when batch completes | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/batch/prospect-companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filters":[{"filter_type":"company_headcount","operator":"in","values":["201-500"]}],"entity_count":50}' ``` Request body: ```json { "filters": [ { "filter_type": "company_headcount", "operator": "in", "values": [ "201-500" ] } ], "entity_count": 50 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `409` | An identical submission is already in progress | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/batch/prospect-companies # Batch Post Engagements — `POST /v1/limadata/batch/post-engagements` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/batch/post-engagements` - **Credits**: 35 credits per URL - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve reactors and commenters for up to 50 LinkedIn posts asynchronously. Reserves 10 credits per URL and settles to the actual engagement cost. Credits: bills only for returned results, per URL; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | Name for the batch operation | | `urls` | array | yes | LinkedIn post URLs to retrieve engagements for (1-50) | | `notification_url` | string | no | Webhook URL to notify when the batch completes | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/batch/post-engagements" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls":["https://www.linkedin.com/feed/update/urn:li:activity:7302070253893677057"]}' ``` Request body: ```json { "urls": [ "https://www.linkedin.com/feed/update/urn:li:activity:7302070253893677057" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `409` | An identical submission is already in progress | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/batch/post-engagements # Batch Operations List — `POST /v1/limadata/batch/list` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/batch/list` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description List all batch operations. Free endpoint. Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer | no | Page number | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/batch/list" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/batch/list # Batch Operation Results — `POST /v1/limadata/batch/results` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/batch/results` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get results of a batch operation by ID. Free endpoint. Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `batch_id` | string | yes | Batch operation ID | | `page` | integer | no | Page number | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/batch/results" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"batch_id":"12345"}' ``` Request body: ```json { "batch_id": "12345" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/batch/results # Create a Watch — `POST /v1/limadata/watch` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/watch` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Create a watch subscription to monitor people or companies for changes. Types: PersonJobChanges, PersonProfileUpdates, PersonSocialPosts, CompanySocialPosts, CompanyJobPosts. Free to create; credits charged per check. Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Name of the watch subscription | | `type` | string (enum) | yes | Watch type (one of: PersonJobChanges, PersonProfileUpdates, PersonSocialPosts, CompanySocialPosts, CompanyJobPosts) | | `notification_url` | string | yes | Webhook URL for notifications | | `frequency_days` | integer | yes | Check frequency in days (1-60) (min 1; max 60) | | `settings` | object | no | Watch settings | | `settings.people_urls` | array | no | LinkedIn people URLs to monitor | | `settings.company_urls` | array | no | LinkedIn company URLs to monitor | | `external_id` | string | no | External identifier for integration | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/watch" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Monitor Sales Team Job Changes","type":"PersonJobChanges","notification_url":"https://your-app.com/webhooks/watch","frequency_days":7,"settings":{"people_urls":["https://www.linkedin.com/in/michel-lieben"]}}' ``` Request body: ```json { "name": "Monitor Sales Team Job Changes", "type": "PersonJobChanges", "notification_url": "https://your-app.com/webhooks/watch", "frequency_days": 7, "settings": { "people_urls": [ "https://www.linkedin.com/in/michel-lieben" ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/watch # List Watches — `POST /v1/limadata/watch/list` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/watch/list` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description List all watch subscriptions. Free endpoint. Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer | no | Page number (1-indexed, default: 1) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/watch/list" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/watch/list # Get Watch by ID — `POST /v1/limadata/watch/get` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/watch/get` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get a specific watch subscription by ID. Free endpoint. Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer | yes | Watch subscription ID | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/watch/get" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"id":12345}' ``` Request body: ```json { "id": 12345 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/watch/get # Update Watch — `POST /v1/limadata/watch/update` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/watch/update` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Update a watch subscription. Can modify name, notification_url, frequency_days, is_active, external_id. Free endpoint. Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer | yes | Watch subscription ID | | `name` | string | no | Name of the watch subscription | | `notification_url` | string | no | Webhook URL for notifications | | `frequency_days` | integer | no | Check frequency in days (1-60) (min 1; max 60) | | `is_active` | boolean | no | Whether the watch is active | | `external_id` | string | no | External identifier | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/watch/update" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"id":12345,"is_active":false}' ``` Request body: ```json { "id": 12345, "is_active": false } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/watch/update # Mock Webhook Payload — `POST /v1/limadata/watch/mock-payload` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lima Data - **Endpoint**: `POST https://api.coldiq.com/v1/limadata/watch/mock-payload` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get sample webhook payloads for testing your integration. Free endpoint. Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `type` | string (enum) | yes | Watch type (one of: PersonJobChanges, PersonProfileUpdates, PersonSocialPosts, CompanySocialPosts, CompanyJobPosts) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/limadata/watch/mock-payload" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"type":"PersonJobChanges"}' ``` Request body: ```json { "type": "PersonJobChanges" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lima-data?ep=post:/v1/limadata/watch/mock-payload # Provider: PredictLeads # Retrieve Company — `GET /v1/predictleads/companies/{idOrDomain}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/companies/{idOrDomain}` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve a company by ID or domain. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `idOrDomain` | string | yes | Company ID (UUID) or domain (e.g. coldiq.com) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/companies/coldiq.com" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/companies/{idOrDomain} # Retrieve Companies — `GET /v1/predictleads/discover/companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/discover/companies` - **Credits**: 2.51 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Discover companies using optional firmographic filters. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `location` | string | no | Country or region to filter companies by | | `sizes` | string | no | Comma-separated company size ranges. Valid values: 1, 2-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+ | | `naics_codes` | string | no | | | `industry` | string | no | | | `revenue_range_low` | number \| null | no | (min 0) | | `revenue_range_high` | number \| null | no | (min 0) | | `page` | integer | no | (min 1) | | `limit` | integer | no | (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/discover/companies?location=United%20States&sizes=11-50%2C51-200&naics_codes=541511%2C541512&industry=Software&revenue_range_low=1000000&revenue_range_high=50000000&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/discover/companies # Retrieve company's Similar Companies — `GET /v1/predictleads/companies/{companyIdOrDomain}/similar_companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/companies/{companyIdOrDomain}/similar_companies` - **Credits**: 2.51 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns companies similar to the given company. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `companyIdOrDomain` | string | yes | Company ID (UUID) or domain | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Max results (max: 50) (min 1; max 50) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/companies/coldiq.com/similar_companies?limit=5" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/companies/{companyIdOrDomain}/similar_companies # Retrieve company's Job Openings — `GET /v1/predictleads/companies/{companyIdOrDomain}/job_openings` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/companies/{companyIdOrDomain}/job_openings` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns job openings for the given company. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `companyIdOrDomain` | string | yes | Company ID (UUID) or domain | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `active_only` | boolean | no | | | `not_closed` | boolean | no | | | `first_seen_at_from` | string | no | | | `first_seen_at_until` | string | no | | | `last_seen_at_from` | string | no | | | `last_seen_at_until` | string | no | | | `with_description_only` | boolean | no | | | `with_location_only` | boolean | no | | | `categories` | string | no | Comma-separated job categories. Valid values: administration, consulting, data_analysis, design, directors, education, engineering, finance, healthcare_services, human_resources, information_technology, internship, legal, management, marketing, military_and_protective_services, operations, purchasing, product_management, quality_assurance, real_estate, research, sales, software_development, support, manual_work, food | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/companies/coldiq.com/job_openings?first_seen_at_from=2024-09-25&first_seen_at_until=2024-09-25&last_seen_at_from=2024-09-25&last_seen_at_until=2024-09-25&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/companies/{companyIdOrDomain}/job_openings # Retrieve a single Job Opening by ID — `GET /v1/predictleads/job_openings/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/job_openings/{id}` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve a single job opening by UUID. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | (format uuid) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/job_openings/a0383c53-8142-5e7c-8ca3-9980289a3ccc" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/job_openings/{id} # Retrieve a list of Job Openings — `GET /v1/predictleads/discover/job_openings` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/discover/job_openings` - **Credits**: 2.51 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Discover job openings filtered by O*NET codes and/or location. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `onet_codes` | string | no | Comma-separated O*NET codes | | `location` | string | no | | | `active_only` | boolean | no | | | `found_at_from` | string | no | | | `seniority` | string | no | | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/discover/job_openings?onet_codes=17-2071.00%2C15-1254.00&location=United%20States&found_at_from=2026-07-01&seniority=senior%2Cexecutive&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/discover/job_openings # Retrieve Technologies used by specific Company — `GET /v1/predictleads/companies/{companyIdOrDomain}/technology_detections` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/companies/{companyIdOrDomain}/technology_detections` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns technologies detected on the company website. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `companyIdOrDomain` | string | yes | Company ID (UUID) or domain | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `first_seen_at_from` | string | no | | | `first_seen_at_until` | string | no | | | `last_seen_at_from` | string | no | | | `last_seen_at_until` | string | no | | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/companies/coldiq.com/technology_detections?first_seen_at_from=2024-09-25&first_seen_at_until=2024-09-25&last_seen_at_from=2024-09-25&last_seen_at_until=2024-09-25&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/companies/{companyIdOrDomain}/technology_detections # Retrieve Companies using specific Technology ID or fuzzy name — `GET /v1/predictleads/discover/technologies/{technologyIdOrFuzzyName}/technology_detections` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/discover/technologies/{technologyIdOrFuzzyName}/technology_detections` - **Credits**: 2.51 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns companies detected using the given technology. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `technologyIdOrFuzzyName` | string | yes | Technology ID (UUID) or fuzzy name | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `first_seen_at_from` | string | no | | | `first_seen_at_until` | string | no | | | `last_seen_at_from` | string | no | | | `last_seen_at_until` | string | no | | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/discover/technologies/react/technology_detections?first_seen_at_from=2024-09-25&first_seen_at_until=2024-09-25&last_seen_at_from=2024-09-25&last_seen_at_until=2024-09-25&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/discover/technologies/{technologyIdOrFuzzyName}/technology_detections # Retrieve a single Extended Technology Detection by ID — `GET /v1/predictleads/extended_technology_detections/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/extended_technology_detections/{id}` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve one extended technology detection. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | (format uuid) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/extended_technology_detections/a0383c53-8142-5e7c-8ca3-9980289a3ccc" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/extended_technology_detections/{id} # Retrieve all tracked Technologies — `GET /v1/predictleads/technologies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/technologies` - **Credits**: 7.53 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns tracked technologies, optionally filtered by fuzzy name. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `fuzzy_name` | string | no | | | `order_by` | string (enum) | no | Order results. Valid values: created_at_asc, created_at_desc, fuzzy_score_desc. fuzzy_score_desc requires fuzzy_name. (one of: created_at_asc, created_at_desc, fuzzy_score_desc) | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/technologies?page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/technologies # Retrieve a single Technology by ID or fuzzy name — `GET /v1/predictleads/technologies/{idOrFuzzyName}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/technologies/{idOrFuzzyName}` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve a single technology by ID or fuzzy name. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `idOrFuzzyName` | string | yes | Technology ID (UUID) or fuzzy name (e.g. react) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/technologies/react" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/technologies/{idOrFuzzyName} # Retrieve company's News Events — `GET /v1/predictleads/companies/{companyIdOrDomain}/news_events` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/companies/{companyIdOrDomain}/news_events` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns news events for the given company. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `companyIdOrDomain` | string | yes | Company ID (UUID) or domain | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `found_at_from` | string | no | | | `found_at_until` | string | no | | | `categories` | string | no | Comma-separated news event categories. Valid values: acquires, merges_with, sells_assets_to, signs_new_client, files_suit_against, has_issues_with, closes_offices_in, decreases_headcount_by, attends_event, expands_facilities, expands_offices_in, expands_offices_to, increases_headcount_by, opens_new_location, goes_public, invests_into, invests_into_assets, receives_financing, hires, leaves, promotes, retires_from, integrates_with, is_developing, launches, partners_with, receives_award, recognized_as, identified_as_competitor_of | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/companies/coldiq.com/news_events?found_at_from=2024-09-25&found_at_until=2024-09-25&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/companies/{companyIdOrDomain}/news_events # Retrieve a single News Event by ID — `GET /v1/predictleads/news_events/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/news_events/{id}` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve a single news event by UUID. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | (format uuid) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/news_events/a0383c53-8142-5e7c-8ca3-9980289a3ccc" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/news_events/{id} # Retrieve News Events — `GET /v1/predictleads/discover/news_events` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/discover/news_events` - **Credits**: 2.51 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Discover news events filtered by category and/or company location. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/signals/find` (Find Signals) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `categories` | string | no | Comma-separated news event categories. Valid values: acquires, merges_with, sells_assets_to, signs_new_client, files_suit_against, has_issues_with, closes_offices_in, decreases_headcount_by, attends_event, expands_facilities, expands_offices_in, expands_offices_to, increases_headcount_by, opens_new_location, goes_public, invests_into, invests_into_assets, receives_financing, hires, leaves, promotes, retires_from, integrates_with, is_developing, launches, partners_with, receives_award, recognized_as, identified_as_competitor_of | | `company_location` | string | no | | | `company_sizes` | string | no | | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/discover/news_events?company_location=United%20States&company_sizes=11-50%2C51-200&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/discover/news_events # Retrieve company's Financing Events — `GET /v1/predictleads/companies/{companyIdOrDomain}/financing_events` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/companies/{companyIdOrDomain}/financing_events` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns financing events for the given company. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `companyIdOrDomain` | string | yes | Company ID (UUID) or domain | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `first_seen_at_from` | string | no | | | `first_seen_at_until` | string | no | | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/companies/coldiq.com/financing_events?first_seen_at_from=2024-09-25&first_seen_at_until=2024-09-25&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/companies/{companyIdOrDomain}/financing_events # Retrieve Financing Events — `GET /v1/predictleads/discover/financing_events` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/discover/financing_events` - **Credits**: 2.51 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Discover financing events filtered by type and/or company location. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/signals/find` (Find Signals) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `financing_types_normalized` | string | no | Comma-separated financing types. Valid values: pre_angel, angel_plus, angel_plus_plus, angel, angel_1, angel_2, angel_3, pre_seed, seed_plus, seed_plus_plus, seed, seed_1, seed_2, seed_3, pre_series_a, series_a_plus, series_a_plus_plus, series_a, series_a1, series_a2, series_a3, pre_series_b, series_b_plus, series_b_plus_plus, series_b, series_b1, series_b2, series_b3, pre_series_c, series_c_plus, series_c_plus_plus, series_c, series_c1, series_c2, series_c3, pre_series_d, series_d_plus, series_d_plus_plus, series_d, series_d1, series_d2, series_d3, pre_series_e, series_e_plus, series_e_plus_plus, series_e, series_e1, series_e2, series_e3, pre_series_f, series_f_plus, series_f_plus_plus, series_f, series_f1, series_f2, series_f3, pre_series_g, series_g_plus, series_g_plus_plus, series_g, series_g1, series_g2, series_g3, pre_series_h, series_h_plus, series_h_plus_plus, series_h, series_h1, series_h2, series_h3, pre_series_i, series_i_plus, series_i_plus_plus, series_i, series_i1, series_i2, series_i3, pre_series_j, series_j_plus, series_j_plus_plus, series_j, series_j1, series_j2, series_j3, pre_angel_bridge, angel_plus_bridge, angel_plus_plus_bridge, angel_bridge, angel_1_bridge, angel_2_bridge, angel_3_bridge, pre_seed_bridge, seed_plus_bridge, seed_plus_plus_bridge, seed_bridge, seed_1_bridge, seed_2_bridge, seed_3_bridge, pre_series_a_bridge, series_a_plus_bridge, series_a_plus_plus_bridge, series_a_bridge, series_a1_bridge, series_a2_bridge, series_a3_bridge, pre_series_b_bridge, series_b_plus_bridge, series_b_plus_plus_bridge, series_b_bridge, series_b1_bridge, series_b2_bridge, series_b3_bridge, pre_series_c_bridge, series_c_plus_bridge, series_c_plus_plus_bridge, series_c_bridge, series_c1_bridge, series_c2_bridge, series_c3_bridge, pre_series_d_bridge, series_d_plus_bridge, series_d_plus_plus_bridge, series_d_bridge, series_d1_bridge, series_d2_bridge, series_d3_bridge, pre_series_e_bridge, series_e_plus_bridge, series_e_plus_plus_bridge, series_e_bridge, series_e1_bridge, series_e2_bridge, series_e3_bridge | | `company_location` | string | no | | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/discover/financing_events?company_location=United%20States&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/discover/financing_events # Retrieve company's SEC Filings — `GET /v1/predictleads/companies/{companyIdOrDomain}/sec_filings` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/companies/{companyIdOrDomain}/sec_filings` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve SEC filings for a company. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `companyIdOrDomain` | string | yes | Company ID (UUID) or domain | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `form_types` | string | no | | | `filed_at_from` | string | no | | | `filed_at_until` | string | no | | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | (min 1; max 50) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/companies/coldiq.com/sec_filings?form_types=10-K%2C10-Q&filed_at_from=2026-01-01&filed_at_until=2026-07-31&page=1&limit=10" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/companies/{companyIdOrDomain}/sec_filings # Retrieve a single SEC Filing by ID — `GET /v1/predictleads/sec_filings/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/sec_filings/{id}` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve one SEC filing. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | (format uuid) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/sec_filings/a0383c53-8142-5e7c-8ca3-9980289a3ccc" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/sec_filings/{id} # Retrieve company's Connections — `GET /v1/predictleads/companies/{companyIdOrDomain}/connections` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/companies/{companyIdOrDomain}/connections` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns connections (partnerships, integrations, etc.) for the given company. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `companyIdOrDomain` | string | yes | Company ID (UUID) or domain | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `first_seen_at_from` | string | no | | | `first_seen_at_until` | string | no | | | `categories` | string | no | Comma-separated connection categories. Valid values: partner, vendor, integration, investor, parent, rebranding, published_in, badge, other | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/companies/coldiq.com/connections?first_seen_at_from=2024-09-25&first_seen_at_until=2024-09-25&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/companies/{companyIdOrDomain}/connections # Retrieve Portfolio Companies — `GET /v1/predictleads/discover/portfolio_companies/connections` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/discover/portfolio_companies/connections` - **Credits**: 2.51 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns portfolio-company connections. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `first_seen_at_from` | string | no | | | `first_seen_at_until` | string | no | | | `last_seen_at_from` | string | no | | | `last_seen_at_until` | string | no | | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/discover/portfolio_companies/connections?first_seen_at_from=2024-09-25&first_seen_at_until=2024-09-25&last_seen_at_from=2024-09-25&last_seen_at_until=2024-09-25&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/discover/portfolio_companies/connections # Retrieve company's Website Evolution — `GET /v1/predictleads/companies/{companyIdOrDomain}/website_evolution` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/companies/{companyIdOrDomain}/website_evolution` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns website content changes over time for the given company. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `companyIdOrDomain` | string | yes | Company ID (UUID) or domain | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `first_seen_at_from` | string | no | | | `first_seen_at_until` | string | no | | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/companies/coldiq.com/website_evolution?first_seen_at_from=2024-09-25&first_seen_at_until=2024-09-25&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/companies/{companyIdOrDomain}/website_evolution # Retrieve company's Github Repositories — `GET /v1/predictleads/companies/{companyIdOrDomain}/github_repositories` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/companies/{companyIdOrDomain}/github_repositories` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns GitHub repositories linked to the given company. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `companyIdOrDomain` | string | yes | Company ID (UUID) or domain | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `first_seen_at_from` | string | no | | | `first_seen_at_until` | string | no | | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/companies/coldiq.com/github_repositories?first_seen_at_from=2024-09-25&first_seen_at_until=2024-09-25&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/companies/{companyIdOrDomain}/github_repositories # Retrieve company's Products — `GET /v1/predictleads/companies/{companyIdOrDomain}/products` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/companies/{companyIdOrDomain}/products` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns products detected for the given company. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `companyIdOrDomain` | string | yes | Company ID (UUID) or domain | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `categories` | string | no | Comma-separated product categories. Valid values: product, service, solution, unclassified | | `subcategories` | string | no | Comma-separated product subcategories. Valid values: industry, use_case, pricing_tier, unclassified | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/companies/coldiq.com/products?page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/companies/{companyIdOrDomain}/products # Retrieve a single Product by ID — `GET /v1/predictleads/products/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/products/{id}` - **Credits**: 2.51 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve a single product by UUID. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | (format uuid) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/products/a0383c53-8142-5e7c-8ca3-9980289a3ccc" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/products/{id} # Retrieve a list of Products — `GET /v1/predictleads/discover/products` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/discover/products` - **Credits**: 2.51 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Discover products filtered by category. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `categories` | string | no | Comma-separated product categories. Valid values: product, service, solution, unclassified | | `subcategories` | string | no | Comma-separated product subcategories. Valid values: industry, use_case, pricing_tier, unclassified | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/discover/products?page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/discover/products # Retrieve latest posts — `GET /v1/predictleads/discover/startup_platform_posts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: PredictLeads - **Endpoint**: `GET https://api.coldiq.com/v1/predictleads/discover/startup_platform_posts` - **Credits**: 2.51 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Discover recent Hacker News posts from startups. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/signals/find` (Find Signals) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `published_at_from` | string | no | | | `published_at_until` | string | no | | | `post_types` | string | no | Comma-separated post types. Valid values: show_hn, job_hn | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (default: 100, max: 1000) (min 1; max 1000) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/predictleads/discover/startup_platform_posts?published_at_from=2024-09-25&published_at_until=2024-09-25&page=1&limit=100" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | PredictLeads API response | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/predictleads?ep=get:/v1/predictleads/discover/startup_platform_posts # Provider: Openmart # Search — `POST /v1/openmart/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Openmart - **Endpoint**: `POST https://api.coldiq.com/v1/openmart/search` - **Credits**: 3.13 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search endpoint to retrieve leads data. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/places/search` (Search Places) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string \| null | no | Search terms to find relevant business leads | | `tags` | array | no | Filter precisely by tags. If non-empty, query is ignored. | | `location` | object \| array \| any \| null | no | | | `min_locations` | integer \| null | no | (min 0) | | `max_locations` | integer \| null | no | (min 0) | | `has_contact_info` | boolean \| null | no | | | `min_total_reviews` | integer \| null | no | (min 0) | | `max_total_reviews` | integer \| null | no | (min 0) | | `ownership_type` | string (enum) \| null | no | (one of: INDEPENDENT, FAMILY, FRANCHISE, CHAIN, ) | | `min_price_tier` | integer \| null | no | | | `max_price_tier` | integer \| null | no | | | `min_overall_rating` | number \| null | no | (min 0; max 5) | | `max_overall_rating` | number \| null | no | (min 0; max 5) | | `limit` | integer | no | Maximum number of records to return (min 1; max 500) | | `cursor` | array \| null | no | Pagination cursor: [match_score, id] | | `has_website` | boolean \| null | no | | | `estimate_total` | boolean | no | If true, response includes total_count estimate (up to 150k) | | `exclude_root_domains` | array | no | | | `exclude_keywords` | array | no | | | `include_keywords` | array | no | | | `has_valid_website` | boolean \| null | no | | | `open_date_before` | string \| null | no | (format date-time) | | `open_date_after` | string \| null | no | (format date-time) | | `store_name` | string \| null | no | | | `info_updated_before` | string \| null | no | (format date-time) | | `info_updated_after` | string \| null | no | (format date-time) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/openmart/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"B2B SaaS","location":{"city":"San Francisco","state":"CA","country":"US"},"limit":10,"has_website":true}' ``` Request body: ```json { "query": "B2B SaaS", "location": { "city": "San Francisco", "state": "CA", "country": "US" }, "limit": 10, "has_website": true } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/openmart?ep=post:/v1/openmart/search # Search Ids — `POST /v1/openmart/search/only_ids` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Openmart - **Endpoint**: `POST https://api.coldiq.com/v1/openmart/search/only_ids` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search endpoint to retrieve leads data, return only ids. Free — returns IDs only, no credit charge. Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string \| null | no | Search terms to find relevant business leads | | `tags` | array | no | Filter precisely by tags. If non-empty, query is ignored. | | `location` | object \| array \| any \| null | no | | | `min_locations` | integer \| null | no | (min 0) | | `max_locations` | integer \| null | no | (min 0) | | `has_contact_info` | boolean \| null | no | | | `min_total_reviews` | integer \| null | no | (min 0) | | `max_total_reviews` | integer \| null | no | (min 0) | | `ownership_type` | string (enum) \| null | no | (one of: INDEPENDENT, FAMILY, FRANCHISE, CHAIN, ) | | `min_price_tier` | integer \| null | no | | | `max_price_tier` | integer \| null | no | | | `min_overall_rating` | number \| null | no | (min 0; max 5) | | `max_overall_rating` | number \| null | no | (min 0; max 5) | | `limit` | integer | no | (min 1; max 1000) | | `cursor` | array \| null | no | Pagination cursor: [match_score, id] | | `has_website` | boolean \| null | no | | | `estimate_total` | boolean | no | If true, response includes total_count estimate (up to 150k) | | `exclude_root_domains` | array | no | | | `exclude_keywords` | array | no | | | `include_keywords` | array | no | | | `has_valid_website` | boolean \| null | no | | | `open_date_before` | string \| null | no | (format date-time) | | `open_date_after` | string \| null | no | (format date-time) | | `store_name` | string \| null | no | | | `info_updated_before` | string \| null | no | (format date-time) | | `info_updated_after` | string \| null | no | (format date-time) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/openmart/search/only_ids" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"B2B SaaS","location":{"city":"San Francisco","state":"CA","country":"US"},"limit":20}' ``` Request body: ```json { "query": "B2B SaaS", "location": { "city": "San Francisco", "state": "CA", "country": "US" }, "limit": 20 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search ID results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/openmart?ep=post:/v1/openmart/search/only_ids # List By Ids — `POST /v1/openmart/business_records/list/{id_type}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Openmart - **Endpoint**: `POST https://api.coldiq.com/v1/openmart/business_records/list/{id_type}` - **Credits**: 3.13 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description endpoint to retrieve leads data, by openmart_id or google_place_id (up to 100 IDs). Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id_type` | string (enum) | yes | Type of IDs provided (one of: google_place_id, openmart_id) | ### Body (application/json, required) ```json { "type": "array", "items": { "type": "string" }, "minItems": 1, "maxItems": 100, "title": "BusinessRecordsRequest", "description": "List of IDs (google_place_id or openmart_id) to fetch, up to 100", "example": [ "ChIJN1t_tDeuEmsRUsoyG83frY4" ] } ``` ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/openmart/business_records/list/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Map of ID → business record | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/openmart?ep=post:/v1/openmart/business_records/list/{id_type} # Enrich Company — `POST /v1/openmart/enrich_company` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Openmart - **Endpoint**: `POST https://api.coldiq.com/v1/openmart/enrich_company` - **Credits**: 3.13 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich company information by retrieving additional retailer details. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/company/enrich` (Enrich Company) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `website` | string \| null | no | Website URL of the company to enrich | | `social_media_link` | string \| null | no | Social media link — include domain to designate platform, e.g. facebook.com/xxx | | `limit` | integer | no | Maximum number of results to return (min 1; max 50) | | `estimate_total` | boolean | no | | | `location` | array \| null | no | | | `location[].city` | string \| null | no | | | `location[].state` | string \| null | no | | | `location[].country` | string (enum) \| null | no | (one of: US, CA, AU, PR, NZ, ) | | `location[].zip_code` | string \| null | no | | | `location[].long` | number \| null | no | | | `location[].lat` | number \| null | no | | | `location[].geo_radius` | integer | no | (min 0) | | `location[].normalize_fields` | array | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/openmart/enrich_company" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"website":"coldiq.com","limit":10}' ``` Request body: ```json { "website": "coldiq.com", "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Enriched company data | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/openmart?ep=post:/v1/openmart/enrich_company # Submit Batch (Find People) — `POST /v1/openmart/task/batch/find_people` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Openmart - **Endpoint**: `POST https://api.coldiq.com/v1/openmart/task/batch/find_people` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Submit a batch of find_people tasks (1–100 items). Credits are reserved upfront (worst-case: max_k × [10/phone + 1/email + 1/name]) and settled automatically when each task completes via webhook. Results are also available via GET /openmart/task/{task_id}. Credits: charged once per call, at a rate that depends on which fields you request (per_phone, per_email, per_name) — it is NOT flat. Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) ```json { "type": "array", "items": { "type": "object", "properties": { "notify_url": { "type": "string", "nullable": true, "description": "Callback URL for task completion. Openmart will POST the task result here. Credits are settled automatically when the result arrives." }, "tracking_id": { "type": "string", "nullable": true, "description": "Custom ID echoed in the task response for your own tracking purposes." }, "domain": { "type": "string", "minLength": 1, "description": "Domain of the company to find people for" }, "company_name": { "type": "string", "nullable": true }, "title": { "type": "string", "description": "Job title to search for" }, "city": { "type": "string", "nullable": true }, "state": { "type": "string", "nullable": true }, "country": { "type": "string", "nullable": true }, "info_access": { "type": "array", "items": { "type": "string", "enum": [ "EMAIL", "PHONE" ] }, "description": "Which contact data to return. Costs: 10 credits/phone, 1 credit/email, 1 credit/name" }, "max_k": { "type": "integer", "minimum": 1, "maximum": 8, "description": "Max number of people to return (1–8)" } }, "required": [ "domain" ], "title": "FindPeopleParams", "example": { "domain": "coldiq.com", "title": "CEO", "max_k": 3, "info_access": [ "EMAIL", "PHONE" ] } }, "minItems": 1, "maxItems": 100 } ``` ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/openmart/task/batch/find_people" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Batch accepted | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `batch_id` | string | yes | | | `status` | object | yes | | | `status.completed` | integer | yes | | | `status.errored` | integer | yes | | | `status.processing` | integer | yes | | | `status.total` | integer | yes | | | `status.batch_ready` | boolean | yes | | | `submit_for` | string (enum) | yes | (one of: find_people, find_tech, lookup_people, lookup_business_email) | Example response: ```json { "batch_id": "string", "status": { "completed": 0, "errored": 0, "processing": 0, "total": 0, "batch_ready": false }, "submit_for": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/openmart?ep=post:/v1/openmart/task/batch/find_people # Submit Batch (Find Tech) — `POST /v1/openmart/task/batch/find_tech` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Openmart - **Endpoint**: `POST https://api.coldiq.com/v1/openmart/task/batch/find_tech` - **Credits**: 6.26 credits per task - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Submit a batch of find_tech tasks (1–100 items). Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) ```json { "type": "array", "items": { "type": "object", "properties": { "notify_url": { "type": "string", "nullable": true, "description": "Callback URL for task completion. Openmart will POST the task result here. Credits are settled automatically when the result arrives." }, "tracking_id": { "type": "string", "nullable": true, "description": "Custom ID echoed in the task response for your own tracking purposes." }, "domain": { "type": "string", "minLength": 1, "description": "Domain of the company to find technologies for" }, "company_name": { "type": "string", "nullable": true }, "candidates": { "type": "string", "nullable": true, "description": "Candidate technologies, e.g. \"Shopify, WooCommerce, Squarespace\"" }, "city": { "type": "string", "nullable": true }, "state": { "type": "string", "nullable": true }, "country": { "type": "string", "nullable": true }, "find_link_instructions": { "type": "string", "nullable": true, "description": "Instructions for finding the technology link, e.g. \"Look at the contact us page\"" }, "tech_type": { "type": "string", "minLength": 1, "description": "Technology category to identify, e.g. \"Website Builder\", \"Payment Gateway\"" } }, "required": [ "domain", "tech_type" ], "title": "FindTechParams", "example": { "domain": "coldiq.com", "tech_type": "Website Builder", "candidates": "Shopify, Squarespace, Wix" } }, "minItems": 1, "maxItems": 100 } ``` ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/openmart/task/batch/find_tech" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Batch accepted | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `batch_id` | string | yes | | | `status` | object | yes | | | `status.completed` | integer | yes | | | `status.errored` | integer | yes | | | `status.processing` | integer | yes | | | `status.total` | integer | yes | | | `status.batch_ready` | boolean | yes | | | `submit_for` | string (enum) | yes | (one of: find_people, find_tech, lookup_people, lookup_business_email) | Example response: ```json { "batch_id": "string", "status": { "completed": 0, "errored": 0, "processing": 0, "total": 0, "batch_ready": false }, "submit_for": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/openmart?ep=post:/v1/openmart/task/batch/find_tech # Submit Batch (Lookup People) — `POST /v1/openmart/task/batch/lookup_people` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Openmart - **Endpoint**: `POST https://api.coldiq.com/v1/openmart/task/batch/lookup_people` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Submit a batch of lookup_people tasks (1–100 items). Credits are reserved upfront (worst-case: people.length × [10/phone + 1/email + 1/name]) and settled when each task completes via webhook. Credits: variable per person, charged by which fields you request (per_phone, per_email, per_name). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) ```json { "type": "array", "items": { "type": "object", "properties": { "notify_url": { "type": "string", "nullable": true, "description": "Callback URL for task completion. Openmart will POST the task result here. Credits are settled automatically when the result arrives." }, "tracking_id": { "type": "string", "nullable": true, "description": "Custom ID echoed in the task response for your own tracking purposes." }, "domain": { "type": "string", "minLength": 1, "description": "Domain of the company" }, "company_name": { "type": "string", "nullable": true }, "city": { "type": "string", "nullable": true }, "state": { "type": "string", "nullable": true }, "country": { "type": "string", "nullable": true }, "info_access": { "type": "array", "items": { "type": "string", "enum": [ "EMAIL", "PHONE" ] }, "description": "Which contact data to return" }, "people": { "type": "array", "items": { "type": "object", "properties": { "first_name": { "type": "string" }, "last_name": { "type": "string" }, "linkedin_url": { "type": "string", "nullable": true } }, "required": [ "first_name", "last_name" ] }, "minItems": 1, "maxItems": 8, "description": "List of specific people to look up (1–8)" } }, "required": [ "domain", "people" ], "title": "LookupPeopleParams", "example": { "domain": "coldiq.com", "people": [ { "first_name": "Michel", "last_name": "Lieben", "linkedin_url": "https://www.linkedin.com/michel-lieben" } ], "info_access": [ "EMAIL", "PHONE" ] } }, "minItems": 1, "maxItems": 100 } ``` ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/openmart/task/batch/lookup_people" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Batch accepted | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `batch_id` | string | yes | | | `status` | object | yes | | | `status.completed` | integer | yes | | | `status.errored` | integer | yes | | | `status.processing` | integer | yes | | | `status.total` | integer | yes | | | `status.batch_ready` | boolean | yes | | | `submit_for` | string (enum) | yes | (one of: find_people, find_tech, lookup_people, lookup_business_email) | Example response: ```json { "batch_id": "string", "status": { "completed": 0, "errored": 0, "processing": 0, "total": 0, "batch_ready": false }, "submit_for": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/openmart?ep=post:/v1/openmart/task/batch/lookup_people # Submit Batch (Lookup Business Email) — `POST /v1/openmart/task/batch/lookup_business_email` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Openmart - **Endpoint**: `POST https://api.coldiq.com/v1/openmart/task/batch/lookup_business_email` - **Credits**: 3.13 credits per task - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Submit a batch of lookup_business_email tasks (1–100 items). Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) ```json { "type": "array", "items": { "type": "object", "properties": { "notify_url": { "type": "string", "nullable": true, "description": "Callback URL for task completion. Openmart will POST the task result here. Credits are settled automatically when the result arrives." }, "tracking_id": { "type": "string", "nullable": true, "description": "Custom ID echoed in the task response for your own tracking purposes." }, "domain": { "type": "string", "minLength": 1, "description": "Domain of the company" }, "company_name": { "type": "string", "minLength": 1, "description": "Name of the company (required by upstream)" }, "city": { "type": "string", "nullable": true }, "state": { "type": "string", "nullable": true }, "country": { "type": "string", "nullable": true } }, "required": [ "domain", "company_name" ], "title": "LookupBusinessEmailParams", "example": { "domain": "coldiq.com", "company_name": "ColdIQ" } }, "minItems": 1, "maxItems": 100 } ``` ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/openmart/task/batch/lookup_business_email" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Batch accepted | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `batch_id` | string | yes | | | `status` | object | yes | | | `status.completed` | integer | yes | | | `status.errored` | integer | yes | | | `status.processing` | integer | yes | | | `status.total` | integer | yes | | | `status.batch_ready` | boolean | yes | | | `submit_for` | string (enum) | yes | (one of: find_people, find_tech, lookup_people, lookup_business_email) | Example response: ```json { "batch_id": "string", "status": { "completed": 0, "errored": 0, "processing": 0, "total": 0, "batch_ready": false }, "submit_for": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/openmart?ep=post:/v1/openmart/task/batch/lookup_business_email # Get Task — `GET /v1/openmart/task/{task_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Openmart - **Endpoint**: `GET https://api.coldiq.com/v1/openmart/task/{task_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve the result of an async task by its task_id. Free — no credit charge. Use this to poll for task completion if you did not provide a notify_url. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `task_id` | string | yes | (format uuid) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/openmart/task/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Task result | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `task_id` | string | yes | | | `status` | string (enum) | yes | (one of: PROCESSING, COMPLETED, ERRORED) | | `tracking_id` | string \| null | no | | | `data` | any \| null | no | | Example response: ```json { "task_id": "string", "status": "string", "tracking_id": "string", "data": null } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/openmart?ep=get:/v1/openmart/task/{task_id} # Check Batch — `GET /v1/openmart/task/batch/{batch_id}/status` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Openmart - **Endpoint**: `GET https://api.coldiq.com/v1/openmart/task/batch/{batch_id}/status` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Check the status of a submitted batch. Free — no credit charge. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `batch_id` | string | yes | (format uuid) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/openmart/task/batch/string/status" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Batch status | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `completed` | integer | yes | | | `errored` | integer | yes | | | `processing` | integer | yes | | | `total` | integer | yes | | | `batch_ready` | boolean | yes | | Example response: ```json { "completed": 0, "errored": 0, "processing": 0, "total": 0, "batch_ready": false } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/openmart?ep=get:/v1/openmart/task/batch/{batch_id}/status # Get Task Ids — `GET /v1/openmart/task/batch/{batch_id}/task_ids` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Openmart - **Endpoint**: `GET https://api.coldiq.com/v1/openmart/task/batch/{batch_id}/task_ids` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get task IDs for a batch filtered by status. Free — no credit charge. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `batch_id` | string | yes | (format uuid) | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `status` | string (enum) | yes | Filter task IDs by this status (one of: PROCESSING, COMPLETED, ERRORED) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/openmart/task/batch/string/task_ids?status=string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | List of task IDs with the requested status | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape Example response: ```json [ "string" ] ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/openmart?ep=get:/v1/openmart/task/batch/{batch_id}/task_ids # Provider: Instantly # List Accounts — `GET /v1/instantly/accounts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/accounts` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `search` | string | no | | | `status` | integer \| null | no | Account status filter. | | `provider_code` | integer \| null | no | | | `tag_ids` | string | no | Comma-separated tag UUIDs. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/accounts" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/accounts # Create Account — `POST /v1/instantly/accounts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/accounts` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address for the account. (format email) | | `first_name` | string | yes | First name. | | `last_name` | string | yes | Last name. | | `provider_code` | integer | yes | Provider: 1=Custom IMAP/SMTP, 2=Google, 3=Microsoft, 4=AWS, 8=AirMail. | | `imap_username` | string | yes | IMAP username. | | `imap_password` | string | yes | IMAP password. | | `imap_host` | string | yes | IMAP host. | | `imap_port` | integer | yes | IMAP port. | | `smtp_username` | string | yes | SMTP username. | | `smtp_password` | string | yes | SMTP password. | | `smtp_host` | string | yes | SMTP host. | | `smtp_port` | integer | yes | SMTP port. | | `daily_limit` | integer | no | | | `tracking_domain_name` | string | no | | | `enable_slow_ramp` | boolean | no | | | `sending_gap` | integer | no | Gap between sends in minutes (0–1440). (min 0; max 1440) | | `warmup` | object | no | | | `warmup.limit` | integer | no | | | `warmup.increment` | integer | no | | | `warmup.reply_rate` | integer | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/accounts" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com","first_name":"Michel","last_name":"Lieben","provider_code":1,"imap_username":"michel@coldiq.com","imap_password":"app-password","imap_host":"imap.gmail.com","imap_port":993,"smtp_username":"michel@coldiq.com","smtp_password":"app-password","smtp_host":"smtp.gmail.com","smtp_port":587}' ``` Request body: ```json { "email": "michel@coldiq.com", "first_name": "Michel", "last_name": "Lieben", "provider_code": 1, "imap_username": "michel@coldiq.com", "imap_password": "app-password", "imap_host": "imap.gmail.com", "imap_port": 993, "smtp_username": "michel@coldiq.com", "smtp_password": "app-password", "smtp_host": "smtp.gmail.com", "smtp_port": 587 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/accounts # Enable Warmup — `POST /v1/instantly/accounts/warmup/enable` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/accounts/warmup/enable` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `emails` | array | no | | | `include_all_emails` | boolean | no | | | `excluded_emails` | array | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/accounts/warmup/enable" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"emails":["michel@coldiq.com"]}' ``` Request body: ```json { "emails": [ "michel@coldiq.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/accounts/warmup/enable # Disable Warmup — `POST /v1/instantly/accounts/warmup/disable` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/accounts/warmup/disable` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `emails` | array | no | | | `include_all_emails` | boolean | no | | | `excluded_emails` | array | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/accounts/warmup/disable" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"emails":["michel@coldiq.com"]}' ``` Request body: ```json { "emails": [ "michel@coldiq.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/accounts/warmup/disable # Get Custom Tracking Domain Status — `GET /v1/instantly/accounts/ctd/status` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/accounts/ctd/status` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `host` | string | yes | Custom tracking domain hostname to check. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/accounts/ctd/status?host=string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/accounts/ctd/status # Move Account — `POST /v1/instantly/accounts/move` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/accounts/move` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `emails` | array | yes | Email addresses to move. | | `source_workspace_id` | string | yes | Source workspace ID. | | `destination_workspace_id` | string | yes | Destination workspace ID. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/accounts/move" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"emails":["michel@coldiq.com"],"source_workspace_id":"00000000-0000-0000-0000-000000000001","destination_workspace_id":"00000000-0000-0000-0000-000000000002"}' ``` Request body: ```json { "emails": [ "michel@coldiq.com" ], "source_workspace_id": "00000000-0000-0000-0000-000000000001", "destination_workspace_id": "00000000-0000-0000-0000-000000000002" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/accounts/move # Get Warmup Analytics — `POST /v1/instantly/accounts/warmup-analytics` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/accounts/warmup-analytics` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `emails` | array | yes | Email addresses to retrieve warmup analytics for (1–100). | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/accounts/warmup-analytics" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"emails":["michel@coldiq.com"]}' ``` Request body: ```json { "emails": [ "michel@coldiq.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/accounts/warmup-analytics # Get Daily Account Analytics — `GET /v1/instantly/accounts/analytics/daily` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/accounts/analytics/daily` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `start_date` | string | no | Start date (YYYY-MM-DD). | | `end_date` | string | no | End date (YYYY-MM-DD). | | `emails` | array | no | Filter by specific email accounts. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/accounts/analytics/daily" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/accounts/analytics/daily # Test Account Vitals — `POST /v1/instantly/accounts/test/vitals` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/accounts/test/vitals` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `accounts` | array | no | Email addresses to test. Omit to test all accounts. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/accounts/test/vitals" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"accounts":["michel@coldiq.com"]}' ``` Request body: ```json { "accounts": [ "michel@coldiq.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/accounts/test/vitals # Get Account — `GET /v1/instantly/accounts/{email}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/accounts/{email}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address of the account. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/accounts/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/accounts/{email} # Delete Account — `DELETE /v1/instantly/accounts/{email}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/accounts/{email}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address of the account. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/accounts/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/accounts/{email} # Patch Account — `PATCH /v1/instantly/accounts/{email}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/accounts/{email}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address of the account. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `first_name` | string | no | | | `last_name` | string | no | | | `daily_limit` | integer | no | | | `sending_gap` | integer | no | (min 0; max 1440) | | `signature` | string | no | | | `tracking_domain_name` | string | no | | | `enable_slow_ramp` | boolean | no | | | `warmup` | object | no | | | `warmup.limit` | integer | no | | | `warmup.increment` | integer | no | | | `warmup.reply_rate` | integer | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/accounts/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"daily_limit":50,"enable_slow_ramp":true}' ``` Request body: ```json { "daily_limit": 50, "enable_slow_ramp": true } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/accounts/{email} # Pause Account — `POST /v1/instantly/accounts/{email}/pause` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/accounts/{email}/pause` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address of the account. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/accounts/string/pause" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/accounts/{email}/pause # Resume Account — `POST /v1/instantly/accounts/{email}/resume` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/accounts/{email}/resume` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address of the account. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/accounts/string/resume" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/accounts/{email}/resume # Mark Account Fixed — `POST /v1/instantly/accounts/{email}/mark-fixed` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/accounts/{email}/mark-fixed` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address of the account. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/accounts/string/mark-fixed" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/accounts/{email}/mark-fixed # Get Account Campaign Mappings — `GET /v1/instantly/account-campaign-mappings/{email}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/account-campaign-mappings/{email}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address of the account. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/account-campaign-mappings/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/account-campaign-mappings/{email} # List Campaigns — `GET /v1/instantly/campaigns` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/campaigns` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `search` | string | no | | | `tag_ids` | string | no | Comma-separated tag UUIDs. | | `status` | integer \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/campaigns" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/campaigns # Create Campaign — `POST /v1/instantly/campaigns` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/campaigns` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Campaign name. | | `campaign_schedule` | object | yes | Sending schedule. | | `campaign_schedule.schedules` | array | yes | | | `campaign_schedule.schedules[].name` | string | yes | | | `campaign_schedule.schedules[].timing` | object | yes | | | `campaign_schedule.schedules[].timing.from` | string | yes | | | `campaign_schedule.schedules[].timing.to` | string | yes | | | `campaign_schedule.schedules[].days` | object | no | | | `campaign_schedule.schedules[].timezone` | string | yes | | | `email_list` | array | no | Sending email accounts. | | `email_tag_list` | array | no | | | `daily_limit` | integer | no | | | `daily_max_leads` | integer | no | | | `stop_on_reply` | boolean | no | | | `stop_on_auto_reply` | boolean | no | | | `stop_for_company` | boolean | no | | | `link_tracking` | boolean | no | | | `open_tracking` | boolean | no | | | `text_only` | boolean | no | | | `sequences` | array | no | Email sequence steps. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/campaigns" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"ColdIQ Outreach Q2","campaign_schedule":{"schedules":[{"name":"Weekdays","timing":{"from":"09:00","to":"17:00"},"days":{"1":true,"2":true,"3":true,"4":true,"5":true},"timezone":"America/Chicago"}]},"email_list":["michel@coldiq.com"],"stop_on_reply":true,"open_tracking":true}' ``` Request body: ```json { "name": "ColdIQ Outreach Q2", "campaign_schedule": { "schedules": [ { "name": "Weekdays", "timing": { "from": "09:00", "to": "17:00" }, "days": { "1": true, "2": true, "3": true, "4": true, "5": true }, "timezone": "America/Chicago" } ] }, "email_list": [ "michel@coldiq.com" ], "stop_on_reply": true, "open_tracking": true } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/campaigns # Get Launched Campaign Count — `GET /v1/instantly/campaigns/count-launched` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/campaigns/count-launched` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/campaigns/count-launched" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/campaigns/count-launched # Search Campaigns by Contact — `GET /v1/instantly/campaigns/search-by-contact` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/campaigns/search-by-contact` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | no | Lead email address to search by. | | `sort_column` | string | no | | | `sort_order` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/campaigns/search-by-contact" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/campaigns/search-by-contact # Get Campaign Analytics — `GET /v1/instantly/campaigns/analytics` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/campaigns/analytics` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | no | Single campaign UUID. | | `start_date` | string | no | Start date (YYYY-MM-DD). | | `end_date` | string | no | End date (YYYY-MM-DD). | | `exclude_total_leads_count` | boolean \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/campaigns/analytics" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/campaigns/analytics # Get Campaign Analytics Overview — `GET /v1/instantly/campaigns/analytics/overview` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/campaigns/analytics/overview` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | no | | | `start_date` | string | no | | | `end_date` | string | no | | | `campaign_status` | integer \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/campaigns/analytics/overview" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/campaigns/analytics/overview # Get Campaign Analytics Daily — `GET /v1/instantly/campaigns/analytics/daily` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/campaigns/analytics/daily` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaign_id` | string | no | | | `start_date` | string | no | | | `end_date` | string | no | | | `campaign_status` | integer \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/campaigns/analytics/daily" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/campaigns/analytics/daily # Get Campaign Analytics Steps — `GET /v1/instantly/campaigns/analytics/steps` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/campaigns/analytics/steps` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaign_id` | string | no | | | `start_date` | string | no | | | `end_date` | string | no | | | `include_opportunities_count` | boolean \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/campaigns/analytics/steps" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/campaigns/analytics/steps # Get Campaign — `GET /v1/instantly/campaigns/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/campaigns/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Campaign UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/campaigns/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/campaigns/{id} # Delete Campaign — `DELETE /v1/instantly/campaigns/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/campaigns/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Campaign UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/campaigns/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/campaigns/{id} # Patch Campaign — `PATCH /v1/instantly/campaigns/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/campaigns/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Campaign UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | | | `campaign_schedule` | object | no | | | `campaign_schedule.schedules` | array | yes | | | `campaign_schedule.schedules[].name` | string | yes | | | `campaign_schedule.schedules[].timing` | object | yes | | | `campaign_schedule.schedules[].timing.from` | string | yes | | | `campaign_schedule.schedules[].timing.to` | string | yes | | | `campaign_schedule.schedules[].days` | object | no | | | `campaign_schedule.schedules[].timezone` | string | yes | | | `email_list` | array | no | | | `daily_limit` | integer | no | | | `daily_max_leads` | integer | no | | | `stop_on_reply` | boolean | no | | | `stop_on_auto_reply` | boolean | no | | | `link_tracking` | boolean | no | | | `open_tracking` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/campaigns/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"ColdIQ Outreach Q3","daily_limit":100}' ``` Request body: ```json { "name": "ColdIQ Outreach Q3", "daily_limit": 100 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/campaigns/{id} # Activate Campaign — `POST /v1/instantly/campaigns/{id}/activate` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/campaigns/{id}/activate` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Campaign UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/campaigns/string/activate" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/campaigns/{id}/activate # Pause Campaign — `POST /v1/instantly/campaigns/{id}/pause` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/campaigns/{id}/pause` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Campaign UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/campaigns/string/pause" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/campaigns/{id}/pause # Share Campaign — `POST /v1/instantly/campaigns/{id}/share` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/campaigns/{id}/share` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Campaign UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/campaigns/string/share" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/campaigns/{id}/share # Export Campaign — `POST /v1/instantly/campaigns/{id}/export` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/campaigns/{id}/export` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Campaign UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/campaigns/string/export" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/campaigns/{id}/export # Duplicate Campaign — `POST /v1/instantly/campaigns/{id}/duplicate` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/campaigns/{id}/duplicate` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Campaign UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | Name for the duplicated campaign. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/campaigns/string/duplicate" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"ColdIQ Outreach Q2 - Copy"}' ``` Request body: ```json { "name": "ColdIQ Outreach Q2 - Copy" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/campaigns/{id}/duplicate # Add Campaign Variables — `POST /v1/instantly/campaigns/{id}/variables` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/campaigns/{id}/variables` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Campaign UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `variables` | array | yes | Custom variable names to add to the campaign. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/campaigns/string/variables" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"variables":["company_size","pain_point"]}' ``` Request body: ```json { "variables": [ "company_size", "pain_point" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/campaigns/{id}/variables # Get Campaign Sending Status — `GET /v1/instantly/campaigns/{id}/sending-status` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/campaigns/{id}/sending-status` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Campaign UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `with_ai_summary` | boolean \| null | no | Include AI-generated summary of the sending status. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/campaigns/string/sending-status" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/campaigns/{id}/sending-status # List Subsequences — `GET /v1/instantly/subsequences` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/subsequences` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `parent_campaign` | string | yes | Parent campaign UUID (required). | | `search` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/subsequences?parent_campaign=string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/subsequences # Create Subsequence — `POST /v1/instantly/subsequences` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/subsequences` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `parent_campaign` | string | yes | Parent campaign UUID. | | `name` | string | yes | Subsequence name. | | `conditions` | object | no | | | `conditions.crm_status` | any \| null | no | | | `conditions.lead_activity` | any \| null | no | | | `conditions.reply_contains` | string | no | | | `subsequence_schedule` | any \| null | no | Schedule configuration. | | `sequences` | array | no | Email sequence steps. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/subsequences" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"parent_campaign":"00000000-0000-0000-0000-000000000001","name":"Interested Follow-up","sequences":[]}' ``` Request body: ```json { "parent_campaign": "00000000-0000-0000-0000-000000000001", "name": "Interested Follow-up", "sequences": [] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/subsequences # Get Subsequence — `GET /v1/instantly/subsequences/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/subsequences/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Subsequence UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/subsequences/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/subsequences/{id} # Delete Subsequence — `DELETE /v1/instantly/subsequences/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/subsequences/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Subsequence UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/subsequences/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/subsequences/{id} # Patch Subsequence — `PATCH /v1/instantly/subsequences/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/subsequences/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Subsequence UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | New name for the subsequence. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/subsequences/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Warm Lead Follow-up"}' ``` Request body: ```json { "name": "Warm Lead Follow-up" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/subsequences/{id} # Duplicate Subsequence — `POST /v1/instantly/subsequences/{id}/duplicate` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/subsequences/{id}/duplicate` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Subsequence UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `parent_campaign` | string | yes | Parent campaign UUID for the duplicate. | | `name` | string | yes | Name for the duplicated subsequence. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/subsequences/string/duplicate" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"parent_campaign":"00000000-0000-0000-0000-000000000001","name":"Interested Follow-up - Copy"}' ``` Request body: ```json { "parent_campaign": "00000000-0000-0000-0000-000000000001", "name": "Interested Follow-up - Copy" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/subsequences/{id}/duplicate # Pause Subsequence — `POST /v1/instantly/subsequences/{id}/pause` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/subsequences/{id}/pause` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Subsequence UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/subsequences/string/pause" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/subsequences/{id}/pause # Resume Subsequence — `POST /v1/instantly/subsequences/{id}/resume` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/subsequences/{id}/resume` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Subsequence UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/subsequences/string/resume" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/subsequences/{id}/resume # Get Subsequence Sending Status — `GET /v1/instantly/subsequences/{id}/sending-status` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/subsequences/{id}/sending-status` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Subsequence UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `with_ai_summary` | boolean \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/subsequences/string/sending-status" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/subsequences/{id}/sending-status # Create Lead — `POST /v1/instantly/leads` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/leads` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaign` | string | no | Campaign UUID to add the lead to. | | `email` | string | no | Lead email address. (format email) | | `first_name` | string | no | | | `last_name` | string | no | | | `company_name` | string | no | | | `phone` | string | no | | | `website` | string | no | | | `personalization` | string | no | | | `lt_interest_status` | integer | no | | | `list_id` | string | no | Lead list UUID. | | `skip_if_in_workspace` | boolean | no | | | `skip_if_in_campaign` | boolean | no | | | `skip_if_in_list` | boolean | no | | | `verify_leads_on_import` | boolean | no | | | `custom_variables` | object | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/leads" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com","first_name":"Michel","last_name":"Lieben","company_name":"ColdIQ","campaign":"00000000-0000-0000-0000-000000000001"}' ``` Request body: ```json { "email": "michel@coldiq.com", "first_name": "Michel", "last_name": "Lieben", "company_name": "ColdIQ", "campaign": "00000000-0000-0000-0000-000000000001" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/leads # Bulk Delete Leads — `DELETE /v1/instantly/leads` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/leads` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaign_id` | string | no | Delete leads from this campaign. | | `list_id` | string | no | Delete leads from this list. | | `status` | string | no | | | `ids` | array | no | | | `limit` | integer | no | (min 1; max 10000) | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/leads" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` Request body: ```json { "campaign_id": "00000000-0000-0000-0000-000000000001" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/leads # List Leads — `POST /v1/instantly/leads/list` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/leads/list` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | no | | | `campaign` | string | no | Filter by campaign UUID. | | `list_id` | string | no | | | `ids` | array | no | | | `contacts` | array | no | | | `limit` | integer | no | (min 1; max 100) | | `starting_after` | string | no | | | `filter` | string | no | | | `smart_view_id` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/leads/list" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"campaign":"00000000-0000-0000-0000-000000000001","limit":20}' ``` Request body: ```json { "campaign": "00000000-0000-0000-0000-000000000001", "limit": 20 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/leads/list # Merge Leads — `POST /v1/instantly/leads/merge` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/leads/merge` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `lead_id` | string | yes | Source lead UUID (will be merged into destination). | | `destination_lead_id` | string | yes | Destination lead UUID (this lead is kept). | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/leads/merge" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"lead_id":"00000000-0000-0000-0000-000000000001","destination_lead_id":"00000000-0000-0000-0000-000000000002"}' ``` Request body: ```json { "lead_id": "00000000-0000-0000-0000-000000000001", "destination_lead_id": "00000000-0000-0000-0000-000000000002" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/leads/merge # Bulk Add Leads — `POST /v1/instantly/leads/add` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/leads/add` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `leads` | array | yes | Array of leads to add (1–1000). | | `leads[].email` | string | no | (format email) | | `leads[].first_name` | string | no | | | `leads[].last_name` | string | no | | | `leads[].company_name` | string | no | | | `leads[].phone` | string | no | | | `leads[].website` | string | no | | | `leads[].personalization` | string | no | | | `leads[].custom_variables` | object | no | | | `campaign_id` | string | no | Campaign UUID to add leads to. | | `list_id` | string | no | Lead list UUID to add leads to. | | `skip_if_in_workspace` | boolean | no | | | `skip_if_in_campaign` | boolean | no | | | `skip_if_in_list` | boolean | no | | | `verify_leads_on_import` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/leads/add" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"campaign_id":"00000000-0000-0000-0000-000000000001","leads":[{"email":"michel@coldiq.com","first_name":"Michel","last_name":"Lieben","company_name":"ColdIQ"},{"email":"satya@microsoft.com","first_name":"Satya","last_name":"Nadella","company_name":"Microsoft"}]}' ``` Request body: ```json { "campaign_id": "00000000-0000-0000-0000-000000000001", "leads": [ { "email": "michel@coldiq.com", "first_name": "Michel", "last_name": "Lieben", "company_name": "ColdIQ" }, { "email": "satya@microsoft.com", "first_name": "Satya", "last_name": "Nadella", "company_name": "Microsoft" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/leads/add # Move Leads — `POST /v1/instantly/leads/move` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/leads/move` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `to_campaign_id` | string | no | Destination campaign UUID. | | `to_list_id` | string | no | Destination list UUID. | | `campaign` | string | no | Source campaign UUID. | | `list_id` | string | no | | | `ids` | array | no | | | `excluded_ids` | array | no | | | `copy_leads` | boolean | no | | | `check_duplicates` | boolean | no | | | `limit` | integer | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/leads/move" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"campaign":"00000000-0000-0000-0000-000000000001","to_campaign_id":"00000000-0000-0000-0000-000000000002"}' ``` Request body: ```json { "campaign": "00000000-0000-0000-0000-000000000001", "to_campaign_id": "00000000-0000-0000-0000-000000000002" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/leads/move # Bulk Assign Leads — `POST /v1/instantly/leads/bulk-assign` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/leads/bulk-assign` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `organization_user_ids` | array | yes | User UUIDs to assign leads to. | | `campaign` | string | no | | | `list_id` | string | no | | | `ids` | array | no | | | `limit` | integer | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/leads/bulk-assign" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"organization_user_ids":["00000000-0000-0000-0000-000000000001"]}' ``` Request body: ```json { "organization_user_ids": [ "00000000-0000-0000-0000-000000000001" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/leads/bulk-assign # Update Lead Interest Status — `POST /v1/instantly/leads/update-interest-status` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/leads/update-interest-status` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `lead_email` | string | yes | Lead email address. (format email) | | `interest_value` | integer \| null | yes | Interest status value. Pass null to reset. | | `campaign_id` | string | no | | | `list_id` | string | no | | | `ai_interest_value` | integer | no | | | `disable_auto_interest` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/leads/update-interest-status" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"lead_email":"michel@coldiq.com","interest_value":1}' ``` Request body: ```json { "lead_email": "michel@coldiq.com", "interest_value": 1 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/leads/update-interest-status # Move Lead to Subsequence — `POST /v1/instantly/leads/subsequence/move` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/leads/subsequence/move` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Lead UUID. | | `subsequence_id` | string | yes | Subsequence UUID. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/leads/subsequence/move" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"id":"00000000-0000-0000-0000-000000000001","subsequence_id":"00000000-0000-0000-0000-000000000002"}' ``` Request body: ```json { "id": "00000000-0000-0000-0000-000000000001", "subsequence_id": "00000000-0000-0000-0000-000000000002" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/leads/subsequence/move # Remove Lead from Subsequence — `POST /v1/instantly/leads/subsequence/remove` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/leads/subsequence/remove` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Lead UUID. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/leads/subsequence/remove" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"id":"00000000-0000-0000-0000-000000000001"}' ``` Request body: ```json { "id": "00000000-0000-0000-0000-000000000001" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/leads/subsequence/remove # Get Lead — `GET /v1/instantly/leads/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/leads/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Lead UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/leads/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/leads/{id} # Delete Lead — `DELETE /v1/instantly/leads/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/leads/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Lead UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/leads/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/leads/{id} # Patch Lead — `PATCH /v1/instantly/leads/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/leads/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Lead UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `personalization` | string | no | | | `website` | string | no | | | `first_name` | string | no | | | `last_name` | string | no | | | `company_name` | string | no | | | `phone` | string | no | | | `lt_interest_status` | integer | no | 1=Interested, 2=Meeting Booked, 3=Meeting Completed, 4=Won, 0=Out of Office, -1=Not Interested, etc. | | `pl_value_lead` | number | no | | | `assigned_to` | string | no | | | `custom_variables` | object | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/leads/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"lt_interest_status":1,"company_name":"ColdIQ"}' ``` Request body: ```json { "lt_interest_status": 1, "company_name": "ColdIQ" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/leads/{id} # List Lead Labels — `GET /v1/instantly/lead-labels` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/lead-labels` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `search` | string | no | | | `interest_status` | string (enum) | no | (one of: positive, neutral, negative) | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/lead-labels" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/lead-labels # Create Lead Label — `POST /v1/instantly/lead-labels` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/lead-labels` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `label` | string | yes | Label name. | | `interest_status_label` | string (enum) | yes | Sentiment category. (one of: positive, negative, neutral) | | `description` | string | no | | | `use_with_ai` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/lead-labels" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"label":"Decision Maker","interest_status_label":"positive"}' ``` Request body: ```json { "label": "Decision Maker", "interest_status_label": "positive" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/lead-labels # Test AI Reply Label Prediction — `POST /v1/instantly/lead-labels/ai-reply-label` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/lead-labels/ai-reply-label` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `reply_text` | string | yes | Email reply text to classify with AI. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/lead-labels/ai-reply-label" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"reply_text":"Thanks for reaching out! I'\''d love to learn more about ColdIQ. Can we schedule a call?"}' ``` Request body: ```json { "reply_text": "Thanks for reaching out! I'd love to learn more about ColdIQ. Can we schedule a call?" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/lead-labels/ai-reply-label # Get Lead Label — `GET /v1/instantly/lead-labels/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/lead-labels/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Lead label UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/lead-labels/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/lead-labels/{id} # Delete Lead Label — `DELETE /v1/instantly/lead-labels/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/lead-labels/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Lead label UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ### Body (application/json) | Field | Type | Required | Description | | --- | --- | --- | --- | | `reassigned_status` | integer | no | Interest status to migrate leads to on deletion. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/lead-labels/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/lead-labels/{id} # Patch Lead Label — `PATCH /v1/instantly/lead-labels/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/lead-labels/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Lead label UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `label` | string | no | | | `interest_status_label` | string (enum) | no | (one of: positive, negative, neutral) | | `description` | string | no | | | `use_with_ai` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/lead-labels/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"label":"Key Decision Maker"}' ``` Request body: ```json { "label": "Key Decision Maker" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/lead-labels/{id} # List Lead Lists — `GET /v1/instantly/lead-lists` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/lead-lists` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `search` | string | no | | | `has_enrichment_task` | boolean \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/lead-lists" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/lead-lists # Create Lead List — `POST /v1/instantly/lead-lists` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/lead-lists` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | List name. | | `has_enrichment_task` | boolean \| null | no | | | `owned_by` | string \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/lead-lists" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"ColdIQ Prospects Q2 2026"}' ``` Request body: ```json { "name": "ColdIQ Prospects Q2 2026" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/lead-lists # Get Lead List — `GET /v1/instantly/lead-lists/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/lead-lists/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Lead list UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/lead-lists/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/lead-lists/{id} # Delete Lead List — `DELETE /v1/instantly/lead-lists/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/lead-lists/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Lead list UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/lead-lists/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/lead-lists/{id} # Patch Lead List — `PATCH /v1/instantly/lead-lists/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/lead-lists/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Lead list UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | | | `has_enrichment_task` | boolean \| null | no | | | `owned_by` | string \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/lead-lists/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"ColdIQ Enterprise Prospects"}' ``` Request body: ```json { "name": "ColdIQ Enterprise Prospects" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/lead-lists/{id} # Get Lead List Verification Stats — `GET /v1/instantly/lead-lists/{id}/verification-stats` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/lead-lists/{id}/verification-stats` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Lead list UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/lead-lists/string/verification-stats" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/lead-lists/{id}/verification-stats # Get Unread Email Count — `GET /v1/instantly/emails/unread/count` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/emails/unread/count` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/emails/unread/count" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/emails/unread/count # Send Test Email — `POST /v1/instantly/emails/test` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/emails/test` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `eaccount` | string | yes | Sending email account. | | `to_address_email_list` | string | yes | Recipient email addresses (comma-separated). | | `subject` | string | yes | Email subject. | | `body` | object | yes | | | `body.html` | string | yes | HTML email body. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/emails/test" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"eaccount":"michel@coldiq.com","to_address_email_list":"michel@coldiq.com","subject":"Test: ColdIQ Outreach","body":{"html":"

Hello from ColdIQ!

"}}' ``` Request body: ```json { "eaccount": "michel@coldiq.com", "to_address_email_list": "michel@coldiq.com", "subject": "Test: ColdIQ Outreach", "body": { "html": "

Hello from ColdIQ!

" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/emails/test # Reply to Email — `POST /v1/instantly/emails/reply` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/emails/reply` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `reply_to_uuid` | string | yes | UUID of the email to reply to. | | `eaccount` | string | yes | Sending email account. | | `subject` | string | yes | Reply subject. | | `body` | object | yes | | | `body.html` | string | no | | | `body.text` | string | no | | | `cc_address_email_list` | string | no | | | `bcc_address_email_list` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/emails/reply" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"reply_to_uuid":"00000000-0000-0000-0000-000000000001","eaccount":"michel@coldiq.com","subject":"Re: ColdIQ partnership","body":{"html":"

Thanks for your reply! Happy to connect.

"}}' ``` Request body: ```json { "reply_to_uuid": "00000000-0000-0000-0000-000000000001", "eaccount": "michel@coldiq.com", "subject": "Re: ColdIQ partnership", "body": { "html": "

Thanks for your reply! Happy to connect.

" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/emails/reply # Forward Email — `POST /v1/instantly/emails/forward` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/emails/forward` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `reply_to_uuid` | string | yes | UUID of the email to forward. | | `to_address_email_list` | string | yes | Forward recipient emails (comma-separated). | | `eaccount` | string | yes | Sending email account. | | `subject` | string | yes | Forward subject. | | `body` | object | yes | | | `body.html` | string | no | | | `body.text` | string | no | | | `cc_address_email_list` | string | no | | | `bcc_address_email_list` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/emails/forward" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"reply_to_uuid":"00000000-0000-0000-0000-000000000001","to_address_email_list":"michel@coldiq.com","eaccount":"michel@coldiq.com","subject":"Fwd: ColdIQ partnership","body":{"html":"

Forwarding this for your reference.

"}}' ``` Request body: ```json { "reply_to_uuid": "00000000-0000-0000-0000-000000000001", "to_address_email_list": "michel@coldiq.com", "eaccount": "michel@coldiq.com", "subject": "Fwd: ColdIQ partnership", "body": { "html": "

Forwarding this for your reference.

" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/emails/forward # Mark Thread as Read — `POST /v1/instantly/emails/threads/{thread_id}/mark-as-read` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/emails/threads/{thread_id}/mark-as-read` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `thread_id` | string | yes | Thread UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/emails/threads/string/mark-as-read" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/emails/threads/{thread_id}/mark-as-read # List Emails — `GET /v1/instantly/emails` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/emails` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `search` | string | no | | | `campaign_id` | string | no | | | `is_unread` | boolean \| null | no | | | `email_type` | string (enum) | no | (one of: received, sent, manual) | | `eaccount` | string | no | Filter by sending email account. | | `lead` | string | no | Filter by lead UUID. | | `min_timestamp_created` | string | no | | | `max_timestamp_created` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/emails" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/emails # Get Email — `GET /v1/instantly/emails/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/emails/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Email UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/emails/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/emails/{id} # Delete Email — `DELETE /v1/instantly/emails/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/emails/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Email UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/emails/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/emails/{id} # Update Email — `PATCH /v1/instantly/emails/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/emails/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Email UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `is_unread` | integer \| null | no | Set to 0 to mark read, 1 to mark unread, null to clear. | | `reminder_ts` | string \| null | no | Reminder timestamp (ISO 8601). Pass null to clear. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/emails/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"is_unread":0}' ``` Request body: ```json { "is_unread": 0 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/emails/{id} # Create Email Verification — `POST /v1/instantly/email-verification` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/email-verification` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. Managed alternative: `POST /v1/email/verify` (Verify Email) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address to verify. (format email) | | `webhook_url` | string | no | Callback URL for async results (used when verification takes over 10 seconds). (format uri) | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/email-verification" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/email-verification # Get Email Verification Status — `GET /v1/instantly/email-verification/{email}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/email-verification/{email}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address to check verification status for. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/email-verification/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/email-verification/{email} # List Block List Entries — `GET /v1/instantly/block-lists-entries` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/block-lists-entries` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `domains_only` | boolean \| null | no | | | `search` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/block-lists-entries" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/block-lists-entries # Create Block List Entry — `POST /v1/instantly/block-lists-entries` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/block-lists-entries` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `bl_value` | string | yes | Email address or domain to block. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/block-lists-entries" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"bl_value":"competitor.com"}' ``` Request body: ```json { "bl_value": "competitor.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/block-lists-entries # Delete All Block List Entries — `DELETE /v1/instantly/block-lists-entries` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/block-lists-entries` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `domains_only` | boolean \| null | no | | | `search` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ### Body (application/json) ```json { "type": "object", "properties": {}, "title": "DeleteAllBlockListEntriesRequest", "example": {} } ``` ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/block-lists-entries" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/block-lists-entries # Bulk Create Block List Entries — `POST /v1/instantly/block-lists-entries/bulk-create` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/block-lists-entries/bulk-create` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `bl_values` | array | yes | Emails or domains to block (1–1000). | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/block-lists-entries/bulk-create" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"bl_values":["competitor.com","anotherspammer.net"]}' ``` Request body: ```json { "bl_values": [ "competitor.com", "anotherspammer.net" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/block-lists-entries/bulk-create # Bulk Delete Block List Entries — `POST /v1/instantly/block-lists-entries/bulk-delete` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/block-lists-entries/bulk-delete` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `ids` | array | yes | Block list entry UUIDs to delete (1–1000). | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/block-lists-entries/bulk-delete" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"ids":["00000000-0000-0000-0000-000000000001"]}' ``` Request body: ```json { "ids": [ "00000000-0000-0000-0000-000000000001" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/block-lists-entries/bulk-delete # Download Block List — `GET /v1/instantly/block-lists-entries/download` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/block-lists-entries/download` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/block-lists-entries/download" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/block-lists-entries/download # Get Block List Entry — `GET /v1/instantly/block-lists-entries/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/block-lists-entries/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Block list entry UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/block-lists-entries/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/block-lists-entries/{id} # Delete Block List Entry — `DELETE /v1/instantly/block-lists-entries/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/block-lists-entries/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Block list entry UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/block-lists-entries/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/block-lists-entries/{id} # Patch Block List Entry — `PATCH /v1/instantly/block-lists-entries/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/block-lists-entries/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Block list entry UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `bl_value` | string | no | Updated email or domain value. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/block-lists-entries/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"bl_value":"newcompetitor.com"}' ``` Request body: ```json { "bl_value": "newcompetitor.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/block-lists-entries/{id} # List Custom Tags — `GET /v1/instantly/custom-tags` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/custom-tags` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `search` | string | no | | | `resource_ids` | string | no | Comma-separated resource IDs. | | `tag_ids` | string | no | Comma-separated tag UUIDs. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/custom-tags" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/custom-tags # Create Custom Tag — `POST /v1/instantly/custom-tags` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/custom-tags` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `label` | string | yes | Tag label. | | `description` | string \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/custom-tags" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"label":"Enterprise","description":"Enterprise-tier prospects"}' ``` Request body: ```json { "label": "Enterprise", "description": "Enterprise-tier prospects" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/custom-tags # Toggle Tag Resource — `POST /v1/instantly/custom-tags/toggle-resource` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/custom-tags/toggle-resource` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `tag_ids` | array | yes | Tag UUIDs to assign or unassign. | | `resource_type` | integer | yes | 1=Account, 2=Campaign. | | `resource_ids` | array | yes | Resource IDs to tag. | | `assign` | boolean | yes | true to assign, false to unassign. | | `selected_all` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/custom-tags/toggle-resource" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"tag_ids":["00000000-0000-0000-0000-000000000001"],"resource_type":2,"resource_ids":["00000000-0000-0000-0000-000000000002"],"assign":true}' ``` Request body: ```json { "tag_ids": [ "00000000-0000-0000-0000-000000000001" ], "resource_type": 2, "resource_ids": [ "00000000-0000-0000-0000-000000000002" ], "assign": true } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/custom-tags/toggle-resource # Get Custom Tag — `GET /v1/instantly/custom-tags/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/custom-tags/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Custom tag UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/custom-tags/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/custom-tags/{id} # Delete Custom Tag — `DELETE /v1/instantly/custom-tags/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/custom-tags/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Custom tag UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/custom-tags/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/custom-tags/{id} # Patch Custom Tag — `PATCH /v1/instantly/custom-tags/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/custom-tags/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Custom tag UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `label` | string | no | | | `description` | string \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/custom-tags/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"label":"Enterprise Account"}' ``` Request body: ```json { "label": "Enterprise Account" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/custom-tags/{id} # List Custom Tag Mappings — `GET /v1/instantly/custom-tag-mappings` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/custom-tag-mappings` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `resource_ids` | string | no | Comma-separated resource IDs. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/custom-tag-mappings" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/custom-tag-mappings # List Webhooks — `GET /v1/instantly/webhooks` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/webhooks` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `campaign` | string | no | | | `event_type` | string (enum) | no | (one of: all_events, email_sent, email_opened, email_link_clicked, reply_received, email_bounced, lead_unsubscribed, campaign_completed, account_error, lead_neutral, lead_interested, lead_not_interested, lead_meeting_booked, lead_meeting_completed, lead_closed, lead_out_of_office, lead_wrong_person, lead_no_show, supersearch_enrichment_completed) | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/webhooks" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/webhooks # Create Webhook — `POST /v1/instantly/webhooks` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/webhooks` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `target_hook_url` | string | yes | Webhook target URL. (format uri) | | `name` | string | no | | | `campaign` | string \| null | no | Filter to a specific campaign UUID (null = all campaigns). | | `event_type` | string (enum) | no | Event type to subscribe to. (one of: all_events, email_sent, email_opened, email_link_clicked, reply_received, email_bounced, lead_unsubscribed, campaign_completed, account_error, lead_neutral, lead_interested, lead_not_interested, lead_meeting_booked, lead_meeting_completed, lead_closed, lead_out_of_office, lead_wrong_person, lead_no_show, supersearch_enrichment_completed) | | `headers` | object | no | Custom headers to send with webhook requests. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/webhooks" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"target_hook_url":"https://coldiq.com/webhooks/instantly","name":"Reply received handler","event_type":"reply_received"}' ``` Request body: ```json { "target_hook_url": "https://coldiq.com/webhooks/instantly", "name": "Reply received handler", "event_type": "reply_received" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/webhooks # List Webhook Event Types — `GET /v1/instantly/webhooks/event-types` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/webhooks/event-types` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/webhooks/event-types" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/webhooks/event-types # Get Webhook — `GET /v1/instantly/webhooks/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/webhooks/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Webhook UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/webhooks/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/webhooks/{id} # Delete Webhook — `DELETE /v1/instantly/webhooks/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/webhooks/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Webhook UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/webhooks/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/webhooks/{id} # Patch Webhook — `PATCH /v1/instantly/webhooks/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/webhooks/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Webhook UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `target_hook_url` | string | no | (format uri) | | `name` | string | no | | | `campaign` | string \| null | no | | | `event_type` | string (enum) | no | (one of: all_events, email_sent, email_opened, email_link_clicked, reply_received, email_bounced, lead_unsubscribed, campaign_completed, account_error, lead_neutral, lead_interested, lead_not_interested, lead_meeting_booked, lead_meeting_completed, lead_closed, lead_out_of_office, lead_wrong_person, lead_no_show, supersearch_enrichment_completed) | | `headers` | object | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/webhooks/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"event_type":"email_opened"}' ``` Request body: ```json { "event_type": "email_opened" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/webhooks/{id} # Test Webhook — `POST /v1/instantly/webhooks/{id}/test` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/webhooks/{id}/test` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Webhook UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/webhooks/string/test" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/webhooks/{id}/test # Resume Webhook — `POST /v1/instantly/webhooks/{id}/resume` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/webhooks/{id}/resume` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Webhook UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/webhooks/string/resume" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/webhooks/{id}/resume # List Webhook Events — `GET /v1/instantly/webhook-events` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/webhook-events` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `success` | boolean \| null | no | | | `from` | string | no | Start date (YYYY-MM-DD). | | `to` | string | no | End date (YYYY-MM-DD). | | `search` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/webhook-events" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/webhook-events # Get Webhook Event Summary — `GET /v1/instantly/webhook-events/summary` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/webhook-events/summary` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `from` | string | no | Start date (YYYY-MM-DD). | | `to` | string | no | End date (YYYY-MM-DD). | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/webhook-events/summary" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/webhook-events/summary # Get Webhook Event Summary by Date — `GET /v1/instantly/webhook-events/summary-by-date` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/webhook-events/summary-by-date` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `from` | string | no | Start date (YYYY-MM-DD). | | `to` | string | no | End date (YYYY-MM-DD). | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/webhook-events/summary-by-date" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/webhook-events/summary-by-date # Get Webhook Event — `GET /v1/instantly/webhook-events/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/webhook-events/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Webhook event UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/webhook-events/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/webhook-events/{id} # List Background Jobs — `GET /v1/instantly/background-jobs` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/background-jobs` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `type` | string | no | | | `entity_type` | string | no | | | `entity_id` | string | no | | | `status` | string | no | | | `sort_column` | string | no | | | `sort_order` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/background-jobs" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/background-jobs # Get Background Job — `GET /v1/instantly/background-jobs/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/background-jobs/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Background job ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `data_fields` | string | no | Comma-separated field names from the job data object to include. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/background-jobs/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/background-jobs/{id} # List Audit Logs — `GET /v1/instantly/audit-logs` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/audit-logs` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | (min 1; max 1000) | | `starting_after` | string | no | | | `activity_type` | string | no | | | `search` | string | no | | | `start_date` | string | no | | | `end_date` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/audit-logs" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/audit-logs # List Inbox Placement Tests — `GET /v1/instantly/inbox-placement-tests` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/inbox-placement-tests` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `search` | string | no | | | `status` | integer \| null | no | | | `sort_order` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/inbox-placement-tests" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/inbox-placement-tests # Create Inbox Placement Test — `POST /v1/instantly/inbox-placement-tests` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/inbox-placement-tests` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Test name. | | `type` | integer | yes | 1=one-time, 2=automated. | | `sending_method` | integer | yes | 1=from Instantly, 2=external. | | `email_subject` | string | yes | Test email subject. | | `email_body` | string | yes | Test email body (HTML). | | `emails` | array | yes | Sending email accounts. | | `delivery_mode` | integer | no | 1=one-by-one, 2=all-together. | | `description` | string | no | | | `campaign_id` | string | no | | | `text_only` | boolean | no | | | `run_immediately` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/inbox-placement-tests" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"ColdIQ Deliverability Check","type":1,"sending_method":1,"email_subject":"Test: ColdIQ outreach","email_body":"

Hello, this is a deliverability test from ColdIQ.

","emails":["michel@coldiq.com"],"run_immediately":true}' ``` Request body: ```json { "name": "ColdIQ Deliverability Check", "type": 1, "sending_method": 1, "email_subject": "Test: ColdIQ outreach", "email_body": "

Hello, this is a deliverability test from ColdIQ.

", "emails": [ "michel@coldiq.com" ], "run_immediately": true } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/inbox-placement-tests # Get Email Service Provider Options — `GET /v1/instantly/inbox-placement-tests/email-service-provider-options` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/inbox-placement-tests/email-service-provider-options` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/inbox-placement-tests/email-service-provider-options" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/inbox-placement-tests/email-service-provider-options # Get Inbox Placement Test — `GET /v1/instantly/inbox-placement-tests/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/inbox-placement-tests/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Inbox placement test UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `with_metadata` | boolean \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/inbox-placement-tests/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/inbox-placement-tests/{id} # Delete Inbox Placement Test — `DELETE /v1/instantly/inbox-placement-tests/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/inbox-placement-tests/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Inbox placement test UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/inbox-placement-tests/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/inbox-placement-tests/{id} # Patch Inbox Placement Test — `PATCH /v1/instantly/inbox-placement-tests/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/inbox-placement-tests/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Inbox placement test UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | | | `status` | integer | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/inbox-placement-tests/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"ColdIQ Deliverability Check v2"}' ``` Request body: ```json { "name": "ColdIQ Deliverability Check v2" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/inbox-placement-tests/{id} # List Inbox Placement Analytics — `GET /v1/instantly/inbox-placement-analytics` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/inbox-placement-analytics` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `test_id` | string | yes | Inbox placement test UUID (required). | | `limit` | integer | no | (min 1; max 100) | | `starting_after` | string | no | | | `date_from` | string | no | | | `date_to` | string | no | | | `recipient_geo` | integer \| null | no | | | `recipient_type` | integer \| null | no | | | `recipient_esp` | integer \| null | no | | | `sender_email` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/inbox-placement-analytics?test_id=string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/inbox-placement-analytics # Get Inbox Placement Stats by Test ID — `POST /v1/instantly/inbox-placement-analytics/stats-by-test-id` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/inbox-placement-analytics/stats-by-test-id` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `test_ids` | array | yes | Inbox placement test UUIDs. | | `date_from` | string | no | | | `date_to` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/inbox-placement-analytics/stats-by-test-id" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"test_ids":["00000000-0000-0000-0000-000000000001"]}' ``` Request body: ```json { "test_ids": [ "00000000-0000-0000-0000-000000000001" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/inbox-placement-analytics/stats-by-test-id # Get Inbox Placement Deliverability Insights — `POST /v1/instantly/inbox-placement-analytics/deliverability-insights` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/inbox-placement-analytics/deliverability-insights` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `test_id` | string | yes | Inbox placement test UUID. | | `date_from` | string | no | | | `date_to` | string | no | | | `recipient_geo` | array | no | | | `recipient_type` | array | no | | | `recipient_esp` | array | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/inbox-placement-analytics/deliverability-insights" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"test_id":"00000000-0000-0000-0000-000000000001"}' ``` Request body: ```json { "test_id": "00000000-0000-0000-0000-000000000001" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/inbox-placement-analytics/deliverability-insights # Get Inbox Placement Stats by Date — `POST /v1/instantly/inbox-placement-analytics/stats-by-date` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/inbox-placement-analytics/stats-by-date` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `test_id` | string | yes | Inbox placement test UUID. | | `date_from` | string | no | | | `date_to` | string | no | | | `recipient_geo` | array | no | | | `recipient_type` | array | no | | | `recipient_esp` | array | no | | | `sender_email` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/inbox-placement-analytics/stats-by-date" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"test_id":"00000000-0000-0000-0000-000000000001"}' ``` Request body: ```json { "test_id": "00000000-0000-0000-0000-000000000001" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/inbox-placement-analytics/stats-by-date # Get Inbox Placement Analytics — `GET /v1/instantly/inbox-placement-analytics/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/inbox-placement-analytics/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Analytics record UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/inbox-placement-analytics/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/inbox-placement-analytics/{id} # List Inbox Placement Reports — `GET /v1/instantly/inbox-placement-reports` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/inbox-placement-reports` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `test_id` | string | yes | Inbox placement test UUID (required). | | `limit` | integer | no | (min 1; max 100) | | `starting_after` | string | no | | | `date_from` | string | no | | | `date_to` | string | no | | | `skip_spam_assassin_report` | boolean \| null | no | | | `skip_blacklist_report` | boolean \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/inbox-placement-reports?test_id=string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/inbox-placement-reports # Get Inbox Placement Report — `GET /v1/instantly/inbox-placement-reports/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/inbox-placement-reports/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Report UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/inbox-placement-reports/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/inbox-placement-reports/{id} # Create SuperSearch Enrichment — `POST /v1/instantly/supersearch-enrichment` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/supersearch-enrichment` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `resource_id` | string | yes | Campaign or list UUID. | | `type` | string (enum) | yes | Enrichment type. (one of: work_email_enrichment, fully_enriched_profile, email_verification, joblisting, technologies, news, funding, ai_enrichment, custom_flow) | | `limit` | integer | no | (min 1; max 5000) | | `filters` | object | no | SuperSearch lead filters selecting which leads to enrich. Same shape as the SuperSearch search_filters (title, level, department, locations, industry, employeeCount, revenue, domains, company_name, …). | | `filters.locations` | array | no | | | `filters.department` | array | no | | | `filters.level` | array | no | | | `filters.employeeCount` | array | no | | | `filters.revenue` | array | no | | | `filters.title` | array | no | | | `filters.name` | string | no | | | `filters.company_name` | string | no | | | `filters.domains` | array | no | | | `filters.industry` | array | no | | | `filters.skip_owned_leads` | boolean | no | | | `filters.show_one_lead_per_company` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/supersearch-enrichment" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"resource_id":"00000000-0000-0000-0000-000000000001","type":"work_email_enrichment","limit":100,"filters":{"title":["Head of GTM"],"level":["Director","VP"]}}' ``` Request body: ```json { "resource_id": "00000000-0000-0000-0000-000000000001", "type": "work_email_enrichment", "limit": 100, "filters": { "title": [ "Head of GTM" ], "level": [ "Director", "VP" ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/supersearch-enrichment # Enrich Leads from SuperSearch — `POST /v1/instantly/supersearch-enrichment/enrich-leads-from-supersearch` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/supersearch-enrichment/enrich-leads-from-supersearch` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `search_filters` | object | yes | Lead search filters. | | `search_filters.locations` | array | no | | | `search_filters.department` | array | no | | | `search_filters.level` | array | no | | | `search_filters.employeeCount` | array | no | | | `search_filters.revenue` | array | no | | | `search_filters.title` | array | no | | | `search_filters.name` | string | no | | | `search_filters.company_name` | string | no | | | `search_filters.domains` | array | no | | | `search_filters.industry` | array | no | | | `search_filters.skip_owned_leads` | boolean | no | | | `search_filters.show_one_lead_per_company` | boolean | no | | | `limit` | integer | yes | Maximum leads to enrich (1–5,000). (min 1; max 5000) | | `search_name` | string | no | | | `work_email_enrichment` | boolean | no | | | `fully_enriched_profile` | boolean | no | | | `resource_id` | string | no | | | `resource_type` | integer | no | 1=list, 2=campaign. | | `list_name` | string | no | | | `auto_update` | boolean | no | | | `evergreen` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/supersearch-enrichment/enrich-leads-from-supersearch" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"search_filters":{"title":["CEO","Founder"],"industry":["Software"],"employeeCount":["1-10","11-50"]},"limit":100,"work_email_enrichment":true,"list_name":"ColdIQ CEO Software Leads"}' ``` Request body: ```json { "search_filters": { "title": [ "CEO", "Founder" ], "industry": [ "Software" ], "employeeCount": [ "1-10", "11-50" ] }, "limit": 100, "work_email_enrichment": true, "list_name": "ColdIQ CEO Software Leads" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/supersearch-enrichment/enrich-leads-from-supersearch # Run SuperSearch Enrichment — `POST /v1/instantly/supersearch-enrichment/run` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/supersearch-enrichment/run` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `resource_id` | string | yes | Campaign or list UUID. | | `lead_ids` | array | no | | | `limit` | integer | no | | | `overwrite` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/supersearch-enrichment/run" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"resource_id":"00000000-0000-0000-0000-000000000001"}' ``` Request body: ```json { "resource_id": "00000000-0000-0000-0000-000000000001" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/supersearch-enrichment/run # Count Leads from SuperSearch — `POST /v1/instantly/supersearch-enrichment/count-leads-from-supersearch` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/supersearch-enrichment/count-leads-from-supersearch` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `search_filters` | object | yes | Lead search filters. | | `search_filters.locations` | array | no | | | `search_filters.department` | array | no | | | `search_filters.level` | array | no | | | `search_filters.employeeCount` | array | no | | | `search_filters.revenue` | array | no | | | `search_filters.title` | array | no | | | `search_filters.name` | string | no | | | `search_filters.company_name` | string | no | | | `search_filters.domains` | array | no | | | `search_filters.industry` | array | no | | | `search_filters.skip_owned_leads` | boolean | no | | | `search_filters.show_one_lead_per_company` | boolean | no | | | `skip_owned_leads` | boolean | no | | | `show_one_lead_per_company` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/supersearch-enrichment/count-leads-from-supersearch" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"search_filters":{"title":["CEO","Founder"],"industry":["Software"]}}' ``` Request body: ```json { "search_filters": { "title": [ "CEO", "Founder" ], "industry": [ "Software" ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/supersearch-enrichment/count-leads-from-supersearch # Preview Leads from SuperSearch — `POST /v1/instantly/supersearch-enrichment/preview-leads-from-supersearch` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/supersearch-enrichment/preview-leads-from-supersearch` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `search_filters` | object | yes | Lead search filters. | | `search_filters.locations` | array | no | | | `search_filters.department` | array | no | | | `search_filters.level` | array | no | | | `search_filters.employeeCount` | array | no | | | `search_filters.revenue` | array | no | | | `search_filters.title` | array | no | | | `search_filters.name` | string | no | | | `search_filters.company_name` | string | no | | | `search_filters.domains` | array | no | | | `search_filters.industry` | array | no | | | `search_filters.skip_owned_leads` | boolean | no | | | `search_filters.show_one_lead_per_company` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/supersearch-enrichment/preview-leads-from-supersearch" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"search_filters":{"title":["CEO","Founder"],"company_name":"ColdIQ"}}' ``` Request body: ```json { "search_filters": { "title": [ "CEO", "Founder" ], "company_name": "ColdIQ" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/supersearch-enrichment/preview-leads-from-supersearch # Create AI Enrichment — `POST /v1/instantly/supersearch-enrichment/ai` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/supersearch-enrichment/ai` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `resource_id` | string | yes | Campaign or list UUID. | | `output_column` | string | yes | Column name for the AI output. | | `resource_type` | integer | yes | 1=Campaign, 2=List. | | `model_version` | string | yes | AI model to use (e.g., gpt-4o, claude-3.5-sonnet). | | `prompt` | string | no | Prompt template. Use {{variable}} placeholders. | | `limit` | integer | no | | | `overwrite` | boolean | no | | | `auto_update` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/supersearch-enrichment/ai" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"resource_id":"00000000-0000-0000-0000-000000000001","output_column":"personalization","resource_type":1,"model_version":"gpt-4o","prompt":"Write a 1-sentence personalization for {{first_name}} at {{company_name}}."}' ``` Request body: ```json { "resource_id": "00000000-0000-0000-0000-000000000001", "output_column": "personalization", "resource_type": 1, "model_version": "gpt-4o", "prompt": "Write a 1-sentence personalization for {{first_name}} at {{company_name}}." } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/supersearch-enrichment/ai # Get SuperSearch Enrichment Status — `GET /v1/instantly/supersearch-enrichment/{resource_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/supersearch-enrichment/{resource_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `resource_id` | string | yes | Campaign or list UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/supersearch-enrichment/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/supersearch-enrichment/{resource_id} # Get AI Enrichment In-Progress Status — `GET /v1/instantly/supersearch-enrichment/ai/{resource_id}/in-progress` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/supersearch-enrichment/ai/{resource_id}/in-progress` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `resource_id` | string | yes | Campaign or list UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/supersearch-enrichment/ai/string/in-progress" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/supersearch-enrichment/ai/{resource_id}/in-progress # Get SuperSearch Enrichment History — `GET /v1/instantly/supersearch-enrichment/history/{resource_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/supersearch-enrichment/history/{resource_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `resource_id` | string | yes | Campaign or list UUID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `offset` | integer \| null | no | | | `limit` | integer \| null | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/supersearch-enrichment/history/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/supersearch-enrichment/history/{resource_id} # Update SuperSearch Enrichment Settings — `PATCH /v1/instantly/supersearch-enrichment/{resource_id}/settings` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/supersearch-enrichment/{resource_id}/settings` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `resource_id` | string | yes | Campaign or list UUID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `auto_update` | boolean | no | | | `skip_rows_without_email` | boolean | no | | | `is_evergreen` | boolean | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/supersearch-enrichment/string/settings" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"auto_update":true,"is_evergreen":false}' ``` Request body: ```json { "auto_update": true, "is_evergreen": false } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/supersearch-enrichment/{resource_id}/settings # Initialize Google OAuth — `POST /v1/instantly/oauth/google/init` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/oauth/google/init` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/oauth/google/init" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/oauth/google/init # Initialize Microsoft OAuth — `POST /v1/instantly/oauth/microsoft/init` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/oauth/microsoft/init` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/oauth/microsoft/init" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/oauth/microsoft/init # Get OAuth Session Status — `GET /v1/instantly/oauth/session/status/{sessionId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/oauth/session/status/{sessionId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `sessionId` | string | yes | OAuth session ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/oauth/session/status/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/oauth/session/status/{sessionId} # List API Keys — `GET /v1/instantly/api-keys` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/api-keys` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/api-keys" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/api-keys # Create API Key — `POST /v1/instantly/api-keys` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/api-keys` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | | | `scopes` | array | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/api-keys" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"My integration key","scopes":["campaigns:read","leads:create"]}' ``` Request body: ```json { "name": "My integration key", "scopes": [ "campaigns:read", "leads:create" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/api-keys # Delete API Key — `DELETE /v1/instantly/api-keys/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `DELETE https://api.coldiq.com/v1/instantly/api-keys/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | API key ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/instantly/api-keys/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=delete:/v1/instantly/api-keys/{id} # List DFY Email Account Orders — `GET /v1/instantly/dfy-email-account-orders` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/dfy-email-account-orders` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/dfy-email-account-orders" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/dfy-email-account-orders # Place DFY Email Account Order — `POST /v1/instantly/dfy-email-account-orders` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/dfy-email-account-orders` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `items` | array | yes | | | `items[].domain` | string | yes | Domain name. | | `items[].email_provider` | string | no | | | `items[].forwarding_domain` | string | no | | | `items[].accounts` | array | no | Email accounts to create (max 5 per domain). | | `items[].accounts[].email_address_prefix` | string | yes | | | `items[].accounts[].first_name` | string | yes | | | `items[].accounts[].last_name` | string | yes | | | `order_type` | string (enum) | yes | Order type. (one of: dfy, pre_warmed_up, extra_accounts) | | `simulation` | boolean | no | Validate the order without charging. Recommended before placing real orders. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/dfy-email-account-orders" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"items":[{"domain":"coldiq-outreach.com","accounts":[{"email_address_prefix":"michel","first_name":"Michel","last_name":"Lieben"}]}],"order_type":"dfy","simulation":true}' ``` Request body: ```json { "items": [ { "domain": "coldiq-outreach.com", "accounts": [ { "email_address_prefix": "michel", "first_name": "Michel", "last_name": "Lieben" } ] } ], "order_type": "dfy", "simulation": true } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/dfy-email-account-orders # Check Domain Availability — `POST /v1/instantly/dfy-email-account-orders/domains/check` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/dfy-email-account-orders/domains/check` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domains` | array | yes | Domains to check (max 50, .com/.org only). | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/dfy-email-account-orders/domains/check" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domains":["coldiq-outreach.com","coldiq-sales.com"]}' ``` Request body: ```json { "domains": [ "coldiq-outreach.com", "coldiq-sales.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/dfy-email-account-orders/domains/check # Generate Similar Available Domains — `POST /v1/instantly/dfy-email-account-orders/domains/similar` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/dfy-email-account-orders/domains/similar` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | yes | Domain to find similar available alternatives for. | | `tlds` | array | no | TLDs to search (max 2). Defaults to ["com", "org"]. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/dfy-email-account-orders/domains/similar" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com"}' ``` Request body: ```json { "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/dfy-email-account-orders/domains/similar # Get Pre-Warmed Up Domains — `POST /v1/instantly/dfy-email-account-orders/domains/pre-warmed-up-list` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/dfy-email-account-orders/domains/pre-warmed-up-list` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `extensions` | array | no | Domain extensions to filter by. Defaults to ["com", "org", "co"]. | | `search` | string | no | | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/dfy-email-account-orders/domains/pre-warmed-up-list" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"extensions":["com","org"]}' ``` Request body: ```json { "extensions": [ "com", "org" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/dfy-email-account-orders/domains/pre-warmed-up-list # List DFY Email Accounts — `GET /v1/instantly/dfy-email-account-orders/accounts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `GET https://api.coldiq.com/v1/instantly/dfy-email-account-orders/accounts` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of records to return (1–100). (min 1; max 100) | | `starting_after` | string | no | Pagination cursor. | | `with_passwords` | boolean \| null | no | Include account passwords in the response. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/instantly/dfy-email-account-orders/accounts" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=get:/v1/instantly/dfy-email-account-orders/accounts # Cancel DFY Email Accounts — `POST /v1/instantly/dfy-email-account-orders/accounts/cancel` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `POST https://api.coldiq.com/v1/instantly/dfy-email-account-orders/accounts/cancel` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `accounts` | array | yes | Email addresses of DFY accounts to cancel. | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/instantly/dfy-email-account-orders/accounts/cancel" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"accounts":["michel@coldiq-outreach.com"]}' ``` Request body: ```json { "accounts": [ "michel@coldiq-outreach.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=post:/v1/instantly/dfy-email-account-orders/accounts/cancel # Patch Workspace — `PATCH /v1/instantly/workspace` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Instantly - **Endpoint**: `PATCH https://api.coldiq.com/v1/instantly/workspace` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | Workspace display name. | | `org_logo_url` | string | no | Organization logo URL. (format uri) | | `api_key` | string | no | Your Instantly API key. Optional if you have connected your Instantly account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/instantly/workspace" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"ColdIQ"}' ``` Request body: ```json { "name": "ColdIQ" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/instantly?ep=patch:/v1/instantly/workspace # Provider: Attio # List person records — `POST /v1/attio/people/query` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `POST https://api.coldiq.com/v1/attio/people/query` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `filter` | object | no | Filter expression. See Attio filter guide. | | `sorts` | array | no | | | `sorts[].direction` | string (enum) | yes | (one of: asc, desc) | | `sorts[].attribute` | string | no | | | `sorts[].field` | string | no | | | `sorts[].path` | array | no | | | `limit` | integer | no | Max results (default 500). (min 1; max 500) | | `offset` | integer \| null | no | Results to skip (default 0). (min 0) | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/attio/people/query" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filter":{"email_addresses":{"email_address":{"$eq":"michel@coldiq.com"}}},"limit":10,"offset":0}' ``` Request body: ```json { "filter": { "email_addresses": { "email_address": { "$eq": "michel@coldiq.com" } } }, "limit": 10, "offset": 0 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=post:/v1/attio/people/query # Create a person record — `POST /v1/attio/people` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `POST https://api.coldiq.com/v1/attio/people` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | object | yes | | | `data.values` | object | yes | | | `data.values.name` | array | no | | | `data.values.name[].first_name` | string | no | | | `data.values.name[].last_name` | string | no | | | `data.values.name[].full_name` | string | no | | | `data.values.email_addresses` | array | no | | | `data.values.email_addresses[].email_address` | string | yes | | | `data.values.phone_numbers` | array | no | | | `data.values.phone_numbers[].original_phone_number` | string | yes | | | `data.values.phone_numbers[].country_code` | string | no | | | `data.values.job_title` | array | no | | | `data.values.job_title[].value` | string | yes | | | `data.values.description` | array | no | | | `data.values.description[].value` | string | yes | | | `data.values.company` | array | no | | | `data.values.company[].target_object` | string | yes | The object slug or ID (e.g. 'people', 'companies'). | | `data.values.company[].target_record_id` | string | yes | The record UUID. (format uuid) | | `data.values.linkedin` | array | no | | | `data.values.linkedin[].value` | string | yes | | | `data.values.twitter` | array | no | | | `data.values.twitter[].value` | string | yes | | | `data.values.primary_location` | array | no | | | `data.values.primary_location[].line_1` | string \| null | no | | | `data.values.primary_location[].line_2` | string \| null | no | | | `data.values.primary_location[].line_3` | string \| null | no | | | `data.values.primary_location[].line_4` | string \| null | no | | | `data.values.primary_location[].locality` | string \| null | no | | | `data.values.primary_location[].region` | string \| null | no | | | `data.values.primary_location[].postcode` | string \| null | no | | | `data.values.primary_location[].country_code` | string \| null | no | ISO 3166-1 alpha-2 country code. | | `data.values.primary_location[].latitude` | string \| null | no | | | `data.values.primary_location[].longitude` | string \| null | no | | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/attio/people" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":{"values":{"name":[{"full_name":"Michel Lieben","first_name":"Michel","last_name":"Lieben"}],"email_addresses":[{"email_address":"michel@coldiq.com"}],"job_title":[{"value":"CEO"}],"linkedin":[{"value":"https://www.linkedin.com/michel-lieben"}]}}}' ``` Request body: ```json { "data": { "values": { "name": [ { "full_name": "Michel Lieben", "first_name": "Michel", "last_name": "Lieben" } ], "email_addresses": [ { "email_address": "michel@coldiq.com" } ], "job_title": [ { "value": "CEO" } ], "linkedin": [ { "value": "https://www.linkedin.com/michel-lieben" } ] } } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=post:/v1/attio/people # Assert a person record — `PUT /v1/attio/people` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `PUT https://api.coldiq.com/v1/attio/people` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `matching_attribute` | string | no | Attribute slug to match on when upserting (e.g. 'email_addresses'). | | `data` | object | yes | | | `data.values` | object | yes | | | `data.values.name` | array | no | | | `data.values.name[].first_name` | string | no | | | `data.values.name[].last_name` | string | no | | | `data.values.name[].full_name` | string | no | | | `data.values.email_addresses` | array | no | | | `data.values.email_addresses[].email_address` | string | yes | | | `data.values.phone_numbers` | array | no | | | `data.values.phone_numbers[].original_phone_number` | string | yes | | | `data.values.phone_numbers[].country_code` | string | no | | | `data.values.job_title` | array | no | | | `data.values.job_title[].value` | string | yes | | | `data.values.description` | array | no | | | `data.values.description[].value` | string | yes | | | `data.values.company` | array | no | | | `data.values.company[].target_object` | string | yes | The object slug or ID (e.g. 'people', 'companies'). | | `data.values.company[].target_record_id` | string | yes | The record UUID. (format uuid) | | `data.values.linkedin` | array | no | | | `data.values.linkedin[].value` | string | yes | | | `data.values.twitter` | array | no | | | `data.values.twitter[].value` | string | yes | | | `data.values.primary_location` | array | no | | | `data.values.primary_location[].line_1` | string \| null | no | | | `data.values.primary_location[].line_2` | string \| null | no | | | `data.values.primary_location[].line_3` | string \| null | no | | | `data.values.primary_location[].line_4` | string \| null | no | | | `data.values.primary_location[].locality` | string \| null | no | | | `data.values.primary_location[].region` | string \| null | no | | | `data.values.primary_location[].postcode` | string \| null | no | | | `data.values.primary_location[].country_code` | string \| null | no | ISO 3166-1 alpha-2 country code. | | `data.values.primary_location[].latitude` | string \| null | no | | | `data.values.primary_location[].longitude` | string \| null | no | | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X PUT "https://api.coldiq.com/v1/attio/people" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"matching_attribute":"email_addresses","data":{"values":{"name":[{"full_name":"Michel Lieben","first_name":"Michel","last_name":"Lieben"}],"email_addresses":[{"email_address":"michel@coldiq.com"}],"job_title":[{"value":"CEO"}]}}}' ``` Request body: ```json { "matching_attribute": "email_addresses", "data": { "values": { "name": [ { "full_name": "Michel Lieben", "first_name": "Michel", "last_name": "Lieben" } ], "email_addresses": [ { "email_address": "michel@coldiq.com" } ], "job_title": [ { "value": "CEO" } ] } } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=put:/v1/attio/people # Get a person record — `GET /v1/attio/people/{record_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `GET https://api.coldiq.com/v1/attio/people/{record_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `record_id` | string | yes | The record UUID. (format uuid) | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/attio/people/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=get:/v1/attio/people/{record_id} # Delete a person record — `DELETE /v1/attio/people/{record_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `DELETE https://api.coldiq.com/v1/attio/people/{record_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `record_id` | string | yes | The record UUID. (format uuid) | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/attio/people/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=delete:/v1/attio/people/{record_id} # Update a person record — `PATCH /v1/attio/people/{record_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `PATCH https://api.coldiq.com/v1/attio/people/{record_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `record_id` | string | yes | The record UUID. (format uuid) | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | object | yes | | | `data.values` | object | yes | | | `data.values.name` | array | no | | | `data.values.name[].first_name` | string | no | | | `data.values.name[].last_name` | string | no | | | `data.values.name[].full_name` | string | no | | | `data.values.email_addresses` | array | no | | | `data.values.email_addresses[].email_address` | string | yes | | | `data.values.phone_numbers` | array | no | | | `data.values.phone_numbers[].original_phone_number` | string | yes | | | `data.values.phone_numbers[].country_code` | string | no | | | `data.values.job_title` | array | no | | | `data.values.job_title[].value` | string | yes | | | `data.values.description` | array | no | | | `data.values.description[].value` | string | yes | | | `data.values.company` | array | no | | | `data.values.company[].target_object` | string | yes | The object slug or ID (e.g. 'people', 'companies'). | | `data.values.company[].target_record_id` | string | yes | The record UUID. (format uuid) | | `data.values.linkedin` | array | no | | | `data.values.linkedin[].value` | string | yes | | | `data.values.twitter` | array | no | | | `data.values.twitter[].value` | string | yes | | | `data.values.primary_location` | array | no | | | `data.values.primary_location[].line_1` | string \| null | no | | | `data.values.primary_location[].line_2` | string \| null | no | | | `data.values.primary_location[].line_3` | string \| null | no | | | `data.values.primary_location[].line_4` | string \| null | no | | | `data.values.primary_location[].locality` | string \| null | no | | | `data.values.primary_location[].region` | string \| null | no | | | `data.values.primary_location[].postcode` | string \| null | no | | | `data.values.primary_location[].country_code` | string \| null | no | ISO 3166-1 alpha-2 country code. | | `data.values.primary_location[].latitude` | string \| null | no | | | `data.values.primary_location[].longitude` | string \| null | no | | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/attio/people/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":{"values":{"job_title":[{"value":"Co-founder & CEO"}]}}}' ``` Request body: ```json { "data": { "values": { "job_title": [ { "value": "Co-founder & CEO" } ] } } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=patch:/v1/attio/people/{record_id} # List company records — `POST /v1/attio/companies/query` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `POST https://api.coldiq.com/v1/attio/companies/query` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `filter` | object | no | Filter expression. See Attio filter guide. | | `sorts` | array | no | | | `sorts[].direction` | string (enum) | yes | (one of: asc, desc) | | `sorts[].attribute` | string | no | | | `sorts[].field` | string | no | | | `sorts[].path` | array | no | | | `limit` | integer | no | Max results (default 500). (min 1; max 500) | | `offset` | integer \| null | no | Results to skip (default 0). (min 0) | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/attio/companies/query" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filter":{"domains":{"domain":{"$eq":"coldiq.com"}}},"limit":10,"offset":0}' ``` Request body: ```json { "filter": { "domains": { "domain": { "$eq": "coldiq.com" } } }, "limit": 10, "offset": 0 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=post:/v1/attio/companies/query # Create a company record — `POST /v1/attio/companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `POST https://api.coldiq.com/v1/attio/companies` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | object | yes | | | `data.values` | object | yes | | | `data.values.name` | array | no | | | `data.values.name[].value` | string | yes | | | `data.values.domains` | array | no | | | `data.values.domains[].domain` | string | yes | | | `data.values.description` | array | no | | | `data.values.description[].value` | string | yes | | | `data.values.linkedin` | array | no | | | `data.values.linkedin[].value` | string | yes | | | `data.values.twitter` | array | no | | | `data.values.twitter[].value` | string | yes | | | `data.values.primary_location` | array | no | | | `data.values.primary_location[].line_1` | string \| null | no | | | `data.values.primary_location[].line_2` | string \| null | no | | | `data.values.primary_location[].line_3` | string \| null | no | | | `data.values.primary_location[].line_4` | string \| null | no | | | `data.values.primary_location[].locality` | string \| null | no | | | `data.values.primary_location[].region` | string \| null | no | | | `data.values.primary_location[].postcode` | string \| null | no | | | `data.values.primary_location[].country_code` | string \| null | no | ISO 3166-1 alpha-2 country code. | | `data.values.primary_location[].latitude` | string \| null | no | | | `data.values.primary_location[].longitude` | string \| null | no | | | `data.values.categories` | array | no | Category select options (UUID or title). | | `data.values.categories[].option` | string | yes | | | `data.values.employee_range` | array | no | Employee range select option (UUID or title). | | `data.values.employee_range[].option` | string | yes | | | `data.values.estimated_arr_usd` | array | no | Estimated ARR range select option (UUID or title). | | `data.values.estimated_arr_usd[].option` | string | yes | | | `data.values.foundation_date` | array | no | ISO 8601 date. | | `data.values.foundation_date[].value` | string | yes | | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/attio/companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":{"values":{"name":[{"value":"ColdIQ"}],"domains":[{"domain":"coldiq.com"}],"linkedin":[{"value":"https://www.linkedin.com/company/coldiq"}]}}}' ``` Request body: ```json { "data": { "values": { "name": [ { "value": "ColdIQ" } ], "domains": [ { "domain": "coldiq.com" } ], "linkedin": [ { "value": "https://www.linkedin.com/company/coldiq" } ] } } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=post:/v1/attio/companies # Assert a company record — `PUT /v1/attio/companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `PUT https://api.coldiq.com/v1/attio/companies` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `matching_attribute` | string | no | Attribute slug to match on when upserting (e.g. 'domains'). | | `data` | object | yes | | | `data.values` | object | yes | | | `data.values.name` | array | no | | | `data.values.name[].value` | string | yes | | | `data.values.domains` | array | no | | | `data.values.domains[].domain` | string | yes | | | `data.values.description` | array | no | | | `data.values.description[].value` | string | yes | | | `data.values.linkedin` | array | no | | | `data.values.linkedin[].value` | string | yes | | | `data.values.twitter` | array | no | | | `data.values.twitter[].value` | string | yes | | | `data.values.primary_location` | array | no | | | `data.values.primary_location[].line_1` | string \| null | no | | | `data.values.primary_location[].line_2` | string \| null | no | | | `data.values.primary_location[].line_3` | string \| null | no | | | `data.values.primary_location[].line_4` | string \| null | no | | | `data.values.primary_location[].locality` | string \| null | no | | | `data.values.primary_location[].region` | string \| null | no | | | `data.values.primary_location[].postcode` | string \| null | no | | | `data.values.primary_location[].country_code` | string \| null | no | ISO 3166-1 alpha-2 country code. | | `data.values.primary_location[].latitude` | string \| null | no | | | `data.values.primary_location[].longitude` | string \| null | no | | | `data.values.categories` | array | no | Category select options (UUID or title). | | `data.values.categories[].option` | string | yes | | | `data.values.employee_range` | array | no | Employee range select option (UUID or title). | | `data.values.employee_range[].option` | string | yes | | | `data.values.estimated_arr_usd` | array | no | Estimated ARR range select option (UUID or title). | | `data.values.estimated_arr_usd[].option` | string | yes | | | `data.values.foundation_date` | array | no | ISO 8601 date. | | `data.values.foundation_date[].value` | string | yes | | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X PUT "https://api.coldiq.com/v1/attio/companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"matching_attribute":"domains","data":{"values":{"name":[{"value":"ColdIQ"}],"domains":[{"domain":"coldiq.com"}]}}}' ``` Request body: ```json { "matching_attribute": "domains", "data": { "values": { "name": [ { "value": "ColdIQ" } ], "domains": [ { "domain": "coldiq.com" } ] } } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=put:/v1/attio/companies # Get a company record — `GET /v1/attio/companies/{record_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `GET https://api.coldiq.com/v1/attio/companies/{record_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `record_id` | string | yes | The record UUID. (format uuid) | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/attio/companies/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=get:/v1/attio/companies/{record_id} # Delete a company record — `DELETE /v1/attio/companies/{record_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `DELETE https://api.coldiq.com/v1/attio/companies/{record_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `record_id` | string | yes | The record UUID. (format uuid) | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/attio/companies/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=delete:/v1/attio/companies/{record_id} # Update a company record — `PATCH /v1/attio/companies/{record_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `PATCH https://api.coldiq.com/v1/attio/companies/{record_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `record_id` | string | yes | The record UUID. (format uuid) | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | object | yes | | | `data.values` | object | yes | | | `data.values.name` | array | no | | | `data.values.name[].value` | string | yes | | | `data.values.domains` | array | no | | | `data.values.domains[].domain` | string | yes | | | `data.values.description` | array | no | | | `data.values.description[].value` | string | yes | | | `data.values.linkedin` | array | no | | | `data.values.linkedin[].value` | string | yes | | | `data.values.twitter` | array | no | | | `data.values.twitter[].value` | string | yes | | | `data.values.primary_location` | array | no | | | `data.values.primary_location[].line_1` | string \| null | no | | | `data.values.primary_location[].line_2` | string \| null | no | | | `data.values.primary_location[].line_3` | string \| null | no | | | `data.values.primary_location[].line_4` | string \| null | no | | | `data.values.primary_location[].locality` | string \| null | no | | | `data.values.primary_location[].region` | string \| null | no | | | `data.values.primary_location[].postcode` | string \| null | no | | | `data.values.primary_location[].country_code` | string \| null | no | ISO 3166-1 alpha-2 country code. | | `data.values.primary_location[].latitude` | string \| null | no | | | `data.values.primary_location[].longitude` | string \| null | no | | | `data.values.categories` | array | no | Category select options (UUID or title). | | `data.values.categories[].option` | string | yes | | | `data.values.employee_range` | array | no | Employee range select option (UUID or title). | | `data.values.employee_range[].option` | string | yes | | | `data.values.estimated_arr_usd` | array | no | Estimated ARR range select option (UUID or title). | | `data.values.estimated_arr_usd[].option` | string | yes | | | `data.values.foundation_date` | array | no | ISO 8601 date. | | `data.values.foundation_date[].value` | string | yes | | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/attio/companies/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":{"values":{"description":[{"value":"AI-powered cold outreach platform."}]}}}' ``` Request body: ```json { "data": { "values": { "description": [ { "value": "AI-powered cold outreach platform." } ] } } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=patch:/v1/attio/companies/{record_id} # List notes — `GET /v1/attio/notes` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `GET https://api.coldiq.com/v1/attio/notes` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `parent_object` | string | no | Filter by parent object slug (e.g. 'people'). | | `parent_record_id` | string | no | Filter by parent record UUID. (format uuid) | | `limit` | integer | no | Max results (default 10, max 50). (min 1; max 50) | | `offset` | integer \| null | no | Results to skip (default 0). (min 0) | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/attio/notes" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=get:/v1/attio/notes # Create a note — `POST /v1/attio/notes` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `POST https://api.coldiq.com/v1/attio/notes` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | object | yes | | | `data.parent_object` | string | yes | The parent object slug or ID (e.g. 'people', 'companies'). | | `data.parent_record_id` | string | yes | The parent record UUID. (format uuid) | | `data.title` | string | yes | Plaintext title for the note. | | `data.format` | string (enum) | yes | (one of: plaintext, markdown) | | `data.content` | string | yes | Note body content. | | `data.created_at` | string | no | ISO 8601 timestamp to backdate the note. | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/attio/notes" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":{"parent_object":"people","parent_record_id":"891dcbfc-9141-415d-9b2a-2238a6cc012d","title":"Discovery call","format":"plaintext","content":"Discussed pricing and onboarding timeline."}}' ``` Request body: ```json { "data": { "parent_object": "people", "parent_record_id": "891dcbfc-9141-415d-9b2a-2238a6cc012d", "title": "Discovery call", "format": "plaintext", "content": "Discussed pricing and onboarding timeline." } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=post:/v1/attio/notes # Get a note — `GET /v1/attio/notes/{note_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `GET https://api.coldiq.com/v1/attio/notes/{note_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `note_id` | string | yes | The note UUID. (format uuid) | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/attio/notes/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=get:/v1/attio/notes/{note_id} # Delete a note — `DELETE /v1/attio/notes/{note_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `DELETE https://api.coldiq.com/v1/attio/notes/{note_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `note_id` | string | yes | The note UUID. (format uuid) | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/attio/notes/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=delete:/v1/attio/notes/{note_id} # List all tasks — `GET /v1/attio/tasks` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `GET https://api.coldiq.com/v1/attio/tasks` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Max results (default 500). (min 1; max 500) | | `offset` | integer \| null | no | Results to skip (default 0). (min 0) | | `sort` | string (enum) | no | Sort order. (one of: created_at:asc, created_at:desc) | | `linked_object` | string | no | Filter by linked object slug (e.g. 'people'). Requires linked_record_id. | | `linked_record_id` | string | no | Filter by linked record UUID. Requires linked_object. (format uuid) | | `assignee` | string | no | Filter by assignee email or ID. Pass 'null' for unassigned tasks. | | `is_completed` | string (enum) | no | Filter by completion status. (one of: true, false) | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/attio/tasks" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=get:/v1/attio/tasks # Create a task — `POST /v1/attio/tasks` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `POST https://api.coldiq.com/v1/attio/tasks` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | object | yes | | | `data.content` | string | yes | Task content text. | | `data.format` | string (enum) | yes | (one of: plaintext) | | `data.deadline_at` | string \| null | yes | ISO 8601 deadline timestamp, or null. | | `data.is_completed` | boolean | yes | | | `data.linked_records` | array | yes | Records linked to this task. | | `data.linked_records[].target_object` | string | yes | The object slug or ID (e.g. 'people', 'companies'). | | `data.linked_records[].target_record_id` | string | yes | The record UUID. (format uuid) | | `data.assignees` | array | yes | Workspace members assigned to this task. | | `data.assignees[].referenced_actor_type` | string (enum) | no | (one of: workspace-member) | | `data.assignees[].referenced_actor_id` | string | no | (format uuid) | | `data.assignees[].workspace_member_email_address` | string | no | (format email) | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/attio/tasks" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":{"content":"Follow up with Michel about onboarding.","format":"plaintext","deadline_at":"2026-04-01T09:00:00.000000000Z","is_completed":false,"linked_records":[{"target_object":"people","target_record_id":"891dcbfc-9141-415d-9b2a-2238a6cc012d"}],"assignees":[]}}' ``` Request body: ```json { "data": { "content": "Follow up with Michel about onboarding.", "format": "plaintext", "deadline_at": "2026-04-01T09:00:00.000000000Z", "is_completed": false, "linked_records": [ { "target_object": "people", "target_record_id": "891dcbfc-9141-415d-9b2a-2238a6cc012d" } ], "assignees": [] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=post:/v1/attio/tasks # Get a task — `GET /v1/attio/tasks/{task_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `GET https://api.coldiq.com/v1/attio/tasks/{task_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `task_id` | string | yes | The task UUID. (format uuid) | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/attio/tasks/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=get:/v1/attio/tasks/{task_id} # Delete a task — `DELETE /v1/attio/tasks/{task_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `DELETE https://api.coldiq.com/v1/attio/tasks/{task_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `task_id` | string | yes | The task UUID. (format uuid) | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/attio/tasks/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=delete:/v1/attio/tasks/{task_id} # Update a task — `PATCH /v1/attio/tasks/{task_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `PATCH https://api.coldiq.com/v1/attio/tasks/{task_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `task_id` | string | yes | The task UUID. (format uuid) | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | object | yes | | | `data.deadline_at` | string \| null | no | ISO 8601 deadline timestamp, or null. | | `data.is_completed` | boolean | no | | | `data.linked_records` | array | no | | | `data.linked_records[].target_object` | string | yes | The object slug or ID (e.g. 'people', 'companies'). | | `data.linked_records[].target_record_id` | string | yes | The record UUID. (format uuid) | | `data.assignees` | array | no | | | `data.assignees[].referenced_actor_type` | string (enum) | no | (one of: workspace-member) | | `data.assignees[].referenced_actor_id` | string | no | (format uuid) | | `data.assignees[].workspace_member_email_address` | string | no | (format email) | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/attio/tasks/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":{"is_completed":true}}' ``` Request body: ```json { "data": { "is_completed": true } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=patch:/v1/attio/tasks/{task_id} # Search records — `POST /v1/attio/records/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Attio - **Endpoint**: `POST https://api.coldiq.com/v1/attio/records/search` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `query` | string | yes | Fuzzy search query. Empty string returns default results. | | `objects` | array | yes | Object slugs or UUIDs to search within (e.g. ['people', 'companies']). | | `request_as` | object | yes | Search context (required by Attio). Use { "type": "workspace" } for default. | | `request_as.type` | string (enum) | no | (one of: workspace) | | `request_as.workspace_member_id` | string | no | (format uuid) | | `request_as.workspace_member_email_address` | string | no | (format email) | | `limit` | integer | no | Max results (default 25, max 25). (min 1; max 25) | | `api_key` | string | no | Your Attio access token. Optional if you have connected your Attio account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/attio/records/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query":"Michel Lieben","objects":["people","companies"],"request_as":{"type":"workspace"},"limit":10}' ``` Request body: ```json { "query": "Michel Lieben", "objects": [ "people", "companies" ], "request_as": { "type": "workspace" }, "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/attio?ep=post:/v1/attio/records/search # Provider: Lemlist # List Campaigns — `GET /v1/lemlist/campaigns` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/campaigns` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Max results to return. (min 1; max 100) | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/campaigns" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/campaigns # Create Campaign — `POST /v1/lemlist/campaigns` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/campaigns` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Campaign name. | | `type` | string (enum) | no | Campaign type. (one of: automated, manual) | | `scheduleIds` | array | no | Schedule IDs to attach. | | `senderIds` | array | no | Sender email account IDs. | | `labels` | array | no | Label names. | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/campaigns" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"ColdIQ Outbound Q1"}' ``` Request body: ```json { "name": "ColdIQ Outbound Q1" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/campaigns # Get Campaign — `GET /v1/lemlist/campaigns/{campaignId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/campaigns/{campaignId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaignId` | string | yes | Campaign ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/campaigns/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/campaigns/{campaignId} # Update Campaign — `PATCH /v1/lemlist/campaigns/{campaignId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `PATCH https://api.coldiq.com/v1/lemlist/campaigns/{campaignId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaignId` | string | yes | Campaign ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | | | `scheduleIds` | array | no | | | `senderIds` | array | no | | | `labels` | array | no | | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/lemlist/campaigns/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"ColdIQ Outbound Q2"}' ``` Request body: ```json { "name": "ColdIQ Outbound Q2" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=patch:/v1/lemlist/campaigns/{campaignId} # Duplicate Campaign — `POST /v1/lemlist/campaigns/{campaignId}/duplicate` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/campaigns/{campaignId}/duplicate` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaignId` | string | yes | Campaign ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/campaigns/string/duplicate" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/campaigns/{campaignId}/duplicate # Start Campaign — `POST /v1/lemlist/campaigns/{campaignId}/start` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/campaigns/{campaignId}/start` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaignId` | string | yes | Campaign ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/campaigns/string/start" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/campaigns/{campaignId}/start # Pause Campaign — `POST /v1/lemlist/campaigns/{campaignId}/pause` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/campaigns/{campaignId}/pause` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaignId` | string | yes | Campaign ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/campaigns/string/pause" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/campaigns/{campaignId}/pause # Get Campaign Stats — `GET /v1/lemlist/campaigns/{campaignId}/stats` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/campaigns/{campaignId}/stats` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaignId` | string | yes | Campaign ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `startDate` | string | yes | Start date in ISO format (e.g., 2026-01-01). | | `endDate` | string | yes | End date in ISO format (e.g., 2026-12-31). | | `timezone` | string | no | IANA timezone (e.g., Europe/Brussels). Defaults to UTC. | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/campaigns/string/stats?startDate=string&endDate=string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/campaigns/{campaignId}/stats # Export Campaign Stats — `POST /v1/lemlist/campaigns/{campaignId}/export` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/campaigns/{campaignId}/export` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaignId` | string | yes | Campaign ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/campaigns/string/export" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/campaigns/{campaignId}/export # Get Campaign Export Status — `GET /v1/lemlist/campaigns/{campaignId}/export-status` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/campaigns/{campaignId}/export-status` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaignId` | string | yes | Campaign ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/campaigns/string/export-status" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/campaigns/{campaignId}/export-status # List Campaign Leads — `GET /v1/lemlist/campaigns/{campaignId}/leads` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/campaigns/{campaignId}/leads` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaignId` | string | yes | Campaign ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Max results to return. (min 1; max 100) | | `offset` | integer \| null | no | Pagination offset. (min 0) | | `status` | string | no | Filter by lead status. | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/campaigns/string/leads" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/campaigns/{campaignId}/leads # Create Lead in Campaign — `POST /v1/lemlist/campaigns/{campaignId}/leads` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/campaigns/{campaignId}/leads` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaignId` | string | yes | Campaign ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | no | Lead email address. (format email) | | `firstName` | string | no | | | `lastName` | string | no | | | `companyName` | string | no | | | `jobTitle` | string | no | | | `linkedinUrl` | string | no | | | `picture` | string | no | | | `phone` | string | no | | | `companyDomain` | string | no | | | `icebreaker` | string | no | | | `timezone` | string | no | IANA timezone (e.g., Europe/Brussels). | | `contactOwner` | string | no | User ID or email of the contact owner. | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/campaigns/string/leads" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com","firstName":"Michel","lastName":"Lieben","companyName":"ColdIQ","jobTitle":"CEO","linkedinUrl":"https://www.linkedin.com/in/michel-lieben","companyDomain":"coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com", "firstName": "Michel", "lastName": "Lieben", "companyName": "ColdIQ", "jobTitle": "CEO", "linkedinUrl": "https://www.linkedin.com/in/michel-lieben", "companyDomain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/campaigns/{campaignId}/leads # Get Lead — `GET /v1/lemlist/leads/{leadId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/leads/{leadId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `leadId` | string | yes | Lead ID or email address. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/leads/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/leads/{leadId} # Delete Lead — `DELETE /v1/lemlist/leads/{leadId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `DELETE https://api.coldiq.com/v1/lemlist/leads/{leadId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `leadId` | string | yes | Lead ID or email address. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/lemlist/leads/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=delete:/v1/lemlist/leads/{leadId} # Update Lead in Campaign — `PATCH /v1/lemlist/campaigns/{campaignId}/leads/{leadId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `PATCH https://api.coldiq.com/v1/lemlist/campaigns/{campaignId}/leads/{leadId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaignId` | string | yes | Campaign ID. | | `leadId` | string | yes | Lead ID or email address. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | no | Lead email address. (format email) | | `firstName` | string | no | | | `lastName` | string | no | | | `companyName` | string | no | | | `jobTitle` | string | no | | | `linkedinUrl` | string | no | | | `picture` | string | no | | | `phone` | string | no | | | `companyDomain` | string | no | | | `icebreaker` | string | no | | | `timezone` | string | no | IANA timezone (e.g., Europe/Brussels). | | `contactOwner` | string | no | User ID or email of the contact owner. | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/lemlist/campaigns/string/leads/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"jobTitle":"Founder & CEO","companyName":"ColdIQ"}' ``` Request body: ```json { "jobTitle": "Founder & CEO", "companyName": "ColdIQ" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=patch:/v1/lemlist/campaigns/{campaignId}/leads/{leadId} # Add Lead Variable — `POST /v1/lemlist/leads/{leadId}/variables` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/leads/{leadId}/variables` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `leadId` | string | yes | Lead ID or email address. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Variable name. | | `value` | any \| null | no | Variable value. | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/leads/string/variables" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"customField","value":"ColdIQ customer"}' ``` Request body: ```json { "name": "customField", "value": "ColdIQ customer" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/leads/{leadId}/variables # Delete Lead Variable — `DELETE /v1/lemlist/leads/{leadId}/variables` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `DELETE https://api.coldiq.com/v1/lemlist/leads/{leadId}/variables` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `leadId` | string | yes | Lead ID or email address. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Variable name to delete. | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/lemlist/leads/string/variables?name=string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=delete:/v1/lemlist/leads/{leadId}/variables # Update Lead Variable — `PATCH /v1/lemlist/leads/{leadId}/variables` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `PATCH https://api.coldiq.com/v1/lemlist/leads/{leadId}/variables` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `leadId` | string | yes | Lead ID or email address. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | yes | Variable name. | | `value` | any \| null | no | Variable value. | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/lemlist/leads/string/variables" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"customField","value":"ColdIQ customer"}' ``` Request body: ```json { "name": "customField", "value": "ColdIQ customer" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=patch:/v1/lemlist/leads/{leadId}/variables # Mark Lead as Interested — `POST /v1/lemlist/leads/{leadId}/interested` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/leads/{leadId}/interested` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `leadId` | string | yes | Lead ID or email address. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/leads/string/interested" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/leads/{leadId}/interested # Mark Lead as Not Interested — `POST /v1/lemlist/leads/{leadId}/not-interested` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/leads/{leadId}/not-interested` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `leadId` | string | yes | Lead ID or email address. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/leads/string/not-interested" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/leads/{leadId}/not-interested # Pause Lead — `POST /v1/lemlist/leads/{leadId}/pause` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/leads/{leadId}/pause` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `leadId` | string | yes | Lead ID or email address. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/leads/string/pause" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/leads/{leadId}/pause # Resume Lead — `POST /v1/lemlist/leads/{leadId}/resume` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/leads/{leadId}/resume` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `leadId` | string | yes | Lead ID or email address. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/leads/string/resume" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/leads/{leadId}/resume # Get Contacts — `GET /v1/lemlist/contacts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/contacts` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `idsOrEmails` | string | yes | Contact ID or email address to look up. | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/contacts?idsOrEmails=string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/contacts # Get Contact — `GET /v1/lemlist/contacts/{contactId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/contacts/{contactId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `contactId` | string | yes | Contact ID or email address. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/contacts/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/contacts/{contactId} # Get Database Filters — `GET /v1/lemlist/database/filters` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/database/filters` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/database/filters" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/database/filters # Enrich Entity — `POST /v1/lemlist/enrich` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/enrich` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | no | (format email) | | `linkedinUrl` | string | no | | | `firstName` | string | no | | | `lastName` | string | no | | | `companyName` | string | no | | | `companyDomain` | string | no | | | `findEmail` | boolean | no | Find email address for this person. | | `findPhone` | boolean | no | Find phone number for this person. | | `linkedinEnrichment` | boolean | no | Enrich LinkedIn profile data. | | `verifyEmail` | boolean | no | Verify the provided email address. | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/enrich" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com","firstName":"Michel","lastName":"Lieben","companyDomain":"coldiq.com","findPhone":true,"linkedinEnrichment":true}' ``` Request body: ```json { "email": "michel@coldiq.com", "firstName": "Michel", "lastName": "Lieben", "companyDomain": "coldiq.com", "findPhone": true, "linkedinEnrichment": true } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/enrich # Bulk Enrich Entities — `POST /v1/lemlist/enrich/bulk` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/enrich/bulk` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `leads` | array | yes | Up to 200 entities to enrich. | | `leads[].email` | string | no | (format email) | | `leads[].linkedinUrl` | string | no | | | `leads[].firstName` | string | no | | | `leads[].lastName` | string | no | | | `leads[].companyName` | string | no | | | `leads[].companyDomain` | string | no | | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/enrich/bulk" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"leads":[{"email":"michel@coldiq.com","firstName":"Michel","lastName":"Lieben"},{"email":"satya@microsoft.com","firstName":"Satya","lastName":"Nadella","companyDomain":"microsoft.com"}]}' ``` Request body: ```json { "leads": [ { "email": "michel@coldiq.com", "firstName": "Michel", "lastName": "Lieben" }, { "email": "satya@microsoft.com", "firstName": "Satya", "lastName": "Nadella", "companyDomain": "microsoft.com" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/enrich/bulk # Enrich Lead — `POST /v1/lemlist/leads/{leadId}/enrich` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/leads/{leadId}/enrich` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `leadId` | string | yes | Lead ID or email address. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/leads/string/enrich" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/leads/{leadId}/enrich # Get Enrichment Results — `GET /v1/lemlist/enrich/{enrichId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/enrich/{enrichId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `enrichId` | string | yes | Enrichment request ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/enrich/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/enrich/{enrichId} # List Unsubscribes — `GET /v1/lemlist/unsubscribes` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/unsubscribes` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Max results to return. (min 1; max 100) | | `offset` | integer \| null | no | Pagination offset. (min 0) | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/unsubscribes" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/unsubscribes # Add Unsubscribe — `POST /v1/lemlist/unsubscribes` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/unsubscribes` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address to unsubscribe. (format email) | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/unsubscribes" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/unsubscribes # Get Unsubscribe Status — `GET /v1/lemlist/unsubscribes/{email}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/unsubscribes/{email}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/unsubscribes/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/unsubscribes/{email} # Remove Unsubscribe — `DELETE /v1/lemlist/unsubscribes/{email}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `DELETE https://api.coldiq.com/v1/lemlist/unsubscribes/{email}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/lemlist/unsubscribes/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=delete:/v1/lemlist/unsubscribes/{email} # Export Unsubscribes — `POST /v1/lemlist/unsubscribes/export` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `POST https://api.coldiq.com/v1/lemlist/unsubscribes/export` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/lemlist/unsubscribes/export" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=post:/v1/lemlist/unsubscribes/export # List Activities — `GET /v1/lemlist/activities` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/activities` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `campaignId` | string | no | Filter by campaign ID. | | `type` | string | no | Filter by activity type. | | `limit` | integer | no | (min 1; max 100) | | `offset` | integer \| null | no | (min 0) | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/activities" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/activities # Get Team — `GET /v1/lemlist/team` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/team` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/team" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/team # Get Team Credits — `GET /v1/lemlist/team/credits` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/team/credits` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/team/credits" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/team/credits # List Team Senders — `GET /v1/lemlist/team/senders` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Lemlist - **Endpoint**: `GET https://api.coldiq.com/v1/lemlist/team/senders` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `api_key` | string | no | Your Lemlist API key. Optional if you have connected your Lemlist account in the dashboard. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/lemlist/team/senders" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "anyOf": [ { "type": "object", "additionalProperties": { "nullable": true } }, { "type": "array", "items": { "nullable": true } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/lemlist?ep=get:/v1/lemlist/team/senders # Provider: Wiza # Start Individual Reveal — `POST /v1/wiza/individual-reveals` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Wiza - **Endpoint**: `POST https://api.coldiq.com/v1/wiza/individual-reveals` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich a single contact with professional data. Returns immediately with a reveal ID — results are delivered asynchronously via webhook and retrievable via GET. Processing time: 0–380 seconds depending on enrichment level. Credit costs: none=1, partial=2, phone/full=7. Credits: variable per contact, charged by which fields you request (none, partial, phone, full). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/email/find` (Find Email) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `individual_reveal` | object | yes | | | `individual_reveal.profile_url` | string | no | (format uri) | | `individual_reveal.full_name` | string | no | | | `individual_reveal.domain` | string | no | | | `individual_reveal.company` | string | no | | | `individual_reveal.email` | string | no | (format email) | | `enrichment_level` | string (enum) | yes | Enrichment depth: none (LinkedIn only), partial (email), phone (email+phone), full (email+phone) (one of: none, partial, phone, full) | | `email_options` | object | no | | | `email_options.accept_work` | boolean | no | | | `email_options.accept_personal` | boolean | no | | | `callback_url` | string | no | Webhook URL for result delivery (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/wiza/individual-reveals" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"individual_reveal":{"profile_url":"https://www.linkedin.com/in/michel-lieben"},"enrichment_level":"partial"}' ``` Request body: ```json { "individual_reveal": { "profile_url": "https://www.linkedin.com/in/michel-lieben" }, "enrichment_level": "partial" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Reveal started — poll via GET or wait for webhook | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `status` | object | yes | | | `status.code` | number | yes | | | `status.message` | string \| null | no | | | `type` | string | yes | | | `data` | object | yes | | | `data.id` | number | yes | | | `data.status` | string | yes | | | `data.is_complete` | boolean | yes | | Example response: ```json { "status": { "code": 0, "message": "string" }, "type": "string", "data": { "id": 0, "status": "string", "is_complete": false } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/wiza?ep=post:/v1/wiza/individual-reveals # Get Individual Reveal — `GET /v1/wiza/individual-reveals/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Wiza - **Endpoint**: `GET https://api.coldiq.com/v1/wiza/individual-reveals/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve enriched contact data and processing status. Returns stored results instantly for completed reveals, or proxies to Wiza for in-progress ones. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/wiza/individual-reveals/12345" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Reveal result | | `202` | Reveal still in progress | | `404` | Reveal not found | | `410` | Reveal expired — credits refunded, please resubmit | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `status` | object | yes | | | `status.code` | number | yes | | | `status.message` | string \| null | no | | | `type` | string | no | | | `data` | object \| null | no | | | `data.id` | number | no | | | `data.status` | string | no | | | `data.is_complete` | boolean | no | | | `data.email` | string \| null | no | | | `data.email_type` | string \| null | no | | | `data.email_status` | string \| null | no | | | `data.phone` | string \| null | no | | | `data.full_name` | string \| null | no | | | `data.title` | string \| null | no | | | `data.linkedin_url` | string \| null | no | | | `data.company` | any \| null | no | | | `data.location` | any \| null | no | | | `data.credits` | object \| null | no | | | `data.credits.email_credits` | number \| string (enum) | no | | | `data.credits.phone_credits` | number \| string (enum) | no | | | `data.credits.linkedin_credits` | number | no | (min 0) | | `data.credits.api_credits` | any \| null | no | | Example response: ```json { "status": { "code": 0, "message": "string" }, "type": "string", "data": { "id": 0, "status": "string", "is_complete": false, "email": "string", "email_type": "string", "email_status": "string", "phone": "string", "full_name": "string", "title": "string", "linkedin_url": "string", "company": null, "location": null, "credits": { "email_credits": null, "phone_credits": null, "linkedin_credits": 0, "api_credits": null } } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/wiza?ep=get:/v1/wiza/individual-reveals/{id} # Create List — `POST /v1/wiza/lists` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Wiza - **Endpoint**: `POST https://api.coldiq.com/v1/wiza/lists` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Bulk enrich up to 2,500 contacts. Returns immediately with a list ID — results are delivered asynchronously via webhook. Credits reserved upfront based on item count × enrichment level cost. Credits: variable per contact, charged by which fields you request (none, partial, phone, full). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `list` | object | yes | | | `list.name` | string | yes | | | `list.enrichment_level` | string (enum) | yes | (one of: none, partial, phone, full) | | `list.email_options` | object | yes | | | `list.email_options.accept_work` | boolean | yes | | | `list.email_options.accept_personal` | boolean | yes | | | `list.email_options.accept_generic` | boolean | yes | | | `list.items` | array | yes | Up to 500 contacts per list | | `list.items[].profile_url` | string | no | (format uri) | | `list.items[].full_name` | string | no | | | `list.items[].domain` | string | no | | | `list.items[].company` | string | no | | | `list.items[].email` | string | no | (format email) | | `list.callback_url` | string | no | Webhook URL for list completion (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/wiza/lists" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"list":{"name":"ColdIQ prospects batch","enrichment_level":"partial","email_options":{"accept_work":true,"accept_personal":false,"accept_generic":false},"items":[{"profile_url":"https://www.linkedin.com/in/michel-lieben"}]}}' ``` Request body: ```json { "list": { "name": "ColdIQ prospects batch", "enrichment_level": "partial", "email_options": { "accept_work": true, "accept_personal": false, "accept_generic": false }, "items": [ { "profile_url": "https://www.linkedin.com/in/michel-lieben" } ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | List created — poll via GET or wait for webhook | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `status` | object | yes | | | `status.code` | number | yes | | | `status.message` | string \| null | no | | | `type` | string | yes | | | `data` | object | yes | | | `data.id` | number | yes | | | `data.name` | string | no | | | `data.status` | string | yes | | | `data.stats` | object | no | | | `data.stats.people` | number | no | | | `data.stats.credits` | object | no | | | `data.stats.credits.email_credits` | number | no | (min 0) | | `data.stats.credits.phone_credits` | number | no | (min 0) | | `data.stats.credits.export_credits` | number | no | (min 0) | | `data.enrichment_level` | string | no | | | `data.created_at` | string | no | | | `data.finished_at` | string | no | | Example response: ```json { "status": { "code": 0, "message": "string" }, "type": "string", "data": { "id": 0, "name": "string", "status": "string", "stats": { "people": 0, "credits": { "email_credits": 0, "phone_credits": 0, "export_credits": 0 } }, "enrichment_level": "string", "created_at": "string", "finished_at": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/wiza?ep=post:/v1/wiza/lists # Get List — `GET /v1/wiza/lists/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Wiza - **Endpoint**: `GET https://api.coldiq.com/v1/wiza/lists/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve list status and details by ID. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/wiza/lists/12345" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | List status | | `202` | List still processing | | `404` | List not found | | `410` | List expired — credits refunded, please resubmit | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `status` | object | yes | | | `status.code` | number | yes | | | `status.message` | string \| null | no | | | `type` | string | yes | | | `data` | object | yes | | | `data.id` | number | yes | | | `data.name` | string | no | | | `data.status` | string | yes | | | `data.stats` | object | no | | | `data.stats.people` | number | no | | | `data.stats.credits` | object | no | | | `data.stats.credits.email_credits` | number | no | (min 0) | | `data.stats.credits.phone_credits` | number | no | (min 0) | | `data.stats.credits.export_credits` | number | no | (min 0) | | `data.enrichment_level` | string | no | | | `data.created_at` | string | no | | | `data.finished_at` | string | no | | Example response: ```json { "status": { "code": 0, "message": "string" }, "type": "string", "data": { "id": 0, "name": "string", "status": "string", "stats": { "people": 0, "credits": { "email_credits": 0, "phone_credits": 0, "export_credits": 0 } }, "enrichment_level": "string", "created_at": "string", "finished_at": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/wiza?ep=get:/v1/wiza/lists/{id} # Get List Contacts — `GET /v1/wiza/lists/{id}/contacts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Wiza - **Endpoint**: `GET https://api.coldiq.com/v1/wiza/lists/{id}/contacts` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Export enriched contacts from a completed list. Use the `segment` query parameter to filter: "people" (all), "valid" (verified emails), or "risky" (risky emails). Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `segment` | string (enum) | yes | (one of: people, valid, risky) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/wiza/lists/12345/contacts?segment=valid" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | List contacts | | `400` | Invalid segment or no contacts | | `401` | Unauthorized | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `status` | object | no | | | `status.code` | number | yes | | | `status.message` | string \| null | no | | | `data` | array | yes | | Example response: ```json { "status": { "code": 0, "message": "string" }, "data": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/wiza?ep=get:/v1/wiza/lists/{id}/contacts # Prospect Search — `POST /v1/wiza/prospects/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Wiza - **Endpoint**: `POST https://api.coldiq.com/v1/wiza/prospects/search` - **Credits**: 17.5 credits per profile - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find prospect count matching filter criteria. This is a preview/count endpoint — no credits charged when size=0. When size>0, Credits: bills only for returned results, per profile; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `filters` | object | yes | | | `filters.first_name` | array | no | | | `filters.first_name[].v` | string | yes | | | `filters.last_name` | array | no | | | `filters.last_name[].v` | string | yes | | | `filters.linkedin_slug` | array | no | | | `filters.linkedin_slug[].v` | string | yes | | | `filters.job_title` | array | no | | | `filters.job_title[].v` | string | yes | | | `filters.job_title_level` | array | no | | | `filters.job_title_level[].v` | string | yes | | | `filters.job_role` | array | no | | | `filters.job_role[].v` | string | yes | | | `filters.job_sub_role` | array | no | | | `filters.job_sub_role[].v` | string | yes | | | `filters.skill` | array | no | | | `filters.skill[].v` | string | yes | | | `filters.school` | array | no | | | `filters.school[].v` | string | yes | | | `filters.major` | array | no | | | `filters.major[].v` | string | yes | | | `filters.job_company` | array | no | | | `filters.job_company[].v` | string | yes | | | `filters.past_company` | array | no | | | `filters.past_company[].v` | string | yes | | | `filters.company_location` | array | no | | | `filters.company_location[].v` | string | yes | | | `filters.company_industry` | array | no | | | `filters.company_industry[].v` | string | yes | | | `filters.company_size` | array | no | | | `filters.company_size[].v` | string | yes | | | `filters.company_type` | array | no | | | `filters.company_type[].v` | string | yes | | | `filters.year_founded_start` | array | no | | | `filters.year_founded_start[].v` | string | yes | | | `filters.year_founded_end` | array | no | | | `filters.year_founded_end[].v` | string | yes | | | `filters.revenue` | array | no | | | `filters.revenue[].v` | string | yes | | | `filters.funding_date` | array | no | | | `filters.funding_date[].v` | string | yes | | | `filters.last_funding_min` | array | no | | | `filters.last_funding_min[].v` | string | yes | | | `filters.last_funding_max` | array | no | | | `filters.last_funding_max[].v` | string | yes | | | `filters.funding_min` | array | no | | | `filters.funding_min[].v` | string | yes | | | `filters.funding_max` | array | no | | | `filters.funding_max[].v` | string | yes | | | `filters.funding_stage` | array | no | | | `filters.funding_stage[].v` | string | yes | | | `filters.funding_type` | array | no | | | `filters.funding_type[].v` | string | yes | | | `filters.company_annual_growth` | array | no | | | `filters.company_annual_growth[].v` | string | yes | | | `filters.location` | array | no | | | `filters.location[].v` | string | yes | | | `filters.department_size` | array | no | | | `filters.department_size[].v` | string | yes | | | `filters.company_summary` | array | no | | | `filters.company_summary[].v` | string | yes | | | `size` | integer | no | Number of preview profiles to return (default 0, max 30) (min 0; max 30) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/wiza/prospects/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filters":{"job_company":[{"v":"ColdIQ"}],"job_title":[{"v":"CEO"}]},"size":5}' ``` Request body: ```json { "filters": { "job_company": [ { "v": "ColdIQ" } ], "job_title": [ { "v": "CEO" } ] }, "size": 5 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search results with count and optional profiles | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `status` | object | no | | | `status.code` | number | yes | | | `status.message` | string \| null | no | | | `data` | object | no | | | `data.total` | number | no | | | `data.profiles` | array | no | | Example response: ```json { "status": { "code": 0, "message": "string" }, "data": { "total": 0, "profiles": [ null ] } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/wiza?ep=post:/v1/wiza/prospects/search # Create Prospect List — `POST /v1/wiza/prospects/create-prospect-list` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Wiza - **Endpoint**: `POST https://api.coldiq.com/v1/wiza/prospects/create-prospect-list` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Generate an enriched list from prospect search filters. Credits reserved upfront based on max_profiles × enrichment level cost. Unused credits refunded when processing completes. Credits: variable per contact, charged by which fields you request (none, partial, phone, full). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `list` | object | yes | | | `list.name` | string | yes | | | `list.max_profiles` | integer | yes | (min 1; max 500) | | `filters` | object | yes | | | `filters.first_name` | array | no | | | `filters.first_name[].v` | string | yes | | | `filters.last_name` | array | no | | | `filters.last_name[].v` | string | yes | | | `filters.linkedin_slug` | array | no | | | `filters.linkedin_slug[].v` | string | yes | | | `filters.job_title` | array | no | | | `filters.job_title[].v` | string | yes | | | `filters.job_title_level` | array | no | | | `filters.job_title_level[].v` | string | yes | | | `filters.job_role` | array | no | | | `filters.job_role[].v` | string | yes | | | `filters.job_sub_role` | array | no | | | `filters.job_sub_role[].v` | string | yes | | | `filters.skill` | array | no | | | `filters.skill[].v` | string | yes | | | `filters.school` | array | no | | | `filters.school[].v` | string | yes | | | `filters.major` | array | no | | | `filters.major[].v` | string | yes | | | `filters.job_company` | array | no | | | `filters.job_company[].v` | string | yes | | | `filters.past_company` | array | no | | | `filters.past_company[].v` | string | yes | | | `filters.company_location` | array | no | | | `filters.company_location[].v` | string | yes | | | `filters.company_industry` | array | no | | | `filters.company_industry[].v` | string | yes | | | `filters.company_size` | array | no | | | `filters.company_size[].v` | string | yes | | | `filters.company_type` | array | no | | | `filters.company_type[].v` | string | yes | | | `filters.year_founded_start` | array | no | | | `filters.year_founded_start[].v` | string | yes | | | `filters.year_founded_end` | array | no | | | `filters.year_founded_end[].v` | string | yes | | | `filters.revenue` | array | no | | | `filters.revenue[].v` | string | yes | | | `filters.funding_date` | array | no | | | `filters.funding_date[].v` | string | yes | | | `filters.last_funding_min` | array | no | | | `filters.last_funding_min[].v` | string | yes | | | `filters.last_funding_max` | array | no | | | `filters.last_funding_max[].v` | string | yes | | | `filters.funding_min` | array | no | | | `filters.funding_min[].v` | string | yes | | | `filters.funding_max` | array | no | | | `filters.funding_max[].v` | string | yes | | | `filters.funding_stage` | array | no | | | `filters.funding_stage[].v` | string | yes | | | `filters.funding_type` | array | no | | | `filters.funding_type[].v` | string | yes | | | `filters.company_annual_growth` | array | no | | | `filters.company_annual_growth[].v` | string | yes | | | `filters.location` | array | no | | | `filters.location[].v` | string | yes | | | `filters.department_size` | array | no | | | `filters.department_size[].v` | string | yes | | | `filters.company_summary` | array | no | | | `filters.company_summary[].v` | string | yes | | | `enrichment_level` | string (enum) | no | Default: partial (one of: none, partial, phone, full) | | `email_options` | object | no | | | `email_options.accept_work` | boolean | no | | | `email_options.accept_personal` | boolean | no | | | `email_options.accept_generic` | boolean | no | | | `skip_duplicates` | boolean | no | | | `callback_url` | string | no | (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/wiza/prospects/create-prospect-list" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"list":{"name":"ColdIQ CEO prospects","max_profiles":100},"filters":{"job_company":[{"v":"ColdIQ"}],"job_title":[{"v":"CEO"}]},"enrichment_level":"partial"}' ``` Request body: ```json { "list": { "name": "ColdIQ CEO prospects", "max_profiles": 100 }, "filters": { "job_company": [ { "v": "ColdIQ" } ], "job_title": [ { "v": "CEO" } ] }, "enrichment_level": "partial" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Prospect list created | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `status` | object | yes | | | `status.code` | number | yes | | | `status.message` | string \| null | no | | | `type` | string | yes | | | `data` | object | yes | | | `data.id` | number | yes | | | `data.name` | string | no | | | `data.status` | string | yes | | | `data.stats` | object | no | | | `data.stats.people` | number | no | | | `data.stats.credits` | object | no | | | `data.stats.credits.email_credits` | number | no | (min 0) | | `data.stats.credits.phone_credits` | number | no | (min 0) | | `data.stats.credits.export_credits` | number | no | (min 0) | | `data.enrichment_level` | string | no | | | `data.created_at` | string | no | | | `data.finished_at` | string | no | | Example response: ```json { "status": { "code": 0, "message": "string" }, "type": "string", "data": { "id": 0, "name": "string", "status": "string", "stats": { "people": 0, "credits": { "email_credits": 0, "phone_credits": 0, "export_credits": 0 } }, "enrichment_level": "string", "created_at": "string", "finished_at": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/wiza?ep=post:/v1/wiza/prospects/create-prospect-list # Continue Prospect Search — `POST /v1/wiza/prospects/continue-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Wiza - **Endpoint**: `POST https://api.coldiq.com/v1/wiza/prospects/continue-search` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Continue fetching additional results from an existing prospect list. Credits reserved based on max_profiles × enrichment level cost. Credits: variable per contact, charged by which fields you request (none, partial, phone, full). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer | yes | ID of the list to continue searching | | `max_profiles` | integer | no | (min 1; max 500) | | `enrichment_level` | string (enum) | no | Enrichment depth for cost calculation. Defaults to partial if omitted. (one of: none, partial, phone, full) | | `callback_url` | string | no | (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/wiza/prospects/continue-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"id":12345,"max_profiles":100}' ``` Request body: ```json { "id": 12345, "max_profiles": 100 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search continued | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `status` | object | yes | | | `status.code` | number | yes | | | `status.message` | string \| null | no | | | `type` | string | yes | | | `data` | object | yes | | | `data.id` | number | yes | | | `data.name` | string | no | | | `data.status` | string | yes | | | `data.stats` | object | no | | | `data.stats.people` | number | no | | | `data.stats.credits` | object | no | | | `data.stats.credits.email_credits` | number | no | (min 0) | | `data.stats.credits.phone_credits` | number | no | (min 0) | | `data.stats.credits.export_credits` | number | no | (min 0) | | `data.enrichment_level` | string | no | | | `data.created_at` | string | no | | | `data.finished_at` | string | no | | Example response: ```json { "status": { "code": 0, "message": "string" }, "type": "string", "data": { "id": 0, "name": "string", "status": "string", "stats": { "people": 0, "credits": { "email_credits": 0, "phone_credits": 0, "export_credits": 0 } }, "enrichment_level": "string", "created_at": "string", "finished_at": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/wiza?ep=post:/v1/wiza/prospects/continue-search # Company Enrichment — `POST /v1/wiza/company-enrichments` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Wiza - **Endpoint**: `POST https://api.coldiq.com/v1/wiza/company-enrichments` - **Credits**: 35 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich company data by name, domain, or LinkedIn identifier. Rate limit: 30 requests/minute. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/company/enrich` (Enrich Company) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_name` | string | no | | | `company_domain` | string | no | | | `company_linkedin_id` | string | no | | | `company_linkedin_slug` | string | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/wiza/company-enrichments" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"coldiq.com"}' ``` Request body: ```json { "company_domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Company data | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `status` | object | no | | | `status.code` | number | yes | | | `status.message` | string \| null | no | | | `data` | object | yes | | | `data.industry` | string | no | | | `data.size` | string | no | | | `data.revenue` | string | no | | | `data.founded_year` | number | no | | | `data.description` | string | no | | | `data.domain` | string | no | | | `data.linkedin_url` | string | no | | | `data.type` | string | no | | | `data.location` | any \| null | no | | | `data.twitter_url` | string | no | | | `data.facebook_url` | string | no | | | `data.ticker` | string | no | | Example response: ```json { "status": { "code": 0, "message": "string" }, "data": { "industry": "string", "size": "string", "revenue": "string", "founded_year": 0, "description": "string", "domain": "string", "linkedin_url": "string", "type": "string", "location": null, "twitter_url": "string", "facebook_url": "string", "ticker": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/wiza?ep=post:/v1/wiza/company-enrichments # Get Credits — `GET /v1/wiza/meta/credits` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Wiza - **Endpoint**: `GET https://api.coldiq.com/v1/wiza/meta/credits` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve your Wiza account credit balance. No credits charged. Credits: free. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/wiza/meta/credits" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Credit balance | | `401` | Unauthorized | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `credits` | object | yes | | | `credits.email_credits` | number \| string (enum) | yes | | | `credits.phone_credits` | number \| string (enum) | yes | | | `credits.export_credits` | number | yes | | | `credits.api_credits` | number | yes | | Example response: ```json { "credits": { "email_credits": null, "phone_credits": null, "export_credits": 0, "api_credits": 0 } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/wiza?ep=get:/v1/wiza/meta/credits # Provider: Jina # Read URL — `POST /v1/jina/reader` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jina - **Endpoint**: `POST https://api.coldiq.com/v1/jina/reader` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch any URL and convert it to clean, LLM-ready markdown. Handles JavaScript-rendered pages, PDFs, and complex layouts. Usage-based: a temporary hold is reserved up front; the final charge equals Jina-reported token usage. Credits: variable per token used, charged by which fields you request (token). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | URL of the page to read and convert to markdown. (format uri) | | `targetSelector` | string \| null | no | CSS selector to extract only matching content. | | `removeSelector` | string \| null | no | CSS selector for elements to strip before conversion. | | `waitForSelector` | string \| null | no | CSS selector to wait for before reading the page. | | `withGeneratedAlt` | boolean | no | Auto-generate alt text for images via a vision model. | | `withImagesSummary` | boolean | no | Append an image summary section to the output. | | `withLinksSummary` | boolean | no | Append a links summary section to the output. | | `timeout` | integer | no | Page load timeout in seconds (1–180). (min 1; max 180) | | `noCache` | boolean | no | Bypass Jina's internal 5-minute URL cache. | | `tokenBudget` | integer | no | Reject the request if the extracted output exceeds this token budget (1–300,000). Defaults to 100,000. (min 1; max 300000) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/jina/reader" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://coldiq.com","withLinksSummary":true}' ``` Request body: ```json { "url": "https://coldiq.com", "withLinksSummary": true } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jina?ep=post:/v1/jina/reader # Search — `POST /v1/jina/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jina - **Endpoint**: `POST https://api.coldiq.com/v1/jina/search` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Run a web search and return results as structured markdown, ready for LLM consumption. Usage-based: a temporary hold is reserved up front; the final charge equals Jina-reported token usage. Credits: variable per token used, charged by which fields you request (token). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/web/search` (Web Search) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `q` | string | yes | Search query. | | `count` | integer | no | Number of results to return (1–20, default 5). (min 1; max 20) | | `page` | integer | no | Pagination page (default 1). (min 1) | | `type` | string (enum) | no | Result type: 'web' (default), 'images', or 'news'. (one of: web, images, news) | | `gl` | string \| null | no | Geographic location — ISO 3166-1 alpha-2 country code (e.g. "us", "gb"). | | `hl` | string \| null | no | Interface language — ISO 639-1 code (e.g. "en", "fr"). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/jina/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q":"ColdIQ AI sales tools","count":5,"gl":"us"}' ``` Request body: ```json { "q": "ColdIQ AI sales tools", "count": 5, "gl": "us" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jina?ep=post:/v1/jina/search # Rerank documents — `POST /v1/jina/rerank` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jina - **Endpoint**: `POST https://api.coldiq.com/v1/jina/rerank` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Rerank a list of documents by relevance to a query. Returns documents ordered by relevance score. Usage-based: a temporary hold is reserved up front; the final charge equals Jina-reported token usage. Credits: variable per token used, charged by which fields you request (token). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `model` | string (enum) | yes | Reranker model to use. (one of: jina-reranker-v2-base-multilingual, jina-reranker-v1-base-en, jina-reranker-v1-tiny-en, jina-reranker-v1-turbo-en, jina-colbert-v2, jina-reranker-v3) | | `query` | string | yes | Search query to rank documents against. | | `documents` | array | yes | List of document strings to rerank. | | `top_n` | integer | no | Return only the top N ranked documents. (min 1) | | `return_documents` | boolean | no | Include document text in the response (default true). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/jina/rerank" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"jina-reranker-v2-base-multilingual","query":"AI-powered sales automation tools","documents":["ColdIQ is an AI-native sales intelligence platform","Microsoft Office is a productivity suite","Cold email outreach with AI personalization"],"top_n":2}' ``` Request body: ```json { "model": "jina-reranker-v2-base-multilingual", "query": "AI-powered sales automation tools", "documents": [ "ColdIQ is an AI-native sales intelligence platform", "Microsoft Office is a productivity suite", "Cold email outreach with AI personalization" ], "top_n": 2 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jina?ep=post:/v1/jina/rerank # Classify text — `POST /v1/jina/classify` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jina - **Endpoint**: `POST https://api.coldiq.com/v1/jina/classify` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Zero-shot text classification — assign input texts to the most relevant labels without any training data. Usage-based: a temporary hold is reserved up front; the final charge equals Jina-reported token usage. Credits: variable per token used, charged by which fields you request (token). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `model` | string (enum) | yes | Model to use for zero-shot classification. (one of: jina-embeddings-v3, jina-embeddings-v2-base-en, jina-clip-v2) | | `input` | array | yes | Array of text strings to classify. | | `labels` | array | yes | Array of candidate label strings (2–512). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/jina/classify" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"jina-embeddings-v3","input":["We are looking for a CRM that integrates with our outreach stack","Quarterly earnings call next Friday"],"labels":["sales inquiry","customer support","internal meeting","product feedback"]}' ``` Request body: ```json { "model": "jina-embeddings-v3", "input": [ "We are looking for a CRM that integrates with our outreach stack", "Quarterly earnings call next Friday" ], "labels": [ "sales inquiry", "customer support", "internal meeting", "product feedback" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jina?ep=post:/v1/jina/classify # Ground a statement — `POST /v1/jina/grounding` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jina - **Endpoint**: `POST https://api.coldiq.com/v1/jina/grounding` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fact-check a claim against real-time web data. Returns a factuality score (0–1), a boolean verdict, a reasoning explanation, and up to 30 cited sources. Typical latency ~30 seconds. Usage-based: a temporary hold is reserved up front; the final charge equals Jina-reported token usage. Credits: variable per token used, charged by which fields you request (token). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `statement` | string | yes | The claim or assertion to fact-check against real-time web data. | | `references` | array \| null | no | Optional list of specific URLs to use as grounding sources. If omitted, Jina searches the open web. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/jina/grounding" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"statement":"ColdIQ was founded by Michel Lieben and is focused on AI-powered sales tools."}' ``` Request body: ```json { "statement": "ColdIQ was founded by Michel Lieben and is focused on AI-powered sales tools." } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jina?ep=post:/v1/jina/grounding # Tokenize and segment text — `POST /v1/jina/segment` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jina - **Endpoint**: `POST https://api.coldiq.com/v1/jina/segment` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Tokenize text and optionally split it into semantically meaningful chunks. Supports 100+ languages and multiple tokenizer formats. Useful for token counting and RAG chunking pipelines. Free. Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `content` | string | yes | Text to tokenize or segment (max 64,000 characters). | | `tokenizer` | string (enum) | no | Tokenizer to use (default: 'cl100k_base'). cl100k_base = GPT-4/3.5, o200k_base = GPT-4o. (one of: cl100k_base, o200k_base, p50k_base, r50k_base, p50k_edit, gpt2) | | `return_tokens` | boolean | no | Include token IDs and values in the response. | | `return_chunks` | boolean | no | Segment the text into semantically meaningful chunks. | | `max_chunk_length` | integer | no | Maximum characters per chunk (default 1000). Actual chunks may be smaller at text boundaries. (min 1) | | `head` | integer | no | Return only the first N tokens. Cannot be used with tail. (min 1) | | `tail` | integer | no | Return only the last N tokens. Cannot be used with head. (min 1) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/jina/segment" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"content":"ColdIQ is an AI-native sales intelligence platform founded by Michel Lieben. It helps sales teams automate outreach and enrich prospect data at scale.","tokenizer":"cl100k_base","return_chunks":true,"max_chunk_length":512}' ``` Request body: ```json { "content": "ColdIQ is an AI-native sales intelligence platform founded by Michel Lieben. It helps sales teams automate outreach and enrich prospect data at scale.", "tokenizer": "cl100k_base", "return_chunks": true, "max_chunk_length": 512 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jina?ep=post:/v1/jina/segment # DeepSearch — `POST /v1/jina/deepsearch` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jina - **Endpoint**: `POST https://api.coldiq.com/v1/jina/deepsearch` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Multi-step reasoning engine that iteratively searches the web, reads sources, and synthesizes a cited answer. OpenAI-compatible message format. Supports streaming via SSE. Typical latency 20–120 seconds. Usage-based: a temporary hold is reserved up front; the final charge equals Jina-reported token usage. Credits: variable per token used, charged by which fields you request (token). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `messages` | array | yes | Conversation messages (OpenAI schema). The last user message is the query to research. | | `messages[].role` | string (enum) | yes | Message author role. (one of: user, assistant) | | `messages[].content` | string | yes | Message text. | | `reasoning_effort` | string (enum) | no | Search depth preset. 'low' = 300K tokens, 'medium' = 750K tokens, 'high' = 1.5M tokens. (one of: low, medium, high) | | `budget_tokens` | integer | no | Advisory reasoning budget. This is not a hard usage cap; billing reservation follows reasoning_effort. (min 1) | | `max_attempts` | integer | no | Max retry attempts for quality checks before returning the best answer found. (min 1) | | `boost_hostnames` | array \| null | no | Domains to prioritize when retrieving content (e.g. ["arxiv.org", "techcrunch.com"]). | | `bad_hostnames` | array \| null | no | Domains to exclude entirely from search and retrieval. | | `only_hostnames` | array \| null | no | Restrict all search results to only these domains. | | `max_returned_urls` | integer | no | Maximum number of source URLs to include in the final answer (default 100, sorted by relevance). (min 1) | | `search_provider` | string (enum) | no | Search engine to use (default: 'jina'). Use 'arxiv' for academic-only queries. (one of: jina, brave, serper, duck, arxiv) | | `stream` | boolean | no | Stream reasoning steps and the final answer via Server-Sent Events. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/jina/deepsearch" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"messages":[{"role":"user","content":"What are the most effective AI-powered outreach tools for B2B sales in 2026?"}],"reasoning_effort":"medium","boost_hostnames":["coldiq.com"]}' ``` Request body: ```json { "messages": [ { "role": "user", "content": "What are the most effective AI-powered outreach tools for B2B sales in 2026?" } ], "reasoning_effort": "medium", "boost_hostnames": [ "coldiq.com" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jina?ep=post:/v1/jina/deepsearch # Provider: Twitter # Scrape tweets by keyword, handle, URL, or conversation ID. — `POST /v1/twitter/tweet-scraper/scrape` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Twitter - **Endpoint**: `POST https://api.coldiq.com/v1/twitter/tweet-scraper/scrape` - **Credits**: 0.084 credits per tweet - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Start an async job to search and scrape tweets. Returns a `jobId` immediately — poll `GET /twitter/tweet-scraper/scrape/{jobId}` for results. Billed at 1 credit per tweet returned, reserved upfront based on `maxItems` (default 100, max 500). Credits: bills only for returned results, per tweet; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `startUrls` | array | no | Twitter (X) URLs to scrape. Tweet, Profile, Search, or List URLs are supported. Max 25 entries. | | `searchTerms` | array | no | Search terms to query on Twitter (X). Supports advanced search operators. Max 25 entries. | | `twitterHandles` | array | no | Twitter handles whose tweets you want to retrieve (without @). Max 25 entries. | | `conversationIds` | array | no | Conversation IDs (numeric tweet IDs) whose threads you want to retrieve. Max 25 entries. | | `maxItems` | integer | no | Maximum number of tweets to return (1–500). Determines credits reserved upfront. Defaults to 100. (min 1; max 500) | | `sort` | string (enum) | no | Sort order. 'Latest + Top' runs both simultaneously to maximise results but may include duplicates. (one of: Top, Latest, Latest + Top) | | `tweetLanguage` | string (enum) | no | Restrict results to tweets in this language (ISO 639-1 code). (one of: ab, aa, af, ak, sq, am, ar, an, hy, as, av, ae, ay, az, bm, ba, eu, be, bn, bi, bs, br, bg, my, ca, ch, ce, ny, zh, cu, cv, kw, co, cr, hr, cs, da, dv, nl, dz, en, eo, et, ee, fo, fj, fi, fr, fy, ff, gd, gl, lg, ka, de, el, kl, gn, gu, ht, ha, he, hz, hi, ho, hu, is, io, ig, id, ia, ie, iu, ik, ga, it, ja, jv, kn, kr, ks, kk, km, ki, rw, ky, kv, kg, ko, kj, ku, lo, la, lv, li, ln, lt, lu, lb, mk, mg, ms, ml, mt, gv, mi, mr, mh, mn, na, nv, nd, nr, ng, ne, no, nb, nn, ii, oc, oj, or, om, os, pi, ps, fa, pl, pt, pa, qu, ro, rm, rn, ru, se, sm, sg, sa, sc, sr, sn, sd, si, sk, sl, so, st, es, su, sw, ss, sv, tl, ty, tg, ta, tt, te, th, bo, ti, to, ts, tn, tr, tk, tw, ug, uk, ur, uz, ve, vi, vo, wa, cy, wo, xh, yi, yo, za, zu) | | `onlyVerifiedUsers` | boolean | no | Return only tweets from verified (blue-check) accounts. | | `onlyTwitterBlue` | boolean | no | Return only tweets from Twitter Blue subscribers. | | `onlyImage` | boolean | no | Return only tweets that contain images. | | `onlyVideo` | boolean | no | Return only tweets that contain videos. | | `onlyQuote` | boolean | no | Return only quote tweets. | | `author` | string | no | Return only tweets sent by this handle (e.g. "MichelLieben", without @). | | `inReplyTo` | string | no | Return only tweets that are replies to this handle. | | `mentioning` | string | no | Return only tweets mentioning this handle. | | `geotaggedNear` | string | no | Return only tweets geotagged near this location (e.g. "New York, NY"). | | `withinRadius` | string | no | Restrict geo results to within this radius (e.g. "15mi"). Use together with geotaggedNear. | | `geocode` | string | no | Return tweets from users within radius of latitude/longitude (e.g. "48.8566,2.3522,10km"). | | `placeObjectId` | string | no | Return only tweets tagged with this place ID. | | `minimumRetweets` | integer | no | Return only tweets with at least this many retweets. (min 0) | | `minimumFavorites` | integer | no | Return only tweets with at least this many likes. (min 0) | | `minimumReplies` | integer | no | Return only tweets with at least this many replies. (min 0) | | `start` | string | no | Return only tweets sent after this date (YYYY-MM-DD). (format date) | | `end` | string | no | Return only tweets sent before this date (YYYY-MM-DD). (format date) | | `includeSearchTerms` | boolean | no | Add a searchTerm field to each tweet indicating the search term that matched it. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/twitter/tweet-scraper/scrape" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"searchTerms":["ColdIQ","Michel Lieben coldiq.com"],"maxItems":20,"sort":"Latest","tweetLanguage":"en","minimumFavorites":5}' ``` Request body: ```json { "searchTerms": [ "ColdIQ", "Michel Lieben coldiq.com" ], "maxItems": 20, "sort": "Latest", "tweetLanguage": "en", "minimumFavorites": 5 } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted. Poll the returned `jobId` for results. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | Poll this ID via GET /twitter/tweet-scraper/scrape/{jobId} to retrieve results. | | `status` | string (enum) | yes | (one of: processing) | Example response: ```json { "jobId": 0, "status": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/twitter?ep=post:/v1/twitter/tweet-scraper/scrape # Get tweet scraper job result — `GET /v1/twitter/tweet-scraper/scrape/{jobId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Twitter - **Endpoint**: `GET https://api.coldiq.com/v1/twitter/tweet-scraper/scrape/{jobId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status of a tweet scraping job. Returns `202` while in progress, `200` with results when done. Completed results are cached — repeated calls are free and instant. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | (min 0; max 2147483647) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/twitter/tweet-scraper/scrape/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job status. When `status` is `done`, `tweets` contains the scraped data. | | `202` | Job is still running — poll again shortly. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Job not found | | `410` | Job expired — credits refunded | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | | | `status` | string (enum) | yes | (one of: processing, done, failed, timed_out) | | `tweets` | array | no | Present only when status is "done". | | `error` | string | no | Present only when status is "failed" or "timed_out". | Example response: ```json { "jobId": 0, "status": "string", "tweets": [ null ], "error": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/twitter?ep=get:/v1/twitter/tweet-scraper/scrape/{jobId} # Provider: Google Maps # Scrape Google Maps reviews — `POST /v1/google-maps/reviews` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Google Maps - **Endpoint**: `POST https://api.coldiq.com/v1/google-maps/reviews` - **Credits**: 0.084 credits per review - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Start an async job to extract reviews from one or more Google Maps place URLs. Returns a `jobId` immediately — poll `GET /google-maps/reviews/{jobId}` for results. Credits are reserved upfront (1 per `maxReviews` × number of URLs) and the unused portion is refunded when results arrive. Credits: bills only for returned results, per review; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/places/reviews` (Get Place Reviews) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `startUrls` | array | yes | One or more Google Maps place URLs to scrape reviews from (max 10). | | `startUrls[].url` | string | yes | Google Maps place URL (must contain /maps/place, /maps/search, or /maps/reviews). (format uri) | | `maxReviews` | integer | no | Maximum number of reviews to scrape per place (default 5, max 300). (min 1; max 300) | | `reviewsSort` | string (enum) | no | Sort order for reviews. 'mostRelevant' (default), 'newest', 'highestRanking', or 'lowestRanking'. (one of: mostRelevant, newest, highestRanking, lowestRanking) | | `language` | string | no | ISO 639-1 language code to filter reviews by language (e.g. 'en', 'fr'). | | `personalDataOptions` | object | no | Control which personal data fields are included in each review record. | | `personalDataOptions.scrapeReviewerName` | boolean | no | Include the reviewer display name in results (default true). | | `personalDataOptions.scrapeReviewerUrl` | boolean | no | Include the reviewer profile URL in results (default true). | | `personalDataOptions.scrapeReviewId` | boolean | no | Include the unique review ID in results (default true). | | `personalDataOptions.scrapeReviewUrl` | boolean | no | Include the direct URL to each review in results (default true). | | `personalDataOptions.scrapeResponseFromOwnerText` | boolean | no | Include the owner's response text in results (default true). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/google-maps/reviews" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"startUrls":[{"url":"https://www.google.com/maps/search/ColdIQ+Brussels+Belgium"}],"maxReviews":10,"reviewsSort":"newest","language":"en"}' ``` Request body: ```json { "startUrls": [ { "url": "https://www.google.com/maps/search/ColdIQ+Brussels+Belgium" } ], "maxReviews": 10, "reviewsSort": "newest", "language": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted. Poll the returned `jobId` for results. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | Poll this ID via GET /google-maps/reviews/{jobId} to retrieve results. | | `status` | string (enum) | yes | (one of: processing) | Example response: ```json { "jobId": 0, "status": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/google-maps?ep=post:/v1/google-maps/reviews # Get Google Maps reviews job result — `GET /v1/google-maps/reviews/{jobId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Google Maps - **Endpoint**: `GET https://api.coldiq.com/v1/google-maps/reviews/{jobId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status of a reviews scraping job. Returns `202` while in progress, `200` with results when done. Completed results are cached — repeated calls are free and instant. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | (min 0; max 2147483647) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/google-maps/reviews/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job status. When `status` is `done`, `reviews` contains the scraped data. | | `202` | Job is still running — poll again shortly. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Job not found | | `410` | Job expired — credits refunded | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | | | `status` | string (enum) | yes | (one of: processing, done, failed, timed_out) | | `reviews` | array | no | Present only when status is "done". | | `error` | string | no | Present only when status is "failed" or "timed_out". | Example response: ```json { "jobId": 0, "status": "string", "reviews": [ null ], "error": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/google-maps?ep=get:/v1/google-maps/reviews/{jobId} # Google Maps Scraper — `POST /v1/google-maps/scraper` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Google Maps - **Endpoint**: `POST https://api.coldiq.com/v1/google-maps/scraper` - **Credits**: 0.084 credits per place - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Start an async job to extract places from Google Maps using search terms or direct URLs. Returns a `jobId` immediately — poll `GET /google-maps/scraper/{jobId}` for results. Credits are reserved upfront (1 per `maxCrawledPlacesPerSearch` × number of inputs) and the unused portion is refunded when results arrive. Credits: bills only for returned results, per place; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/places/search` (Search Places) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `searchStringsArray` | array | no | Search terms as you would type them in Google Maps (e.g. "coffee shop New York"). Max 10 terms per call. | | `startUrls` | array | no | Google Maps URLs to scrape directly (must contain /maps/search or /maps/place, max 10). | | `startUrls[].url` | string | yes | Google Maps place URL (must contain /maps/place, /maps/search, or /maps/reviews). (format uri) | | `maxCrawledPlacesPerSearch` | integer | no | Maximum number of places to return per search term or URL (default 10, max 200). (min 1; max 200) | | `countryCode` | string | no | ISO country code to restrict the search (e.g. "us", "de"). Increases result cap when combined with city. | | `city` | string | no | City to restrict the search (e.g. "New York"). | | `language` | string | no | ISO 639-1 language code for result details (e.g. 'en', 'fr'). | | `includeOpeningHours` | boolean | no | Include opening hours per place (slows scraping, default false). | | `additionalInfo` | boolean | no | Include additional place attributes — service options, highlights, offerings, etc. (default false). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/google-maps/scraper" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"searchStringsArray":["B2B SaaS companies Brussels"],"maxCrawledPlacesPerSearch":20,"countryCode":"be","city":"Brussels","language":"en"}' ``` Request body: ```json { "searchStringsArray": [ "B2B SaaS companies Brussels" ], "maxCrawledPlacesPerSearch": 20, "countryCode": "be", "city": "Brussels", "language": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted. Poll the returned `jobId` for results. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | Poll this ID via GET /google-maps/scraper/{jobId} to retrieve results. | | `status` | string (enum) | yes | (one of: processing) | Example response: ```json { "jobId": 0, "status": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/google-maps?ep=post:/v1/google-maps/scraper # Get Google Maps Scraper job result — `GET /v1/google-maps/scraper/{jobId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Google Maps - **Endpoint**: `GET https://api.coldiq.com/v1/google-maps/scraper/{jobId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status of a places scraping job. Returns `202` while in progress, `200` with results when done. Completed results are cached — repeated calls are free and instant. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | (min 0; max 2147483647) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/google-maps/scraper/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job status. When `status` is `done`, `places` contains the scraped data. | | `202` | Job is still running — poll again shortly. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Job not found | | `410` | Job expired — credits refunded | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | | | `status` | string (enum) | yes | (one of: processing, done, failed, timed_out) | | `places` | array | no | Present only when status is "done". | | `error` | string | no | Present only when status is "failed" or "timed_out". | Example response: ```json { "jobId": 0, "status": "string", "places": [ null ], "error": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/google-maps?ep=get:/v1/google-maps/scraper/{jobId} # Provider: Reddit # Reddit Scraper — `POST /v1/reddit/scrape` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Reddit - **Endpoint**: `POST https://api.coldiq.com/v1/reddit/scrape` - **Credits**: 0.16 credits per item - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Start an async job to scrape Reddit posts, comments, communities, or users by subreddit URL, post URL, user URL, or search query. Returns a `jobId` immediately — poll `GET /reddit/scrape/{jobId}` for results. Credits are reserved upfront based on `maxItems` (default 10) and settled to the actual count returned. Credits: bills only for returned results, per item; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/reddit/search` (Search Reddit) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `startUrls` | array | no | Reddit URLs to scrape — subreddit, post, user, or search URLs. Maximum 25. | | `startUrls[].url` | string | yes | A Reddit URL (subreddit, post, or search page). (format uri) | | `searchQueries` | array | no | Search queries to run on Reddit. One scrape run is performed per query. Maximum 25. | | `searchType` | string (enum) \| null | no | What the search queries return: posts, comments, communities, or users. Defaults to "posts". (one of: posts, comments, communities, users, ) | | `searchCommunityName` | string | no | Restrict search queries to a single community (e.g. "sales"). Applies to searchQueries only. | | `sort` | string (enum) \| null | no | Sort order applied to results. (one of: relevance, hot, top, new, rising, comments, ) | | `time` | string (enum) \| null | no | Time filter for results. Only applies when sort is "top" or "relevance". (one of: hour, day, week, month, year, all, ) | | `maxItems` | integer | no | Maximum number of items (posts, comments, communities, or users) to return (1–200). Defaults to 10. Credits are reserved upfront based on this value and settled to the actual count returned. (min 1; max 200) | | `maxComments` | integer | no | Maximum number of comments to fetch per post (only when comments are included). Set 0 to skip comment scraping entirely. Maximum 1000. (min 0; max 1000) | | `includeComments` | boolean | no | When true, includes top-level comments alongside each post. | | `postDateLimit` | string | no | Only return posts published on or after this date (ISO 8601, e.g. "2025-01-01"). | | `commentDateLimit` | string | no | Only return comments published on or after this date (ISO 8601, e.g. "2025-01-01"). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/reddit/scrape" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"startUrls":[{"url":"https://www.reddit.com/r/sales/"}],"searchType":"posts","sort":"hot","maxItems":10}' ``` Request body: ```json { "startUrls": [ { "url": "https://www.reddit.com/r/sales/" } ], "searchType": "posts", "sort": "hot", "maxItems": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted. Poll the returned `jobId` for results. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | Poll this ID via GET /reddit/scrape/{jobId} to retrieve results. | | `status` | string (enum) | yes | (one of: processing) | Example response: ```json { "jobId": 0, "status": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/reddit?ep=post:/v1/reddit/scrape # Get Reddit scrape job result — `GET /v1/reddit/scrape/{jobId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Reddit - **Endpoint**: `GET https://api.coldiq.com/v1/reddit/scrape/{jobId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status of a Reddit scraping job. Returns `202` while in progress, `200` with results when done. Completed results are cached — repeated calls are free and instant. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | (min 0; max 2147483647) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/reddit/scrape/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job status. When `status` is `done`, `items` contains the scraped data. | | `202` | Job is still running — poll again shortly. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Job not found | | `410` | Job expired — credits refunded | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | | | `status` | string (enum) | yes | (one of: processing, done, failed, timed_out) | | `items` | array | no | Present only when status is "done". | | `error` | string | no | Present only when status is "failed" or "timed_out". | Example response: ```json { "jobId": 0, "status": "string", "items": [ null ], "error": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/reddit?ep=get:/v1/reddit/scrape/{jobId} # Provider: LinkedIn Ad Library # LinkedIn Ad Library Scraper — `POST /v1/linkedin-ad-library/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkedIn Ad Library - **Endpoint**: `POST https://api.coldiq.com/v1/linkedin-ad-library/search` - **Credits**: 0.21 credits per ad - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Start an async job to extract ads from the LinkedIn Ad Library. Returns a `jobId` immediately — poll `GET /linkedin-ad-library/search/{jobId}` for results. Credits: bills only for returned results, per ad; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/ads/search` (Search Ads) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `searchUrls` | array | yes | One or more LinkedIn Ad Library search URLs (max 25). Build these at linkedin.com/ad-library/search using filters like accountOwner, countries, and dateOption. | | `maxResults` | integer \| null | no | Maximum number of ads to return across all search URLs. (min 1) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/linkedin-ad-library/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"searchUrls":["https://www.linkedin.com/ad-library/search?accountOwner=nvidia&countries=BR&dateOption=last-30-days"],"maxResults":50}' ``` Request body: ```json { "searchUrls": [ "https://www.linkedin.com/ad-library/search?accountOwner=nvidia&countries=BR&dateOption=last-30-days" ], "maxResults": 50 } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted. Poll the returned `jobId` for results. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | Poll this ID via GET /linkedin-ad-library/search/{jobId} to retrieve results. | | `status` | string (enum) | yes | (one of: processing) | Example response: ```json { "jobId": 0, "status": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkedin-ad-library?ep=post:/v1/linkedin-ad-library/search # Get LinkedIn Ad Library job result — `GET /v1/linkedin-ad-library/search/{jobId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkedIn Ad Library - **Endpoint**: `GET https://api.coldiq.com/v1/linkedin-ad-library/search/{jobId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status of a LinkedIn Ad Library scraping job. Returns `202` while in progress, `200` with results when done. Completed results are cached — repeated calls are free and instant. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | (min 0; max 2147483647) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/linkedin-ad-library/search/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job status. When `status` is `done`, `ads` contains the scraped data. | | `202` | Job is still running — poll again shortly. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Job not found | | `410` | Job expired — credits refunded | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | | | `status` | string (enum) | yes | (one of: processing, done, failed, timed_out) | | `ads` | array | no | Present only when status is "done". | | `error` | string | no | Present only when status is "failed" or "timed_out". | Example response: ```json { "jobId": 0, "status": "string", "ads": [ null ], "error": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkedin-ad-library?ep=get:/v1/linkedin-ad-library/search/{jobId} # Provider: Meta Ads Library # Search ads — `POST /v1/meta-ads/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Meta Ads Library - **Endpoint**: `POST https://api.coldiq.com/v1/meta-ads/search` - **Credits**: 0.16 credits per ad - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Start an async job to search the Facebook Ads Library by keyword or URL. Returns a `jobId` immediately — poll `GET /meta-ads/search/{jobId}` for results. Credits: bills only for returned results, per ad; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/ads/search` (Search Ads) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | no | Keyword to search in the Facebook Ads Library. Required when urls is not provided. | | `country` | string | no | Two-letter country code to scope results (e.g. "US", "GB"). Defaults to "US" when not provided. | | `adType` | string (enum) | no | Filter by ad type. Use 'ALL' for all ads or 'POLITICAL_AND_ISSUE_ADS' for political ads only. Defaults to 'ALL' when search is provided. (one of: ALL, POLITICAL_AND_ISSUE_ADS) | | `urls` | array | no | One or more Facebook Ads Library URLs to scrape directly (e.g. a pre-filtered search or advertiser page URL). Use instead of search. | | `maxItems` | integer | no | Maximum number of ads to return (1–200). Defaults to 20. (min 1; max 200; default 20) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/meta-ads/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"search":"ColdIQ","country":"US","adType":"ALL","maxItems":20}' ``` Request body: ```json { "search": "ColdIQ", "country": "US", "adType": "ALL", "maxItems": 20 } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted. Poll the returned `jobId` for results. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | Poll this ID via GET /meta-ads/search/{jobId} to retrieve results. | | `status` | string (enum) | yes | (one of: processing) | Example response: ```json { "jobId": 0, "status": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/meta-ads-library?ep=post:/v1/meta-ads/search # Get Meta Ads search job result — `GET /v1/meta-ads/search/{jobId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Meta Ads Library - **Endpoint**: `GET https://api.coldiq.com/v1/meta-ads/search/{jobId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status of a Meta Ads Library scraping job. Returns `202` while in progress, `200` with results when done. Completed results are cached — repeated calls are free and instant. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | (min 0; max 2147483647) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/meta-ads/search/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job status. When `status` is `done`, `ads` contains the scraped data. | | `202` | Job is still running — poll again shortly. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Job not found | | `410` | Job expired — credits refunded | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | | | `status` | string (enum) | yes | (one of: processing, done, failed, timed_out) | | `ads` | array | no | Present only when status is "done". | | `error` | string | no | Present only when status is "failed" or "timed_out". | Example response: ```json { "jobId": 0, "status": "string", "ads": [ null ], "error": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/meta-ads-library?ep=get:/v1/meta-ads/search/{jobId} # Provider: Google Ads # Google Ads Scraper — `POST /v1/google-ads/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Google Ads - **Endpoint**: `POST https://api.coldiq.com/v1/google-ads/search` - **Credits**: 0.21 credits per ad - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Start an async job to scrape Google Ads from the Ads Transparency Center. Search by advertiser name, domain, or ID. Returns a `jobId` immediately — poll `GET /google-ads/search/{jobId}` for results. Credits: bills only for returned results, per ad; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/ads/search` (Search Ads) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `searchTerms` | array | no | Search for advertisers by name (e.g., Nike, Apple, Coca-Cola). Finds matching advertisers and scrapes their ads. Max 25 items. | | `domains` | array | no | Search ads by website domain (e.g., nike.com, apple.com). Max 25 items. | | `advertiserIds` | array | no | Direct advertiser IDs from Google Ads Transparency Center (e.g., AR16735076323512287233). Max 25 items. | | `region` | string | no | Filter ads shown in a specific country (ISO code). Leave empty for all regions. | | `maxAds` | integer | no | Maximum number of ads to scrape per advertiser or domain. Defaults to 100. (min 1; max 1000) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/google-ads/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domains":["coldiq.com"],"maxAds":50}' ``` Request body: ```json { "domains": [ "coldiq.com" ], "maxAds": 50 } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted. Poll the returned `jobId` for results. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | Poll this ID via GET /google-ads/search/{jobId} to retrieve results. | | `status` | string (enum) | yes | (one of: processing) | Example response: ```json { "jobId": 0, "status": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/google-ads?ep=post:/v1/google-ads/search # Get Google Ads job result — `GET /v1/google-ads/search/{jobId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Google Ads - **Endpoint**: `GET https://api.coldiq.com/v1/google-ads/search/{jobId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status of a Google Ads scraping job. Returns `202` while in progress, `200` with results when done. Completed results are cached — repeated calls are free and instant. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | (min 0; max 2147483647) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/google-ads/search/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job status. When `status` is `done`, `ads` contains the scraped data. | | `202` | Job is still running — poll again shortly. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Job not found | | `410` | Job expired — credits refunded | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | | | `status` | string (enum) | yes | (one of: processing, done, failed, timed_out) | | `ads` | array | no | Present only when status is "done". | | `error` | string | no | Present only when status is "failed" or "timed_out". | Example response: ```json { "jobId": 0, "status": "string", "ads": [ null ], "error": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/google-ads?ep=get:/v1/google-ads/search/{jobId} # Provider: Twitter Ads Scraper # Search Ads — `POST /v1/twitter-ads-scraper/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Twitter Ads Scraper - **Endpoint**: `POST https://api.coldiq.com/v1/twitter-ads-scraper/search` - **Credits**: 0.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Start an async job to search the Twitter Ad Transparency Center for ads matching the given terms. Returns a `jobId` immediately — poll `GET /twitter-ads-scraper/search/{jobId}` for results. Credits are reserved upfront at `maxItems × rate` and settled to the actual count returned. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/ads/search` (Search Ads) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `searchTerms` | array | yes | Advertiser handles or keywords to search for on the Twitter Ad Transparency Center (e.g. "ColdIQ" or "@Microsoft") | | `maxItems` | integer | no | Maximum number of ads to return (default: 20, max: 100). Credits are reserved upfront at this value and settled to the actual count returned. (min 1; max 100) | | `country` | string \| null | no | Two-letter ISO 3166-1 alpha-2 country code to filter ads by target country (e.g. "US") | | `startDate` | string \| null | no | Start of the time range filter (YYYY-MM-DD) | | `endDate` | string \| null | no | End of the time range filter (YYYY-MM-DD) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/twitter-ads-scraper/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"searchTerms":["ColdIQ"],"maxItems":20,"country":"US"}' ``` Request body: ```json { "searchTerms": [ "ColdIQ" ], "maxItems": 20, "country": "US" } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted. Poll the returned `jobId` for results. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | Poll this ID via GET /twitter-ads-scraper/search/{jobId} to retrieve results. | | `status` | string (enum) | yes | (one of: processing) | Example response: ```json { "jobId": 0, "status": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/twitter-ads-scraper?ep=post:/v1/twitter-ads-scraper/search # Get Twitter Ads search job result — `GET /v1/twitter-ads-scraper/search/{jobId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Twitter Ads Scraper - **Endpoint**: `GET https://api.coldiq.com/v1/twitter-ads-scraper/search/{jobId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status of a Twitter Ads scraping job. Returns `202` while in progress, `200` with results when done. Completed results are cached — repeated calls are free and instant. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | (min 0; max 2147483647) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/twitter-ads-scraper/search/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job status. When `status` is `done`, `ads` contains the scraped data. | | `202` | Job is still running — poll again shortly. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Job not found | | `410` | Job expired — credits refunded | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | | | `status` | string (enum) | yes | (one of: processing, done, failed, timed_out) | | `ads` | array | no | Present only when status is "done". | | `error` | string | no | Present only when status is "failed" or "timed_out". | Example response: ```json { "jobId": 0, "status": "string", "ads": [ null ], "error": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/twitter-ads-scraper?ep=get:/v1/twitter-ads-scraper/search/{jobId} # Provider: BuiltWith # Domain API — `POST /v1/builtwith/domain` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: BuiltWith - **Endpoint**: `POST https://api.coldiq.com/v1/builtwith/domain` - **Credits**: 3.13 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns the full technology stack detected on a domain — frameworks, analytics, CRMs, ad networks, CDNs, and more. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/company/enrich` (Enrich Company) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | yes | Domain name to look up (e.g. "coldiq.com"). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/builtwith/domain" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com"}' ``` Request body: ```json { "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Technology stack for the requested domain. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `Results` | array | yes | | | `Results[].Lookup` | string \| null | no | Domain that was looked up. | | `Results[].Result` | object \| null | no | | | `Results[].Result.IsDB` | string \| null | no | | | `Results[].Result.Spend` | number \| null | no | | | `Results[].Result.Paths` | array \| null | no | | | `Results[].Result.Paths[].Domain` | string \| null | no | | | `Results[].Result.Paths[].Url` | string \| null | no | | | `Results[].Result.Paths[].SubDomain` | string \| null | no | | | `Results[].Result.Paths[].FirstIndexed` | number \| null | no | | | `Results[].Result.Paths[].LastIndexed` | number \| null | no | | | `Results[].Result.Paths[].Technologies` | array \| null | no | | | `Results[].Meta` | object \| null | no | Company metadata (name, vertical, location, social links). | | `Results[].Attributes` | object \| null | no | | | `Results[].FirstIndexed` | number \| null | no | Unix timestamp (ms) the domain was first indexed. | | `Results[].LastIndexed` | number \| null | no | Unix timestamp (ms) the domain was last indexed. | | `Results[].SalesRevenue` | number \| null | no | | | `Results[].Errors` | array \| null | no | | | `Errors` | array \| null | no | | | `Trust` | any \| null | no | | Example response: ```json { "Results": [ { "Lookup": "string", "Result": { "IsDB": "string", "Spend": 0, "Paths": [ { "Domain": "string", "Url": "string", "SubDomain": "string", "FirstIndexed": 0, "LastIndexed": 0, "Technologies": [ { "Name": "string", "Description": "string", "Link": "string", "Tag": "string", "Categories": [ "string" ], "FirstDetected": 0, "LastDetected": 0, "IsPremium": "string" } ] } ] }, "Meta": {}, "Attributes": {}, "FirstIndexed": 0, "LastIndexed": 0, "SalesRevenue": 0, "Errors": [ null ] } ], "Errors": [ null ], "Trust": null } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/builtwith?ep=post:/v1/builtwith/domain # Lists API — `POST /v1/builtwith/lists` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: BuiltWith - **Endpoint**: `POST https://api.coldiq.com/v1/builtwith/lists` - **Credits**: 3.13 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns websites that use a given technology (optionally combined with up to 16 other technologies), with first/last detection dates, estimated spend, revenue, employee and follower counts, rank signals, and optional company metadata. Filter by country, detection date, and numeric thresholds. Paginate by passing the returned NextOffset as offset until it equals "END". Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `technology` | string | yes | Technology name as shown on builtwith.com (e.g. "HubSpot", "Google Analytics"). Spaces are converted to dashes upstream. | | `other_technologies` | array | no | Up to 16 additional technology names. Results must use the primary technology AND every technology listed here. | | `include_meta` | boolean | no | Return company metadata (name, location, vertical, telephones, emails, social links, titles) for each site. | | `countries` | array | no | Restrict results to these ISO 3166-1 alpha-2 country codes (e.g. ["US", "GB"]). | | `offset` | string | no | Pagination cursor: pass the exact NextOffset value from the previous response. | | `since` | string | no | Only sites first detected since this date — "YYYY-MM-DD" or relative ("30 Days Ago"). Cannot be combined with all. | | `all` | boolean | no | Include every site ever detected with the technology, including historical (no longer live) sites. Cannot be combined with since. | | `spend` | object | no | Filter on estimated monthly technology spend in USD. | | `spend.value` | number | yes | Numeric threshold. | | `spend.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `revenue` | object | no | Filter on estimated annual revenue in USD. | | `revenue.value` | number | yes | Numeric threshold. | | `revenue.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `sku` | object | no | Filter on number of products (SKUs) sold. | | `sku.value` | number | yes | Numeric threshold. | | `sku.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `followers` | object | no | Filter on social media follower count. | | `followers.value` | number | yes | Numeric threshold. | | `followers.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `employees` | object | no | Filter on employee count. | | `employees.value` | number | yes | Numeric threshold. | | `employees.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `sitemap` | object | no | Filter on number of sitemap pages. | | `sitemap.value` | number | yes | Numeric threshold. | | `sitemap.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `pagerank` | object | no | Filter on page rank. | | `pagerank.value` | number | yes | Numeric threshold. | | `pagerank.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `bwrank` | object | no | Filter on BuiltWith rank. | | `bwrank.value` | number | yes | Numeric threshold. | | `bwrank.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `tranco` | object | no | Filter on Tranco rank. | | `tranco.value` | number | yes | Numeric threshold. | | `tranco.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `majestic` | object | no | Filter on Majestic rank. | | `majestic.value` | number | yes | Numeric threshold. | | `majestic.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `bws` | object | no | Filter on BuiltWith score. | | `bws.value` | number | yes | Numeric threshold. | | `bws.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `ecat` | object | no | Filter on e-commerce category score. | | `ecat.value` | number | yes | Numeric threshold. | | `ecat.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `aim` | object | no | Filter on AI marketing score. | | `aim.value` | number | yes | Numeric threshold. | | `aim.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `aio` | object | no | Filter on AI operations score. | | `aio.value` | number | yes | Numeric threshold. | | `aio.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `air` | object | no | Filter on AI research score. | | `air.value` | number | yes | Numeric threshold. | | `air.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | | `aiv` | object | no | Filter on AI vision score. | | `aiv.value` | number | yes | Numeric threshold. | | `aiv.operator` | string (enum) | no | Comparison operator. Default GTE (greater than or equal). (one of: EQ, LT, LTE, GT, GTE) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/builtwith/lists" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"technology":"HubSpot","countries":["US"],"include_meta":true}' ``` Request body: ```json { "technology": "HubSpot", "countries": [ "US" ], "include_meta": true } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | One page of websites using the requested technology. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `NextOffset` | string \| null | no | Pass as offset to fetch the next page. "END" means there are no more results. | | `Results` | array | yes | | | `Results[].D` | string \| null | no | Domain. | | `Results[].LOS` | array \| null | no | Locations where the technology was detected. | | `Results[].FD` | number \| null | no | First detected (Unix epoch seconds). | | `Results[].LD` | number \| null | no | Last detected (Unix epoch seconds). | | `Results[].S` | number \| null | no | Estimated monthly technology spend (USD). | | `Results[].SKU` | number \| null | no | Number of products sold. | | `Results[].R` | number \| null | no | Estimated annual revenue (USD). | | `Results[].F` | number \| null | no | Social media followers. | | `Results[].E` | number \| null | no | Employee count. | | `Results[].A` | number \| null | no | Page rank. | | `Results[].Q` | number \| null | no | Tranco rank. | | `Results[].M` | number \| null | no | Majestic rank. | | `Results[].U` | number \| null | no | Umbrella rank. | | `Results[].META` | object \| null | no | Company metadata; present only when include_meta is true. | | `Results[].META.CompanyName` | string \| null | no | | | `Results[].META.City` | string \| null | no | | | `Results[].META.Postcode` | string \| null | no | | | `Results[].META.State` | string \| null | no | | | `Results[].META.Country` | string \| null | no | | | `Results[].META.Vertical` | string \| null | no | | | `Results[].META.Telephones` | array \| null | no | | | `Results[].META.Emails` | array \| null | no | | | `Results[].META.Social` | array \| null | no | | | `Results[].META.Titles` | array \| null | no | | | `Errors` | array \| null | no | | Example response: ```json { "NextOffset": "string", "Results": [ { "D": "string", "LOS": [ "string" ], "FD": 0, "LD": 0, "S": 0, "SKU": 0, "R": 0, "F": 0, "E": 0, "A": 0, "Q": 0, "M": 0, "U": 0, "META": { "CompanyName": "string", "City": "string", "Postcode": "string", "State": "string", "Country": "string", "Vertical": "string", "Telephones": [ "string" ], "Emails": [ "string" ], "Social": [ "string" ], "Titles": [ "string" ] } } ], "Errors": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/builtwith?ep=post:/v1/builtwith/lists # Relationships API — `POST /v1/builtwith/relationships` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: BuiltWith - **Endpoint**: `POST https://api.coldiq.com/v1/builtwith/relationships` - **Credits**: 3.13 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns websites related to a domain through shared identifiers — analytics IDs, ad-network tags, and optionally IP addresses — with first/last-seen dates and whether the identifier was live on both sites at the same time. Look up 1 to 16 domains per request; paginate with offset when more_results is true. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | no | Domain or sub-domain to look up (e.g. "coldiq.com"). Ignored when domains is provided. | | `domains` | array | no | Up to 16 domains to look up in one request. Takes precedence over domain. | | `offset` | integer | no | Pagination offset: pass the next_skip value from the previous response. (min 0) | | `include_ip` | boolean | no | Include website IP address relationships. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/builtwith/relationships" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com"}' ``` Request body: ```json { "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Relationships detected for the requested domain(s). | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `Relationships` | array \| null | no | | | `Relationships[].Domain` | string \| null | no | Domain that was looked up. | | `Relationships[].Identifiers` | array \| null | no | | | `Relationships[].Identifiers[].Type` | string \| null | no | Identifier type (e.g. analytics ID, ad-network tag, IP). | | `Relationships[].Identifiers[].Value` | string \| null | no | Identifier value. | | `Relationships[].Identifiers[].First` | number \| null | no | First seen on the looked-up domain (Unix epoch ms). | | `Relationships[].Identifiers[].Last` | number \| null | no | Last seen on the looked-up domain (Unix epoch ms). | | `Relationships[].Identifiers[].Matches` | array \| null | no | Other domains that share this identifier. | | `Relationships[].Identifiers[].Matches[].Domain` | string \| null | no | Related domain sharing this identifier. | | `Relationships[].Identifiers[].Matches[].First` | number \| null | no | First seen on the related domain (Unix epoch ms). | | `Relationships[].Identifiers[].Matches[].Last` | number \| null | no | Last seen on the related domain (Unix epoch ms). | | `Relationships[].Identifiers[].Matches[].Overlap` | boolean \| null | no | True when the identifier was live on both domains at the same time. | | `results` | number \| null | no | Total number of relationships found. | | `max_per_page` | number \| null | no | Page size (500). | | `next_skip` | number \| null | no | Pass as offset to fetch the next page. | | `more_results` | boolean \| null | no | True when another page is available. | | `Errors` | array \| null | no | | Example response: ```json { "Relationships": [ { "Domain": "string", "Identifiers": [ { "Type": "string", "Value": "string", "First": 0, "Last": 0, "Matches": [ { "Domain": "string", "First": 0, "Last": 0, "Overlap": false } ] } ] } ], "results": 0, "max_per_page": 0, "next_skip": 0, "more_results": false, "Errors": [ null ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/builtwith?ep=post:/v1/builtwith/relationships # Provider: Prospeo # Enrich Person — `POST /v1/prospeo/enrich-person` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Prospeo - **Endpoint**: `POST https://api.coldiq.com/v1/prospeo/enrich-person` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich a person record using a LinkedIn URL, email, name + company, or internal person ID. Returns contact details, job history, email, and optionally mobile. Credits: charged once per call, at a rate that depends on which fields you request (standard, mobile) — it is NOT flat. Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternatives: `POST /v1/email/find` (Find Email), `POST /v1/phone/find` (Find Phone) and `POST /v1/person/enrich` (Enrich Person) run this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and fall back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | object | yes | | | `data.first_name` | string | no | | | `data.last_name` | string | no | | | `data.full_name` | string | no | | | `data.company_name` | string | no | | | `data.company_website` | string | no | | | `data.company_linkedin_url` | string | no | | | `data.linkedin_url` | string | no | | | `data.email` | string | no | | | `data.person_id` | string | no | | | `only_verified_email` | boolean | no | | | `enrich_mobile` | boolean | no | | | `only_verified_mobile` | boolean | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/prospeo/enrich-person" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":{"linkedin_url":"https://www.linkedin.com/in/michel-lieben"}}' ``` Request body: ```json { "data": { "linkedin_url": "https://www.linkedin.com/in/michel-lieben" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Person data | | `400` | Bad request or upstream validation error | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/prospeo?ep=post:/v1/prospeo/enrich-person # Bulk Enrich Person — `POST /v1/prospeo/bulk-enrich-person` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Prospeo - **Endpoint**: `POST https://api.coldiq.com/v1/prospeo/bulk-enrich-person` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich up to 50 person records in a single request. Each record requires an `identifier` field for tracking. Credits are reserved upfront (worst-case) and settled to the actual `total_cost` from the response. Credits: variable per record, charged by which fields you request (standard, mobile). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | array | yes | | | `data[].first_name` | string | no | | | `data[].last_name` | string | no | | | `data[].full_name` | string | no | | | `data[].company_name` | string | no | | | `data[].company_website` | string | no | | | `data[].company_linkedin_url` | string | no | | | `data[].linkedin_url` | string | no | | | `data[].email` | string | no | | | `data[].person_id` | string | no | | | `data[].identifier` | string | yes | | | `only_verified_email` | boolean | no | | | `enrich_mobile` | boolean | no | | | `only_verified_mobile` | boolean | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/prospeo/bulk-enrich-person" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":[{"identifier":"michel-lieben","linkedin_url":"https://www.linkedin.com/in/michel-lieben"},{"identifier":"satya-nadella","company_website":"microsoft.com","full_name":"Satya Nadella"}]}' ``` Request body: ```json { "data": [ { "identifier": "michel-lieben", "linkedin_url": "https://www.linkedin.com/in/michel-lieben" }, { "identifier": "satya-nadella", "company_website": "microsoft.com", "full_name": "Satya Nadella" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Bulk enrich results | | `400` | Bad request or upstream validation error | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/prospeo?ep=post:/v1/prospeo/bulk-enrich-person # Search Person — `POST /v1/prospeo/search-person` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Prospeo - **Endpoint**: `POST https://api.coldiq.com/v1/prospeo/search-person` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search for people using 30+ filters. Key filter keys: person_job_title (current title, {"include":[...]}), person_seniority (enum: C-Suite, Director, Entry, Founder/Owner, Head, Intern, Manager, Partner, Senior, Vice President), person_department, person_location_search, company (target employers by domain/name), plus experience/tenure ranges — see the filters schema for exact key names and value formats. Returns 25 results per page, up to 25,000 total. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/people/search` (Find People) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `filters` | object | yes | People search filters. At least one include filter is required (exclude-only searches are rejected). Combine filters to narrow results. Any filter key not listed here is forwarded to Prospeo as-is; unknown keys return INVALID_FILTERS. | | `filters.person_job_title` | object | no | Current job title(s). Format {"include":[...],"exclude":[...]}. Optional "match_mode": CONTAINS \| EXACT \| SIMILAR, and "boolean_search" for expressions like "(CEO OR CTO) AND !Intern". NOTE: the key is person_job_title — "current_title"/"job_titles" are NOT valid and return INVALID_FILTERS. | | `filters.person_job_title.include` | array | no | | | `filters.person_job_title.exclude` | array | no | | | `filters.person_name_or_job_title` | string | no | Free-text quick search across name and job title (plain string, not an object). | | `filters.person_seniority` | object | no | Seniority level(s). Format {"include":[...]}. Allowed values (exact): C-Suite, Director, Entry, Founder/Owner, Head, Intern, Manager, Partner, Senior, Vice President. (Use "Vice President", not "VP".) | | `filters.person_seniority.include` | array | no | | | `filters.person_seniority.exclude` | array | no | | | `filters.person_department` | object | no | Functional department(s). Format {"include":[...]}. Values include: C-Suite, Consulting, Design, Education & Coaching, Engineering & Technical, Finance, Human Resources, Information Technology, Legal, Marketing, Medical & Health, Operations, Product, Sales. | | `filters.person_department.include` | array | no | | | `filters.person_department.exclude` | array | no | | | `filters.person_name` | object | no | Strict person-name match. Format {"include":[...],"exclude":[...]}. | | `filters.person_name.include` | array | no | | | `filters.person_name.exclude` | array | no | | | `filters.person_search` | object | no | Search by name, company name, or domain. Format {"include":[...],"exclude":[...],"match_mode":"SMART"}. | | `filters.person_search.include` | array | no | | | `filters.person_search.exclude` | array | no | | | `filters.person_location_search` | object | no | Person location(s), e.g. "New York, United States". Format {"include":[...],"exclude":[...]}. | | `filters.person_location_search.include` | array | no | | | `filters.person_location_search.exclude` | array | no | | | `filters.person_year_of_experience` | object | no | Total years of experience. Format {"min":0,"max":60}. | | `filters.person_year_of_experience.min` | number | no | | | `filters.person_year_of_experience.max` | number | no | | | `filters.person_time_in_current_role` | object | no | Tenure in current role, in months. Format {"min":0,"max":600}. | | `filters.person_time_in_current_role.min` | number | no | | | `filters.person_time_in_current_role.max` | number | no | | | `filters.person_time_in_current_company` | object | no | Tenure at current company, in months. Format {"min":0,"max":600}. | | `filters.person_time_in_current_company.min` | number | no | | | `filters.person_time_in_current_company.max` | number | no | | | `filters.person_job_change` | object | no | Recent job change. Format {"timeframe_days":90,"only_promotion":false}. | | `filters.person_contact_details` | object | no | Contact-data availability. Format {"email":[...],"mobile":[...],"operator":"OR"}. | | `filters.max_person_per_company` | integer | no | Cap on results returned per company (integer). | | `filters.company_industry` | object | no | Employer industry using Prospeo exact taxonomy values. Format {"include":[...],"exclude":[...]}. Do not guess values such as "SaaS" or "Computer Software"; omit this filter unless an accepted taxonomy value is known. | | `filters.company_industry.include` | array | no | | | `filters.company_industry.exclude` | array | no | | | `filters.company_location_search` | object | no | Employer location(s). Format {"include":[...],"exclude":[...]}. | | `filters.company_location_search.include` | array | no | | | `filters.company_location_search.exclude` | array | no | | | `filters.company` | object | no | Target specific employers. Format {"websites":{"include":["microsoft.com"]},"names":{"include":["Microsoft"]}}. Use ROOT domains only — subdomains like www.microsoft.com are rejected. | | `filters.company.websites` | object | no | | | `filters.company.websites.include` | array | no | | | `filters.company.websites.exclude` | array | no | | | `filters.company.names` | object | no | | | `filters.company.names.include` | array | no | | | `filters.company.names.exclude` | array | no | | | `page` | integer | no | Page number (25 results per page). (min 1) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/prospeo/search-person" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filters":{"person_job_title":{"include":["Head of GTM","Head of Growth"]},"person_seniority":{"include":["Head","Director","Vice President"]}}}' ``` Request body: ```json { "filters": { "person_job_title": { "include": [ "Head of GTM", "Head of Growth" ] }, "person_seniority": { "include": [ "Head", "Director", "Vice President" ] } } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search results | | `400` | Bad request or upstream validation error | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/prospeo?ep=post:/v1/prospeo/search-person # Enrich Company — `POST /v1/prospeo/enrich-company` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Prospeo - **Endpoint**: `POST https://api.coldiq.com/v1/prospeo/enrich-company` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich a company record using website, LinkedIn URL, name, or internal company ID. Returns full company profile including headcount, funding, technology stack, and job postings. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/company/enrich` (Enrich Company) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | object | yes | | | `data.company_website` | string | no | | | `data.company_linkedin_url` | string | no | | | `data.company_name` | string | no | | | `data.company_id` | string | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/prospeo/enrich-company" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":{"company_website":"coldiq.com"}}' ``` Request body: ```json { "data": { "company_website": "coldiq.com" } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Company data | | `400` | Bad request or upstream validation error | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/prospeo?ep=post:/v1/prospeo/enrich-company # Bulk Enrich Company — `POST /v1/prospeo/bulk-enrich-company` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Prospeo - **Endpoint**: `POST https://api.coldiq.com/v1/prospeo/bulk-enrich-company` - **Credits**: 3.5 credits per record - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich up to 50 company records in a single request. Each record requires an `identifier` field for tracking. Credits are reserved upfront (worst-case) and settled to the actual `total_cost` from the response. Credits: bills only for returned results, per record; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | array | yes | | | `data[].company_website` | string | no | | | `data[].company_linkedin_url` | string | no | | | `data[].company_name` | string | no | | | `data[].company_id` | string | no | | | `data[].identifier` | string | yes | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/prospeo/bulk-enrich-company" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"data":[{"identifier":"coldiq","company_website":"coldiq.com"},{"identifier":"microsoft","company_website":"microsoft.com"},{"identifier":"apple","company_website":"apple.com"}]}' ``` Request body: ```json { "data": [ { "identifier": "coldiq", "company_website": "coldiq.com" }, { "identifier": "microsoft", "company_website": "microsoft.com" }, { "identifier": "apple", "company_website": "apple.com" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Bulk enrich results | | `400` | Bad request or upstream validation error | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/prospeo?ep=post:/v1/prospeo/bulk-enrich-company # Search Company — `POST /v1/prospeo/search-company` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Prospeo - **Endpoint**: `POST https://api.coldiq.com/v1/prospeo/search-company` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search for companies using filters including industry, employee count, funding stage, revenue range, technology stack, and more. Returns 25 results per page, up to 25,000 total. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `filters` | object | yes | Company search filters. At least one include filter is required (exclude-only searches are rejected). Prospeo exposes more filters (funding, technology, revenue, NAICS/SIC, …); build a search in the Prospeo dashboard and copy the generated payload for their exact key names. Any key not listed here is forwarded as-is; unknown keys return INVALID_FILTERS. | | `filters.company_industry` | object | no | Industry. Format {"include":[...],"exclude":[...]}. | | `filters.company_industry.include` | array | no | | | `filters.company_industry.exclude` | array | no | | | `filters.company_headcount_custom` | object | no | Employee-count range. Format {"min":10,"max":500}. | | `filters.company_headcount_custom.min` | number | no | | | `filters.company_headcount_custom.max` | number | no | | | `filters.company_location_search` | object | no | Company location(s), e.g. "San Francisco, United States". Format {"include":[...],"exclude":[...]}. | | `filters.company_location_search.include` | array | no | | | `filters.company_location_search.exclude` | array | no | | | `filters.company` | object | no | Target specific companies. Format {"websites":{"include":["microsoft.com"]},"names":{"include":["Microsoft"]}}. Use ROOT domains only — subdomains like www.microsoft.com are rejected. | | `filters.company.websites` | object | no | | | `filters.company.websites.include` | array | no | | | `filters.company.websites.exclude` | array | no | | | `filters.company.names` | object | no | | | `filters.company.names.include` | array | no | | | `filters.company.names.exclude` | array | no | | | `page` | integer | no | Page number (25 results per page). (min 1) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/prospeo/search-company" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filters":{"company_industry":{"include":["Software Development"]},"company_headcount_custom":{"min":10,"max":500}}}' ``` Request body: ```json { "filters": { "company_industry": { "include": [ "Software Development" ] }, "company_headcount_custom": { "min": 10, "max": 500 } } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search results | | `400` | Bad request or upstream validation error | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/prospeo?ep=post:/v1/prospeo/search-company # Provider: LeadMagic # Email Finder — `POST /v1/leadmagic/people/email-finder` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/people/email-finder` - **Credits**: 4.16 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find a person's work email address from their name and company (domain or name). Only a valid found email is charged. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/email/find` (Find Email) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `first_name` | string | no | First name of the person | | `last_name` | string | no | Last name of the person | | `full_name` | string | no | Full name (alternative to first_name + last_name) | | `domain` | string | no | Company domain (required if company_name is not provided) | | `company_name` | string | no | Company name (required if domain is not provided) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/people/email-finder" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"first_name":"Michel","last_name":"Lieben","domain":"coldiq.com"}' ``` Request body: ```json { "first_name": "Michel", "last_name": "Lieben", "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Email finder result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/people/email-finder # Email Validation — `POST /v1/leadmagic/people/email-validation` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/people/email-validation` - **Credits**: 1.04 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Validate an email address deliverability (SMTP + MX checks) with company enrichment. Only definitive results (valid/invalid) are charged. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/email/verify` (Verify Email) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address to validate | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/people/email-validation" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Validation result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/people/email-validation # Personal Email Finder — `POST /v1/leadmagic/people/personal-email-finder` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/people/personal-email-finder` - **Credits**: 8.32 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find personal email addresses from a B2B profile URL. Only a found email is charged. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `profile_url` | string | yes | B2B profile URL or username (full URL or slug) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/people/personal-email-finder" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"profile_url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "profile_url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Personal email result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/people/personal-email-finder # B2B Person Profile to Email — `POST /v1/leadmagic/people/b2b-profile-email` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/people/b2b-profile-email` - **Credits**: 20.79 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find a validated work email address from a B2B profile URL. Only a found email is charged. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `profile_url` | string | yes | B2B profile URL or username (full URL or slug) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/people/b2b-profile-email" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"profile_url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "profile_url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Profile-to-email result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/people/b2b-profile-email # B2B Person Profile — `POST /v1/leadmagic/people/profile-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/people/profile-search` - **Credits**: 4.16 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get full profile data (title, bio, work experience, education) from a B2B profile URL. Only a found profile is charged. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/person/enrich` (Enrich Person) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `profile_url` | string | yes | B2B profile URL or username (full URL or slug) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/people/profile-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"profile_url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "profile_url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Profile data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/people/profile-search # Email Address to B2B Person Profile — `POST /v1/leadmagic/people/b2b-profile` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/people/b2b-profile` - **Credits**: 41.58 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find a person's B2B profile URL from their work or personal email address. Only a found profile is charged. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/person/enrich` (Enrich Person) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `work_email` | string | no | Work email address (one of work_email or personal_email is required) | | `personal_email` | string | no | Personal email address (one of work_email or personal_email is required) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/people/b2b-profile" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"work_email":"michel@coldiq.com"}' ``` Request body: ```json { "work_email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Email-to-profile result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/people/b2b-profile # Mobile Finder — `POST /v1/leadmagic/people/mobile-finder` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/people/mobile-finder` - **Credits**: 20.79 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find a person's mobile phone number from their profile URL or email address. Only a found mobile is charged. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/phone/find` (Find Phone) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `profile_url` | string | no | B2B profile URL or username (one of profile_url, work_email, personal_email is required) | | `work_email` | string | no | Work email address | | `personal_email` | string | no | Personal email address | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/people/mobile-finder" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"profile_url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "profile_url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Mobile finder result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/people/mobile-finder # Job Change Detector — `POST /v1/leadmagic/people/job-change-detector` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/people/job-change-detector` - **Credits**: 12.47 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Check whether a person still works at a company, with tenure stats and work history. Charged per check regardless of outcome. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `profile_url` | string | yes | B2B profile URL or username of the person to check | | `company_name` | string | no | Expected company name (one of company_name or company_domain is required) | | `company_domain` | string | no | Expected company domain (one of company_name or company_domain is required) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/people/job-change-detector" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"profile_url":"https://www.linkedin.com/in/michel-lieben","company_domain":"coldiq.com"}' ``` Request body: ```json { "profile_url": "https://www.linkedin.com/in/michel-lieben", "company_domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job change detection result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/people/job-change-detector # Role Finder — `POST /v1/leadmagic/people/role-finder` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/people/role-finder` - **Credits**: 8.32 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find the first person matching a job title at a company. Only a found person is charged. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_title` | string | yes | Job title to find (e.g. "Founder", "VP Sales") | | `company_name` | string | no | Company name (one of company_name or company_domain is required) | | `company_domain` | string | no | Company domain (one of company_name or company_domain is required) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/people/role-finder" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"job_title":"Founder","company_domain":"coldiq.com"}' ``` Request body: ```json { "job_title": "Founder", "company_domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Role finder result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/people/role-finder # Employee Finder — `POST /v1/leadmagic/people/employee-finder` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/people/employee-finder` - **Credits**: 0.21 credits per employee - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description List employees of a company with names, titles, and profile URLs. Billed per employee returned; reserved for the requested limit and settled to the actual count. Credits: bills only for returned results, per employee; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/people/search` (Find People) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domain` | string | no | Company domain (preferred; one of company_domain or company_name is required) | | `company_name` | string | no | Company name | | `limit` | integer | no | Max employees to return (default 10, max 100) (min 1; max 100) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/people/employee-finder" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"coldiq.com","limit":10}' ``` Request body: ```json { "company_domain": "coldiq.com", "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Employee list | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/people/employee-finder # Company Search — `POST /v1/leadmagic/companies/company-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/companies/company-search` - **Credits**: 4.16 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get detailed company data (size, industry, funding, competitors) from a domain, name, or profile URL. Only a found company is charged. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/company/enrich` (Enrich Company) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `profile_url` | string | no | Company B2B profile URL or slug (one of profile_url, company_domain, company_name is required) | | `company_domain` | string | no | Company domain | | `company_name` | string | no | Company name | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/companies/company-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"coldiq.com"}' ``` Request body: ```json { "company_domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Company data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/companies/company-search # Company Funding — `POST /v1/leadmagic/companies/company-funding` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/companies/company-funding` - **Credits**: 16.63 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get funding history, financials, leadership, and news for a company. Only found funding data is charged. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_name` | string | no | Company name (one of company_name or company_domain is required) | | `company_domain` | string | no | Company domain | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/companies/company-funding" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"microsoft.com"}' ``` Request body: ```json { "company_domain": "microsoft.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Funding data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/companies/company-funding # Competitors Search — `POST /v1/leadmagic/companies/competitors-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/companies/competitors-search` - **Credits**: 20.79 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find competitors of a company with financial and operating metrics. Only found competitors are charged. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domain` | string | no | Company domain (one of company_domain, company_url, company_name is required) | | `company_url` | string | no | Company B2B profile URL | | `company_name` | string | no | Company name | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/companies/competitors-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"coldiq.com"}' ``` Request body: ```json { "company_domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Competitors list | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/companies/competitors-search # Company Technographics — `POST /v1/leadmagic/companies/technographics` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/companies/technographics` - **Credits**: 4.16 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description List the technologies a company uses, detected from its domain. Only found technology data is charged. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domain` | string | yes | Company domain to look up technologies for | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/companies/technographics" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"coldiq.com"}' ``` Request body: ```json { "company_domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Technographics data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/companies/technographics # Google Ads Search — `POST /v1/leadmagic/ads/google-ads-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/ads/google-ads-search` - **Credits**: 4.16 credits per ad - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find Google ads a company is running. Billed per ad returned; reserved up-front for up to 50 ads and settled to the actual count. Credits: bills only for returned results, per ad; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domain` | string | no | Company domain (one of company_domain or company_name is required) | | `company_name` | string | no | Company name | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/ads/google-ads-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"microsoft.com"}' ``` Request body: ```json { "company_domain": "microsoft.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Google ads results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/ads/google-ads-search # Meta Ads Search — `POST /v1/leadmagic/ads/meta-ads-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/ads/meta-ads-search` - **Credits**: 4.16 credits per ad - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find Meta (Facebook/Instagram) ads a company is running. Billed per ad returned; reserved up-front for up to 50 ads and settled to the actual count. Credits: bills only for returned results, per ad; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domain` | string | no | Company domain (one of company_domain or company_name is required) | | `company_name` | string | no | Company name | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/ads/meta-ads-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"microsoft.com"}' ``` Request body: ```json { "company_domain": "microsoft.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Meta ads results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/ads/meta-ads-search # B2B Search Ads — `POST /v1/leadmagic/ads/b2b-ads-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/ads/b2b-ads-search` - **Credits**: 4.16 credits per ad - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find B2B (LinkedIn-style) ads a company is running, with company context. Billed 1 base + 1 per ad returned (minimum 1 even with no ads, up to 50 ads); reserved up-front and settled to the actual count. Credits: bills only for returned results, per ad; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domain` | string | no | Company domain (one of company_domain or company_name is required) | | `company_name` | string | no | Company name | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/ads/b2b-ads-search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"microsoft.com"}' ``` Request body: ```json { "company_domain": "microsoft.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | B2B ads results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/ads/b2b-ads-search # B2B Ad Details — `POST /v1/leadmagic/ads/b2b-ads-details` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadMagic - **Endpoint**: `POST https://api.coldiq.com/v1/leadmagic/ads/b2b-ads-details` - **Credits**: 8.32 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get full details of a single B2B ad, including targeting and impressions, from its ad library URL or ID. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `ad_url` | string | yes | Ad library URL, /ad-library/detail/{id} path, or numeric ad ID | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadmagic/ads/b2b-ads-details" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"ad_url":"https://www.linkedin.com/ad-library/detail/123456789"}' ``` Request body: ```json { "ad_url": "https://www.linkedin.com/ad-library/detail/123456789" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Ad details | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadmagic?ep=post:/v1/leadmagic/ads/b2b-ads-details # Provider: DataForSEO # YouTube Locations — `POST /v1/dataforseo/serp/youtube/locations` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/serp/youtube/locations` - **Credits**: 0.13 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the list of locations supported for YouTube SERP queries. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `country_iso_code` | string | yes | 2-letter ISO country code, e.g. "US". | | `location_type` | string | no | Filter by location type. | | `location_name` | string | no | Filter by location name. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/serp/youtube/locations" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"country_iso_code":"US"}' ``` Request body: ```json { "country_iso_code": "US" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | YouTube locations list | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/serp/youtube/locations # YouTube Organic Search — `POST /v1/dataforseo/serp/youtube/organic` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/serp/youtube/organic` - **Credits**: 0.13 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve organic YouTube search results for a keyword. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/seo/search` (Search SEO) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keyword` | string | yes | Search keyword. | | `location_name` | string | yes | Location name, e.g. "United States". | | `language_code` | string | yes | Language code, e.g. "en". | | `device` | string (enum) | no | Device type. (one of: desktop, mobile) | | `os` | string | no | Operating system. | | `block_depth` | integer | no | Number of results to return (1–700). Defaults to 10. (min 1; max 700) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/serp/youtube/organic" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keyword":"cold email tutorial","location_name":"United States","language_code":"en","block_depth":10}' ``` Request body: ```json { "keyword": "cold email tutorial", "location_name": "United States", "language_code": "en", "block_depth": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | YouTube organic search results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/serp/youtube/organic # YouTube Video Info — `POST /v1/dataforseo/serp/youtube/video-info` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/serp/youtube/video-info` - **Credits**: 0.13 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve detailed information about a YouTube video. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `video_id` | string | yes | YouTube video ID. | | `location_name` | string | yes | Location name, e.g. "United States". | | `language_code` | string | yes | Language code, e.g. "en". | | `device` | string (enum) | no | Device type. (one of: desktop, mobile) | | `os` | string | no | Operating system. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/serp/youtube/video-info" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"video_id":"dQw4w9WgXcQ","location_name":"United States","language_code":"en"}' ``` Request body: ```json { "video_id": "dQw4w9WgXcQ", "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | YouTube video information | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/serp/youtube/video-info # YouTube Video Comments — `POST /v1/dataforseo/serp/youtube/video-comments` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/serp/youtube/video-comments` - **Credits**: 0.13 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve comments for a YouTube video. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `video_id` | string | yes | YouTube video ID. | | `location_name` | string | yes | Location name, e.g. "United States". | | `language_code` | string | yes | Language code, e.g. "en". | | `device` | string (enum) | no | Device type. (one of: desktop, mobile) | | `os` | string | no | Operating system. | | `depth` | integer | no | Number of comments to return (1–700). Defaults to 10. (min 1; max 700) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/serp/youtube/video-comments" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"video_id":"dQw4w9WgXcQ","location_name":"United States","language_code":"en","depth":10}' ``` Request body: ```json { "video_id": "dQw4w9WgXcQ", "location_name": "United States", "language_code": "en", "depth": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | YouTube video comments | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/serp/youtube/video-comments # YouTube Video Subtitles — `POST /v1/dataforseo/serp/youtube/video-subtitles` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/serp/youtube/video-subtitles` - **Credits**: 0.13 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve subtitles for a YouTube video. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `video_id` | string | yes | YouTube video ID. | | `location_name` | string | yes | Location name, e.g. "United States". | | `language_code` | string | yes | Language code, e.g. "en". | | `subtitles_language` | string | no | Language code for the subtitles to retrieve. | | `subtitles_translate_language` | string | no | Language code to translate subtitles into. | | `device` | string (enum) | no | Device type. (one of: desktop, mobile) | | `os` | string | no | Operating system. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/serp/youtube/video-subtitles" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"video_id":"dQw4w9WgXcQ","location_name":"United States","language_code":"en"}' ``` Request body: ```json { "video_id": "dQw4w9WgXcQ", "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | YouTube video subtitles | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/serp/youtube/video-subtitles # SERP Locations — `POST /v1/dataforseo/serp/{search_engine}/locations` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/serp/{search_engine}/locations` - **Credits**: 0.13 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the list of locations supported for a given search engine. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search_engine` | string | yes | Search engine name, e.g. "google", "bing", "yahoo". | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `country_iso_code` | string | yes | 2-letter ISO country code, e.g. "US". | | `location_type` | string | no | Filter by location type. | | `location_name` | string | no | Filter by location name. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/serp/string/locations" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"country_iso_code":"US"}' ``` Request body: ```json { "country_iso_code": "US" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | SERP locations list | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/serp/{search_engine}/locations # Organic SERP — `POST /v1/dataforseo/serp/{search_engine}/organic` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/serp/{search_engine}/organic` - **Credits**: 0.13 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve organic search results for a keyword from a specified search engine. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search_engine` | string | yes | Search engine name, e.g. "google", "bing", "yahoo". | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keyword` | string | yes | Search keyword. | | `language_code` | string | no | Language code, e.g. "en". | | `location_name` | string | no | Location name, e.g. "United States". | | `depth` | integer | no | Number of results to return (1–700). Defaults to 10. (min 1; max 700) | | `device` | string (enum) | no | Device type. Defaults to "desktop". (one of: desktop, mobile) | | `max_crawl_pages` | integer | no | Maximum number of pages to crawl. (min 0) | | `people_also_ask_click_depth` | integer | no | Depth for People Also Ask expansion. (min 0) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/serp/string/organic" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keyword":"B2B sales automation software","language_code":"en","location_name":"United States","depth":10}' ``` Request body: ```json { "keyword": "B2B sales automation software", "language_code": "en", "location_name": "United States", "depth": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Organic SERP results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/serp/{search_engine}/organic # Google Ads Locations — `POST /v1/dataforseo/keywords/google-ads/locations` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/keywords/google-ads/locations` - **Credits**: 0.11 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the list of locations supported for Google Ads keyword data. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `country_iso_code` | string | yes | 2-letter ISO country code, e.g. "US". | | `location_type` | string | no | Filter by location type. | | `location_name` | string | no | Filter by location name. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/keywords/google-ads/locations" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"country_iso_code":"US"}' ``` Request body: ```json { "country_iso_code": "US" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Google Ads locations list | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/keywords/google-ads/locations # Google Ads Search Volume — `POST /v1/dataforseo/keywords/google-ads/search-volume` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/keywords/google-ads/search-volume` - **Credits**: 0.11 credits per keyword - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get historical search volume data for a list of keywords from Google Ads. Credits: bills only for returned results, per keyword; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/seo/search` (Search SEO) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keywords` | array | yes | List of keywords to get search volume for. Costs 1 credit per keyword. | | `location_name` | string | no | Location name, e.g. "United States". | | `language_code` | string | no | Language code, e.g. "en". | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/keywords/google-ads/search-volume" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keywords":["cold email software","sales automation tool","B2B prospecting"],"location_name":"United States","language_code":"en"}' ``` Request body: ```json { "keywords": [ "cold email software", "sales automation tool", "B2B prospecting" ], "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search volume results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/keywords/google-ads/search-volume # Google Trends Categories — `GET /v1/dataforseo/keywords/google-trends/categories` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `GET https://api.coldiq.com/v1/dataforseo/keywords/google-trends/categories` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the list of Google Trends categories. No credit cost. Credits: free. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/dataforseo/keywords/google-trends/categories" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Google Trends categories list | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=get:/v1/dataforseo/keywords/google-trends/categories # Google Trends Explore — `POST /v1/dataforseo/keywords/google-trends/explore` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/keywords/google-trends/explore` - **Credits**: 0.11 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Explore interest over time and related queries for up to 5 keywords using Google Trends. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/seo/search` (Search SEO) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keywords` | array | yes | List of keywords to explore (1–5). Costs 1 credit per call. | | `location_name` | string | no | Location name, e.g. "United States". | | `language_code` | string | no | Language code, e.g. "en". | | `type` | string | no | Type of Google Trends data to retrieve. | | `date_from` | string | no | Start date for the trends data range (YYYY-MM-DD). | | `date_to` | string | no | End date for the trends data range (YYYY-MM-DD). | | `time_range` | string | no | Predefined time range, e.g. "past_12_months". | | `item_types` | array | no | Types of items to include in the results. | | `category_code` | integer | no | Google Trends category code to filter results. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/keywords/google-trends/explore" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keywords":["cold email","sales automation"],"location_name":"United States"}' ``` Request body: ```json { "keywords": [ "cold email", "sales automation" ], "location_name": "United States" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Google Trends explore results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/keywords/google-trends/explore # Ranked Keywords — `POST /v1/dataforseo/labs/ranked-keywords` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/ranked-keywords` - **Credits**: 2.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the list of keywords a domain ranks for in Google organic search. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/seo/search` (Search SEO) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `target` | string | yes | Domain to retrieve ranked keywords for. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `limit` | integer | no | Maximum number of results to return. Defaults to 10. (min 0) | | `offset` | integer | no | Offset in the results array for pagination. (min 0) | | `filters` | array | no | Array of filter conditions. Each element is a filter rule or logical operator. | | `order_by` | array | no | Sorting rules as an array of field+order strings (e.g. ["keyword_data.keyword_info.search_volume,desc"]). | | `include_subdomains` | boolean | no | When true, results include subdomains of the target. | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | | `item_types` | array | no | Filter by item types in SERP (e.g. ["organic", "paid"]). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/ranked-keywords" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"target":"coldiq.com","location_name":"United States","language_code":"en","limit":10}' ``` Request body: ```json { "target": "coldiq.com", "location_name": "United States", "language_code": "en", "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Ranked keywords results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/ranked-keywords # Competitors Domain — `POST /v1/dataforseo/labs/competitors-domain` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/competitors-domain` - **Credits**: 2.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get domains competing with the target in Google organic search. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/seo/search` (Search SEO) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `target` | string | yes | Domain to find competitors for. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `ignore_synonyms` | boolean | no | When true, synonyms are excluded from results. | | `limit` | integer | no | Maximum number of results to return. Defaults to 10. (min 0) | | `offset` | integer | no | Offset in the results array for pagination. (min 0) | | `filters` | array | no | Array of filter conditions. Each element is a filter rule or logical operator. | | `order_by` | array | no | Sorting rules as an array of field+order strings (e.g. ["keyword_data.keyword_info.search_volume,desc"]). | | `exclude_top_domains` | boolean | no | When true, top domains (e.g. Wikipedia, Amazon) are excluded from results. | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | | `item_types` | array | no | Filter by item types in SERP (e.g. ["organic", "paid"]). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/competitors-domain" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"target":"coldiq.com","location_name":"United States","language_code":"en"}' ``` Request body: ```json { "target": "coldiq.com", "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Competitor domains | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/competitors-domain # Domain Rank Overview — `POST /v1/dataforseo/labs/domain-rank-overview` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/domain-rank-overview` - **Credits**: 2.31 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get a summary of organic and paid traffic metrics for a domain. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/seo/search` (Search SEO) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `target` | string | yes | Domain to get rank overview for. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `ignore_synonyms` | boolean | no | When true, synonyms are excluded from results. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/domain-rank-overview" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"target":"coldiq.com","location_name":"United States","language_code":"en"}' ``` Request body: ```json { "target": "coldiq.com", "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Domain rank overview | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/domain-rank-overview # Keyword Ideas — `POST /v1/dataforseo/labs/keyword-ideas` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/keyword-ideas` - **Credits**: 2.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get keyword ideas based on seed keywords. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/seo/search` (Search SEO) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keywords` | array | yes | Seed keywords to generate ideas for. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `limit` | integer | no | Maximum number of results to return. Defaults to 10. (min 0) | | `offset` | integer | no | Offset in the results array for pagination. (min 0) | | `filters` | array | no | Array of filter conditions. Each element is a filter rule or logical operator. | | `order_by` | array | no | Sorting rules as an array of field+order strings (e.g. ["keyword_data.keyword_info.search_volume,desc"]). | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/keyword-ideas" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keywords":["cold email","sales automation"],"location_name":"United States","language_code":"en","limit":10}' ``` Request body: ```json { "keywords": [ "cold email", "sales automation" ], "location_name": "United States", "language_code": "en", "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Keyword ideas | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/keyword-ideas # Related Keywords — `POST /v1/dataforseo/labs/related-keywords` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/related-keywords` - **Credits**: 2.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get keywords related to a seed keyword, traversing the related keywords graph. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keyword` | string | yes | Seed keyword to find related keywords for. | | `depth` | integer | no | Depth of the related keywords graph to traverse. (min 0) | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `limit` | integer | no | Maximum number of results to return. Defaults to 10. (min 0) | | `offset` | integer | no | Offset in the results array for pagination. (min 0) | | `filters` | array | no | Array of filter conditions. Each element is a filter rule or logical operator. | | `order_by` | array | no | Sorting rules as an array of field+order strings (e.g. ["keyword_data.keyword_info.search_volume,desc"]). | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/related-keywords" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keyword":"cold email software","location_name":"United States","language_code":"en","limit":10}' ``` Request body: ```json { "keyword": "cold email software", "location_name": "United States", "language_code": "en", "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Related keywords | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/related-keywords # Keyword Suggestions — `POST /v1/dataforseo/labs/keyword-suggestions` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/keyword-suggestions` - **Credits**: 2.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get keyword suggestions based on a seed keyword. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keyword` | string | yes | Seed keyword to generate suggestions for. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `limit` | integer | no | Maximum number of results to return. Defaults to 10. (min 0) | | `offset` | integer | no | Offset in the results array for pagination. (min 0) | | `filters` | array | no | Array of filter conditions. Each element is a filter rule or logical operator. | | `order_by` | array | no | Sorting rules as an array of field+order strings (e.g. ["keyword_data.keyword_info.search_volume,desc"]). | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/keyword-suggestions" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keyword":"B2B sales automation","location_name":"United States","language_code":"en","limit":10}' ``` Request body: ```json { "keyword": "B2B sales automation", "location_name": "United States", "language_code": "en", "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Keyword suggestions | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/keyword-suggestions # Historical SERP — `POST /v1/dataforseo/labs/historical-serp` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/historical-serp` - **Credits**: 2.31 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get historical Google SERP data for a keyword. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keyword` | string | yes | Keyword to retrieve historical SERP data for. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/historical-serp" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keyword":"cold email software","location_name":"United States","language_code":"en"}' ``` Request body: ```json { "keyword": "cold email software", "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Historical SERP data | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/historical-serp # SERP Competitors — `POST /v1/dataforseo/labs/serp-competitors` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/serp-competitors` - **Credits**: 2.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get domains competing in the SERP for a set of keywords. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keywords` | array | yes | Keywords to find SERP competitors for. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `limit` | integer | no | Maximum number of results to return. Defaults to 10. (min 0) | | `offset` | integer | no | Offset in the results array for pagination. (min 0) | | `filters` | array | no | Array of filter conditions. Each element is a filter rule or logical operator. | | `order_by` | array | no | Sorting rules as an array of field+order strings (e.g. ["keyword_data.keyword_info.search_volume,desc"]). | | `include_subdomains` | boolean | no | When true, results include subdomains of the target. | | `item_types` | array | no | Filter by item types in SERP (e.g. ["organic", "paid"]). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/serp-competitors" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keywords":["cold email","sales outreach tools"],"location_name":"United States","language_code":"en"}' ``` Request body: ```json { "keywords": [ "cold email", "sales outreach tools" ], "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | SERP competitors | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/serp-competitors # Bulk Keyword Difficulty — `POST /v1/dataforseo/labs/bulk-keyword-difficulty` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/bulk-keyword-difficulty` - **Credits**: 2.31 credits per keyword - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get keyword difficulty scores for a list of keywords. Credits: bills only for returned results, per keyword; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keywords` | array | yes | Keywords to retrieve difficulty scores for. Costs 1 credit per keyword. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/bulk-keyword-difficulty" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keywords":["cold email software","B2B sales automation","sales prospecting tools"],"location_name":"United States","language_code":"en"}' ``` Request body: ```json { "keywords": [ "cold email software", "B2B sales automation", "sales prospecting tools" ], "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Keyword difficulty scores | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/bulk-keyword-difficulty # Subdomains — `POST /v1/dataforseo/labs/subdomains` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/subdomains` - **Credits**: 2.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get organic search metrics for all subdomains of a target domain. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `target` | string | yes | Root domain to retrieve subdomain data for. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `ignore_synonyms` | boolean | no | When true, synonyms are excluded from results. | | `limit` | integer | no | Maximum number of results to return. Defaults to 10. (min 0) | | `offset` | integer | no | Offset in the results array for pagination. (min 0) | | `filters` | array | no | Array of filter conditions. Each element is a filter rule or logical operator. | | `order_by` | array | no | Sorting rules as an array of field+order strings (e.g. ["keyword_data.keyword_info.search_volume,desc"]). | | `item_types` | array | no | Filter by item types in SERP (e.g. ["organic", "paid"]). | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/subdomains" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"target":"microsoft.com","location_name":"United States","language_code":"en"}' ``` Request body: ```json { "target": "microsoft.com", "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Subdomains data | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/subdomains # Keyword Overview — `POST /v1/dataforseo/labs/keyword-overview` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/keyword-overview` - **Credits**: 2.31 credits per keyword - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get search volume, CPC, competition, and other metrics for a list of keywords. Credits: bills only for returned results, per keyword; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keywords` | array | yes | Keywords to get overview metrics for (max 700). Costs 1 credit per keyword. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/keyword-overview" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keywords":["cold email software","sales automation"],"location_name":"United States","language_code":"en"}' ``` Request body: ```json { "keywords": [ "cold email software", "sales automation" ], "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Keyword overview metrics | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/keyword-overview # Top Searches — `POST /v1/dataforseo/labs/top-searches` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/top-searches` - **Credits**: 2.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the most popular Google search queries for a location. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `limit` | integer | no | Maximum number of results to return. Defaults to 10. (min 0) | | `offset` | integer | no | Offset in the results array for pagination. (min 0) | | `filters` | array | no | Array of filter conditions. Each element is a filter rule or logical operator. | | `order_by` | array | no | Sorting rules as an array of field+order strings (e.g. ["keyword_data.keyword_info.search_volume,desc"]). | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/top-searches" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"location_name":"United States","language_code":"en","limit":10}' ``` Request body: ```json { "location_name": "United States", "language_code": "en", "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Top search queries | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/top-searches # Search Intent — `POST /v1/dataforseo/labs/search-intent` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/search-intent` - **Credits**: 2.31 credits per keyword - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Classify keywords by search intent (informational, navigational, commercial, transactional). Credits: bills only for returned results, per keyword; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keywords` | array | yes | Keywords to classify by search intent. Costs 1 credit per keyword. | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/search-intent" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keywords":["best cold email software","buy sales CRM","how to write cold emails"],"language_code":"en"}' ``` Request body: ```json { "keywords": [ "best cold email software", "buy sales CRM", "how to write cold emails" ], "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search intent classification | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/search-intent # Keywords for Site — `POST /v1/dataforseo/labs/keywords-for-site` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/keywords-for-site` - **Credits**: 2.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get keyword suggestions relevant to a target website. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `target` | string | yes | Domain to retrieve keyword ideas for. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `limit` | integer | no | Maximum number of results to return. Defaults to 10. (min 0) | | `offset` | integer | no | Offset in the results array for pagination. (min 0) | | `filters` | array | no | Array of filter conditions. Each element is a filter rule or logical operator. | | `order_by` | array | no | Sorting rules as an array of field+order strings (e.g. ["keyword_data.keyword_info.search_volume,desc"]). | | `include_subdomains` | boolean | no | When true, results include subdomains of the target. | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/keywords-for-site" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"target":"coldiq.com","location_name":"United States","language_code":"en","limit":10}' ``` Request body: ```json { "target": "coldiq.com", "location_name": "United States", "language_code": "en", "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Keywords for site | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/keywords-for-site # Domain Intersection — `POST /v1/dataforseo/labs/domain-intersection` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/domain-intersection` - **Credits**: 2.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get keywords that two domains have in common or that distinguish them. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `target1` | string | yes | First domain to compare. | | `target2` | string | yes | Second domain to compare. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `ignore_synonyms` | boolean | no | When true, synonyms are excluded from results. | | `limit` | integer | no | Maximum number of results to return. Defaults to 10. (min 0) | | `offset` | integer | no | Offset in the results array for pagination. (min 0) | | `filters` | array | no | Array of filter conditions. Each element is a filter rule or logical operator. | | `order_by` | array | no | Sorting rules as an array of field+order strings (e.g. ["keyword_data.keyword_info.search_volume,desc"]). | | `intersections` | boolean | no | When true, returns only keywords both domains rank for. | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | | `item_types` | array | no | Filter by item types in SERP (e.g. ["organic", "paid"]). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/domain-intersection" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"target1":"coldiq.com","target2":"apollo.io","location_name":"United States","language_code":"en"}' ``` Request body: ```json { "target1": "coldiq.com", "target2": "apollo.io", "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Domain intersection results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/domain-intersection # Historical Rank Overview — `POST /v1/dataforseo/labs/historical-rank-overview` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/historical-rank-overview` - **Credits**: 2.31 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get historical organic and paid traffic metrics for a domain. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `target` | string | yes | Domain to retrieve historical rank overview for. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `ignore_synonyms` | boolean | no | When true, synonyms are excluded from results. | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/historical-rank-overview" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"target":"coldiq.com","location_name":"United States","language_code":"en"}' ``` Request body: ```json { "target": "coldiq.com", "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Historical rank overview | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/historical-rank-overview # Page Intersection — `POST /v1/dataforseo/labs/page-intersection` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/page-intersection` - **Credits**: 2.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get keywords that multiple pages have in common or that distinguish them. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `pages` | object | yes | Key-value pairs of page identifiers to URLs to compare. | | `exclude_pages` | array | no | Pages to exclude from the intersection results. | | `intersection_mode` | string | no | Intersection mode: "all" to include only keywords ranking on all pages, or "any". | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `ignore_synonyms` | boolean | no | When true, synonyms are excluded from results. | | `limit` | integer | no | Maximum number of results to return. Defaults to 10. (min 0) | | `offset` | integer | no | Offset in the results array for pagination. (min 0) | | `filters` | array | no | Array of filter conditions. Each element is a filter rule or logical operator. | | `order_by` | array | no | Sorting rules as an array of field+order strings (e.g. ["keyword_data.keyword_info.search_volume,desc"]). | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | | `item_types` | array | no | Filter by item types in SERP (e.g. ["organic", "paid"]). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/page-intersection" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"pages":{"page1":"https://coldiq.com/blog","page2":"https://apollo.io/blog"},"location_name":"United States","language_code":"en"}' ``` Request body: ```json { "pages": { "page1": "https://coldiq.com/blog", "page2": "https://apollo.io/blog" }, "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Page intersection results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/page-intersection # Bulk Traffic Estimation — `POST /v1/dataforseo/labs/bulk-traffic-estimation` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/bulk-traffic-estimation` - **Credits**: 2.31 credits per target - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Estimate organic search traffic for a list of domains. Credits: bills only for returned results, per target; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `targets` | array | yes | Domains to estimate organic traffic for. Costs 1 credit per domain. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `ignore_synonyms` | boolean | no | When true, synonyms are excluded from results. | | `item_types` | array | no | Filter by item types in SERP (e.g. ["organic", "paid"]). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/bulk-traffic-estimation" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"targets":["coldiq.com","apollo.io","salesloft.com"],"location_name":"United States","language_code":"en"}' ``` Request body: ```json { "targets": [ "coldiq.com", "apollo.io", "salesloft.com" ], "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Traffic estimation results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/bulk-traffic-estimation # Available Filters — `GET /v1/dataforseo/labs/available-filters` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `GET https://api.coldiq.com/v1/dataforseo/labs/available-filters` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the list of available filters for DataForSEO Labs endpoints. No credit cost. Credits: free. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/dataforseo/labs/available-filters" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Available filters | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=get:/v1/dataforseo/labs/available-filters # Historical Keyword Data — `POST /v1/dataforseo/labs/historical-keyword-data` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/historical-keyword-data` - **Credits**: 2.31 credits per keyword - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get monthly historical search volume data for a list of keywords. Credits: bills only for returned results, per keyword; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keywords` | array | yes | Keywords to retrieve historical search data for (max 700). Costs 1 credit per keyword. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/historical-keyword-data" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keywords":["cold email software","B2B sales automation"],"location_name":"United States","language_code":"en"}' ``` Request body: ```json { "keywords": [ "cold email software", "B2B sales automation" ], "location_name": "United States", "language_code": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Historical keyword data | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/historical-keyword-data # Relevant Pages — `POST /v1/dataforseo/labs/relevant-pages` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/labs/relevant-pages` - **Credits**: 2.31 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get pages from a domain most relevant to organic search traffic. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `target` | string | yes | Domain to find relevant pages for. | | `location_name` | string | no | Full location name (e.g. "United States"). | | `language_code` | string | no | ISO 639-1 language code (e.g. "en"). | | `ignore_synonyms` | boolean | no | When true, synonyms are excluded from results. | | `limit` | integer | no | Maximum number of results to return. Defaults to 10. (min 0) | | `offset` | integer | no | Offset in the results array for pagination. (min 0) | | `filters` | array | no | Array of filter conditions. Each element is a filter rule or logical operator. | | `order_by` | array | no | Sorting rules as an array of field+order strings (e.g. ["keyword_data.keyword_info.search_volume,desc"]). | | `exclude_top_domains` | boolean | no | When true, top domains (e.g. Wikipedia, Amazon) are excluded from results. | | `item_types` | array | no | Filter by item types in SERP (e.g. ["organic", "paid"]). | | `include_clickstream_data` | boolean | no | When true, returns clickstream-based metrics. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/labs/relevant-pages" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"target":"coldiq.com","location_name":"United States","language_code":"en","limit":10}' ``` Request body: ```json { "target": "coldiq.com", "location_name": "United States", "language_code": "en", "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Relevant pages | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/labs/relevant-pages # WHOIS Overview — `POST /v1/dataforseo/domain-analytics/whois` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/domain-analytics/whois` - **Credits**: 0.13 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get WHOIS data for domains matching the specified filters. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/seo/search` (Search SEO) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Maximum number of results to return. (min 0) | | `offset` | integer | no | Offset for pagination. (min 0) | | `filters` | array | no | Array of filters. | | `order_by` | array | no | Array of sorting parameters. | | `is_claimed` | boolean | no | If true, returns only claimed domains. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/domain-analytics/whois" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"limit":10,"filters":[["domain","=","coldiq.com"]]}' ``` Request body: ```json { "limit": 10, "filters": [ [ "domain", "=", "coldiq.com" ] ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | WHOIS overview results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/domain-analytics/whois # WHOIS Available Filters — `GET /v1/dataforseo/domain-analytics/whois/available-filters` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `GET https://api.coldiq.com/v1/dataforseo/domain-analytics/whois/available-filters` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the list of available filters for the WHOIS Overview endpoint. No credit cost. Credits: free. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/dataforseo/domain-analytics/whois/available-filters" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Available WHOIS filters | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=get:/v1/dataforseo/domain-analytics/whois/available-filters # Domain Technologies — `POST /v1/dataforseo/domain-analytics/technologies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/domain-analytics/technologies` - **Credits**: 0.13 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get technologies detected on the target domain. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/seo/search` (Search SEO) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `target` | string | yes | Target domain to analyze. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/domain-analytics/technologies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"target":"coldiq.com"}' ``` Request body: ```json { "target": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Domain technologies results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/domain-analytics/technologies # Technologies Available Filters — `GET /v1/dataforseo/domain-analytics/technologies/available-filters` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `GET https://api.coldiq.com/v1/dataforseo/domain-analytics/technologies/available-filters` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the list of available filters for the Technologies endpoints. No credit cost. Credits: free. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/dataforseo/domain-analytics/technologies/available-filters" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Available technologies filters | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=get:/v1/dataforseo/domain-analytics/technologies/available-filters # Content Parsing — `POST /v1/dataforseo/on-page/content-parsing` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/on-page/content-parsing` - **Credits**: 0.26 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Parse and extract structured content from a webpage, including text, links, and metadata. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/seo/search` (Search SEO) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | URL of the page to parse. (format uri) | | `enable_javascript` | boolean | no | If true, enables JavaScript rendering. | | `custom_user_agent` | string | no | Custom user agent string. | | `accept_language` | string | no | Accept-Language header value. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/on-page/content-parsing" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://coldiq.com"}' ``` Request body: ```json { "url": "https://coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Content parsing results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/on-page/content-parsing # Instant Pages — `POST /v1/dataforseo/on-page/instant-pages` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/on-page/instant-pages` - **Credits**: 0.26 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Crawl a URL and return detailed on-page data including meta tags, links, and content. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | URL of the page to crawl. (format uri) | | `enable_javascript` | boolean | no | If true, enables JavaScript rendering. | | `custom_js` | string | no | Custom JavaScript to execute on the page. | | `custom_user_agent` | string | no | Custom user agent string. | | `accept_language` | string | no | Accept-Language header value. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/on-page/instant-pages" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://coldiq.com"}' ``` Request body: ```json { "url": "https://coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Instant pages results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/on-page/instant-pages # Lighthouse — `POST /v1/dataforseo/on-page/lighthouse` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: DataForSEO - **Endpoint**: `POST https://api.coldiq.com/v1/dataforseo/on-page/lighthouse` - **Credits**: 0.26 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Run a Google Lighthouse audit on a URL and return performance, accessibility, SEO, and best practices scores. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/seo/search` (Search SEO) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | URL to run Lighthouse audit on. (format uri) | | `enable_javascript` | boolean | no | If true, enables JavaScript rendering. | | `custom_user_agent` | string | no | Custom user agent string. | | `accept_language` | string | no | Accept-Language header value. | | `full_data` | boolean | no | If true, returns the full Lighthouse audit data. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/dataforseo/on-page/lighthouse" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://coldiq.com"}' ``` Request body: ```json { "url": "https://coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Lighthouse audit results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/dataforseo?ep=post:/v1/dataforseo/on-page/lighthouse # Provider: TheirStack # Search jobs — `POST /v1/theirstack/jobs/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: TheirStack - **Endpoint**: `POST https://api.coldiq.com/v1/theirstack/jobs/search` - **Credits**: 4.2 credits per job - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search job postings by title, technology, company, location, and seniority. Credits: bills only for returned results, per job; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternatives: `POST /v1/signals/find` (Find Signals) and `POST /v1/jobs/search` (Search Jobs) run this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and fall back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer | no | Page number (0-indexed). (min 0) | | `limit` | integer | no | Results per page. Default: 25. (min 1; max 100) | | `offset` | integer | no | Offset for pagination. (min 0) | | `order_by` | array | no | Sort fields. Default: date_posted desc. | | `order_by[].field` | string | yes | Field name to sort by. | | `order_by[].desc` | boolean | no | Sort descending. Default: true. | | `job_title_or` | array | no | Match any of these exact job titles. | | `job_title_pattern_or` | array | no | Match job titles containing any of these patterns. | | `job_title_pattern_and` | array | no | Match job titles containing all of these patterns. | | `job_country_code_or` | array | no | ISO country codes where the job is located (e.g. "US", "GB"). | | `posted_at_max_age_days` | integer | no | Only return jobs posted within the last N days. (min 1) | | `posted_at_gte` | string | no | Only return jobs posted on or after this date (ISO 8601). | | `posted_at_lte` | string | no | Only return jobs posted on or before this date (ISO 8601). | | `job_description_pattern_or` | array | no | Match job descriptions containing any of these patterns. | | `job_seniority_or` | array | no | Seniority levels (e.g. "senior", "lead", "manager"). | | `job_technology_slug_or` | array | no | Technology slugs mentioned in the job (e.g. "react", "postgresql"). | | `job_keyword_slug_or` | array | no | Keyword/buying-intent slugs mentioned in the job. | | `job_location_or` | array | no | Location IDs from the TheirStack catalog. | | `company_name_or` | array | no | Filter by exact company names. | | `company_domain_or` | array | no | Filter by company domains. | | `company_linkedin_url_or` | array | no | Filter by company LinkedIn URLs. | | `company_technology_slug_or` | array | no | Company uses any of these technologies. | | `funding_stage_or` | array | no | Funding stages (e.g. "seed", "series_a", "series_b"). | | `industry_or` | array | no | Filter by industry names. | | `industry_id_or` | array | no | Filter by industry IDs. | | `include_total_results` | boolean | no | Include total result count in metadata (slower). | | `blur_company_data` | boolean | no | Anonymize company information in the response. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/theirstack/jobs/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"job_title_pattern_or":["software engineer","backend developer"],"company_technology_slug_or":["salesforce"],"posted_at_max_age_days":30,"limit":10}' ``` Request body: ```json { "job_title_pattern_or": [ "software engineer", "backend developer" ], "company_technology_slug_or": [ "salesforce" ], "posted_at_max_age_days": 30, "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Matching job postings. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | array | yes | | | `metadata` | object | no | | | `metadata.total_results` | number \| null | no | | | `metadata.page` | number | no | | | `metadata.limit` | number | no | | Example response: ```json { "data": [ {} ], "metadata": { "total_results": 0, "page": 0, "limit": 0 } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/theirstack?ep=post:/v1/theirstack/jobs/search # Search companies — `POST /v1/theirstack/companies/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: TheirStack - **Endpoint**: `POST https://api.coldiq.com/v1/theirstack/companies/search` - **Credits**: 12.6 credits per company - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search companies by tech stack, hiring signals, firmographics, and funding. Credits: bills only for returned results, per company; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternatives: `POST /v1/companies/search` (Search Companies) and `POST /v1/signals/find` (Find Signals) run this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and fall back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer | no | Page number (0-indexed). (min 0) | | `limit` | integer | no | Results per page. Default: 25. (min 1; max 100) | | `offset` | integer | no | Offset for pagination. (min 0) | | `order_by` | array | no | Sort fields. | | `order_by[].field` | string | yes | Field name to sort by. | | `order_by[].desc` | boolean | no | Sort descending. Default: true. | | `expand_technology_slugs` | array | no | Return detailed usage data for these technology slugs on each company. | | `company_name_or` | array | no | Filter by exact company names. | | `company_domain_or` | array | no | Filter by company domains. | | `company_linkedin_url_or` | array | no | Filter by company LinkedIn URLs. | | `company_technology_slug_or` | array | no | Company uses any of these technologies. | | `company_technology_slug_and` | array | no | Company uses all of these technologies. | | `company_keyword_slug_or` | array | no | Buying-intent keywords the company is associated with. | | `company_country_code_or` | array | no | HQ country codes (e.g. "US", "GB"). | | `min_employee_count` | integer | no | Minimum employee count. (min 0) | | `max_employee_count` | integer | no | Maximum employee count. (min 0) | | `min_funding_usd` | integer | no | Minimum total funding in USD. (min 0) | | `max_funding_usd` | integer | no | Maximum total funding in USD. (min 0) | | `funding_stage_or` | array | no | Funding stages (e.g. "seed", "series_a"). | | `industry_or` | array | no | Filter by industry names. | | `industry_id_or` | array | no | Filter by industry IDs. | | `only_yc_companies` | boolean | no | Only return Y Combinator-backed companies. | | `company_description_pattern_or` | array | no | Company description contains any of these patterns. | | `include_total_results` | boolean | no | Include total result count in metadata (slower). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/theirstack/companies/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_technology_slug_or":["salesforce","hubspot"],"company_country_code_or":["US"],"min_employee_count":50,"max_employee_count":500,"limit":10}' ``` Request body: ```json { "company_technology_slug_or": [ "salesforce", "hubspot" ], "company_country_code_or": [ "US" ], "min_employee_count": 50, "max_employee_count": 500, "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Matching companies. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | array | yes | | | `metadata` | object | no | | | `metadata.total_results` | number \| null | no | | | `metadata.page` | number | no | | | `metadata.limit` | number | no | | Example response: ```json { "data": [ {} ], "metadata": { "total_results": 0, "page": 0, "limit": 0 } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/theirstack?ep=post:/v1/theirstack/companies/search # Get company technologies — `POST /v1/theirstack/companies/technologies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: TheirStack - **Endpoint**: `POST https://api.coldiq.com/v1/theirstack/companies/technologies` - **Credits**: 12.6 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description List all technologies detected for a company, with confidence levels and job signal counts. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domain` | string | no | Company domain (e.g. "microsoft.com"). | | `company_name` | string | no | Company name. | | `company_linkedin_url` | string | no | Company LinkedIn URL. | | `company_name_or` | array | no | Multiple company names (OR). | | `order_by` | array | no | Sort fields. | | `order_by[].field` | string | yes | Field name to sort by. | | `order_by[].desc` | boolean | no | Sort descending. Default: true. | | `technology_slug_or` | array | no | Filter by technology slugs. | | `technology_category_slug_or` | array | no | Filter by technology category slugs. | | `keyword_slug_or` | array | no | Filter by keyword slugs. | | `keyword_category_slug_or` | array | no | Filter by keyword category slugs. | | `confidence_or` | array | no | Filter by signal confidence levels. | | `include_total_results` | boolean | no | Include total result count in metadata (slower). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/theirstack/companies/technologies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"coldiq.com"}' ``` Request body: ```json { "company_domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Technologies detected for the company. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | array | yes | | | `metadata` | object | no | | | `metadata.total_results` | number \| null | no | | | `metadata.page` | number | no | | | `metadata.limit` | number | no | | Example response: ```json { "data": [ {} ], "metadata": { "total_results": 0, "page": 0, "limit": 0 } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/theirstack?ep=post:/v1/theirstack/companies/technologies # Get company buying intents — `POST /v1/theirstack/companies/buying_intents` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: TheirStack - **Endpoint**: `POST https://api.coldiq.com/v1/theirstack/companies/buying_intents` - **Credits**: 12.6 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Detect buying intent topics for a company based on job signals and technology adoption patterns. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/signals/find` (Find Signals) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_domain` | string | no | Company domain (e.g. "microsoft.com"). | | `company_name` | string | no | Company name. | | `company_linkedin_url` | string | no | Company LinkedIn URL. | | `company_name_or` | array | no | Multiple company names (OR). | | `order_by` | array | no | Sort fields. | | `order_by[].field` | string | yes | Field name to sort by. | | `order_by[].desc` | boolean | no | Sort descending. Default: true. | | `technology_slug_or` | array | no | Filter by technology slugs. | | `technology_category_slug_or` | array | no | Filter by technology category slugs. | | `keyword_slug_or` | array | no | Filter by keyword slugs. | | `keyword_category_slug_or` | array | no | Filter by keyword category slugs. | | `confidence_or` | array | no | Filter by signal confidence levels. | | `include_total_results` | boolean | no | Include total result count in metadata (slower). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/theirstack/companies/buying_intents" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_domain":"coldiq.com"}' ``` Request body: ```json { "company_domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Buying intent signals for the company. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `data` | array | yes | | | `metadata` | object | no | | | `metadata.total_results` | number \| null | no | | | `metadata.page` | number | no | | | `metadata.limit` | number | no | | Example response: ```json { "data": [ {} ], "metadata": { "total_results": 0, "page": 0, "limit": 0 } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/theirstack?ep=post:/v1/theirstack/companies/buying_intents # Provider: Sumble # Find Organizations — `POST /v1/sumble/organizations/find` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Sumble - **Endpoint**: `POST https://api.coldiq.com/v1/sumble/organizations/find` - **Credits**: 10.5 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search for organizations using technology, industry, and firmographic filters. Returns up to 200 results. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `filters` | object | yes | Technology, category, date, or text query filters. | | `filters.technologies` | array | no | Technology slugs to filter by (max 20). | | `filters.technology_categories` | array | no | Technology category slugs to filter by (max 20). | | `filters.since` | string | no | Filter for entities active since this date (YYYY-MM-DD). | | `filters.query` | string | no | Text search query (alternative to technology filters). | | `include_entity_details` | boolean | no | Include matching technology and team details per organization. Requires at least one technology or technology_category filter. Increases credit cost to 5 credits × filter terms per result. | | `limit` | integer | no | Max results to return (1–100, default 10). (min 1; max 100) | | `offset` | integer | no | Pagination offset (default 0). (min 0; max 10000) | | `order_by_column` | string (enum) | no | Column to sort results by. (one of: industry, employee_count, employee_count_int, first_activity_time, last_activity_time, jobs_count, teams_count, people_count, jobs_count_growth_6mo, cloud_spend_estimate_millions_usd, account_score) | | `order_by_direction` | string (enum) | no | Sort direction. (one of: ASC, DESC) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/sumble/organizations/find" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filters":{"technologies":["hubspot"]},"limit":10}' ``` Request body: ```json { "filters": { "technologies": [ "hubspot" ] }, "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Matching organizations. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Transaction UUID. | | `credits_used` | integer | yes | Credits consumed by this request. | | `total` | integer | yes | | | `source_data_url` | string | no | | | `organizations` | array | yes | | | `organizations[].id` | integer | yes | | | `organizations[].parent_id` | integer \| null | no | | | `organizations[].name` | string | yes | | | `organizations[].url` | string | yes | | | `organizations[].industry` | string \| null | no | | | `organizations[].total_employees` | integer \| null | no | | | `organizations[].matching_people_count` | integer \| null | no | | | `organizations[].matching_team_count` | integer \| null | no | | | `organizations[].matching_job_post_count` | integer \| null | no | | | `organizations[].headquarters_country` | string \| null | no | | | `organizations[].headquarters_state` | string \| null | no | | | `organizations[].domain` | string \| null | no | | | `organizations[].linkedin_organization_url` | string \| null | no | | | `organizations[].matching_tags` | array \| null | no | | | `organizations[].matching_entities` | array \| null | no | | | `organizations[].matching_entities[].type` | string | yes | | | `organizations[].matching_entities[].term` | string | yes | | | `organizations[].matching_entities[].job_post_count` | integer | yes | | | `organizations[].matching_entities[].people_count` | integer | yes | | | `organizations[].matching_entities[].team_count` | integer | yes | | | `organizations[].matching_entities[].job_post_used_count` | integer \| null | no | | | `organizations[].matching_entities[].team_count_used` | integer \| null | no | | Example response: ```json { "id": "string", "credits_used": 0, "total": 0, "source_data_url": "string", "organizations": [ { "id": 0, "parent_id": 0, "name": "string", "url": "string", "industry": "string", "total_employees": 0, "matching_people_count": 0, "matching_team_count": 0, "matching_job_post_count": 0, "headquarters_country": "string", "headquarters_state": "string", "domain": "string", "linkedin_organization_url": "string", "matching_tags": [ "string" ], "matching_entities": [ { "type": "string", "term": "string", "job_post_count": 0, "people_count": 0, "team_count": 0, "job_post_used_count": 0, "team_count_used": 0 } ] } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/sumble?ep=post:/v1/sumble/organizations/find # Enrich Organization — `POST /v1/sumble/organizations/enrich` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Sumble - **Endpoint**: `POST https://api.coldiq.com/v1/sumble/organizations/enrich` - **Credits**: 10.5 credits per technology - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Identify technologies used at a specific organization. Credits: bills only for returned results, per technology; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `organization` | object | yes | Organization to enrich (provide one of domain, id, slug, or linkedin_url). | | `organization.domain` | string | no | Domain name (e.g. "coldiq.com"). | | `organization.id` | integer | no | Sumble organization ID. | | `organization.slug` | string | no | Sumble organization slug. | | `organization.linkedin_url` | string | no | LinkedIn organization URL. (format uri) | | `filters` | object | yes | Technology or category filters to apply. At least one technologies or technology_categories entry required. Each matched technology costs 5 credits. | | `filters.technologies` | array | no | Technology slugs to filter by (max 20). | | `filters.technology_categories` | array | no | Technology category slugs to filter by (max 20). | | `filters.since` | string | no | Filter for entities active since this date (YYYY-MM-DD). | | `filters.query` | string | no | Text search query (alternative to technology filters). | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/sumble/organizations/enrich" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"organization":{"domain":"coldiq.com"},"filters":{"technologies":["hubspot","salesforce"]}}' ``` Request body: ```json { "organization": { "domain": "coldiq.com" }, "filters": { "technologies": [ "hubspot", "salesforce" ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Organization technology data. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Transaction UUID. | | `credits_used` | integer | yes | Credits consumed by this request. | | `organization` | object | yes | | | `organization.id` | integer | yes | | | `organization.slug` | string | yes | | | `organization.name` | string | yes | | | `organization.domain` | string | yes | | | `technologies_found` | string | no | | | `technologies_count` | integer | yes | | | `source_data_url` | string | no | | | `technologies` | array | yes | | | `technologies[].name` | string | yes | | | `technologies[].last_job_post` | string \| null | no | | | `technologies[].jobs_count` | integer | yes | | | `technologies[].jobs_data_url` | string | yes | | | `technologies[].people_count` | integer | yes | | | `technologies[].people_data_url` | string | yes | | | `technologies[].teams_count` | integer | yes | | | `technologies[].teams_data_url` | string | yes | | Example response: ```json { "id": "string", "credits_used": 0, "organization": { "id": 0, "slug": "string", "name": "string", "domain": "string" }, "technologies_found": "string", "technologies_count": 0, "source_data_url": "string", "technologies": [ { "name": "string", "last_job_post": "string", "jobs_count": 0, "jobs_data_url": "string", "people_count": 0, "people_data_url": "string", "teams_count": 0, "teams_data_url": "string" } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/sumble?ep=post:/v1/sumble/organizations/enrich # Match Organizations — `POST /v1/sumble/organizations/match` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Sumble - **Endpoint**: `POST https://api.coldiq.com/v1/sumble/organizations/match` - **Credits**: 2.1 credits per match - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Batch match up to 200 organizations by name, URL, and optional location. Credits: bills only for returned results, per match; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `organizations` | array | yes | Organizations to match (name or url required per entry). Up to 200 per request. | | `organizations[].name` | string | no | Company name. | | `organizations[].url` | string | no | Company website URL. | | `organizations[].location` | string | no | City/country to disambiguate matches. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/sumble/organizations/match" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"organizations":[{"name":"ColdIQ","url":"coldiq.com"},{"name":"Microsoft","url":"microsoft.com"}]}' ``` Request body: ```json { "organizations": [ { "name": "ColdIQ", "url": "coldiq.com" }, { "name": "Microsoft", "url": "microsoft.com" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Match results. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Transaction UUID. | | `credits_used` | integer | yes | Credits consumed by this request. | | `matched_count` | integer | yes | | | `total` | integer | yes | | | `results` | array | yes | | | `results[].input` | object | yes | | | `results[].input.name` | string \| null | no | | | `results[].input.url` | string \| null | no | | | `results[].input.location` | string \| null | no | | | `results[].match` | object \| null | yes | | | `results[].match.id` | integer | yes | | | `results[].match.slug` | string | yes | | | `results[].match.name` | string | yes | | | `results[].match.domain` | string | yes | | Example response: ```json { "id": "string", "credits_used": 0, "matched_count": 0, "total": 0, "results": [ { "input": { "name": "string", "url": "string", "location": "string" }, "match": { "id": 0, "slug": "string", "name": "string", "domain": "string" } } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/sumble?ep=post:/v1/sumble/organizations/match # Find People — `POST /v1/sumble/people/find` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Sumble - **Endpoint**: `POST https://api.coldiq.com/v1/sumble/people/find` - **Credits**: 2.1 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find professionals at a specific organization, filterable by job function, level, country, and date. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/people/search` (Find People) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `organization` | object | yes | Organization to find people at (provide one of domain, id, slug, or linkedin_url). | | `organization.domain` | string | no | Domain name (e.g. "coldiq.com"). | | `organization.id` | integer | no | Sumble organization ID. | | `organization.slug` | string | no | Sumble organization slug. | | `organization.linkedin_url` | string | no | LinkedIn organization URL. (format uri) | | `filters` | object | yes | Job function, level, country, date, or text query filters. | | `filters.job_functions` | array | no | Job function slugs to filter by (max 20). | | `filters.job_levels` | array | no | Job level slugs to filter by (max 10). | | `filters.countries` | array | no | Country codes to filter by (ISO 3166-1 alpha-2, max 50). | | `filters.since` | string | no | Filter for people active since this date (YYYY-MM-DD). | | `filters.query` | string | no | Text search query. | | `limit` | integer | no | Max people to return (1–100, default 10). (min 1; max 100) | | `offset` | integer | no | Pagination offset (default 0). (min 0; max 10000) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/sumble/people/find" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"organization":{"domain":"coldiq.com"},"filters":{"job_functions":["sales"]},"limit":10}' ``` Request body: ```json { "organization": { "domain": "coldiq.com" }, "filters": { "job_functions": [ "sales" ] }, "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | People at the organization. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Transaction UUID. | | `credits_used` | integer | yes | Credits consumed by this request. | | `organization` | object | yes | | | `organization.id` | integer | yes | | | `organization.slug` | string | yes | | | `organization.name` | string | yes | | | `organization.domain` | string | yes | | | `people_count` | integer | yes | | | `people_data_url` | string | no | | | `people` | array | yes | | | `people[].id` | integer | yes | | | `people[].url` | string | yes | | | `people[].linkedin_url` | string \| null | no | | | `people[].name` | string | yes | | | `people[].job_title` | string \| null | no | | | `people[].job_function` | string \| null | no | | | `people[].job_level` | string \| null | no | | | `people[].location` | string \| null | no | | | `people[].country` | string \| null | no | | | `people[].start_date` | string \| null | no | | | `people[].country_code` | string \| null | no | | Example response: ```json { "id": "string", "credits_used": 0, "organization": { "id": 0, "slug": "string", "name": "string", "domain": "string" }, "people_count": 0, "people_data_url": "string", "people": [ { "id": 0, "url": "string", "linkedin_url": "string", "name": "string", "job_title": "string", "job_function": "string", "job_level": "string", "location": "string", "country": "string", "start_date": "string", "country_code": "string" } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/sumble?ep=post:/v1/sumble/people/find # Enrich Person — `POST /v1/sumble/people/enrich` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Sumble - **Endpoint**: `POST https://api.coldiq.com/v1/sumble/people/enrich` - **Credits**: 21 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve email addresses and phone number for a person by their Sumble ID. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `person_id` | integer | yes | Sumble person ID (obtained from Find People results). (min 0) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/sumble/people/enrich" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"person_id":12345678}' ``` Request body: ```json { "person_id": 12345678 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Contact information for the person. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Transaction UUID. | | `credits_used` | integer | yes | Credits consumed by this request. | | `url` | string | yes | | | `linkedin_url` | string \| null | no | | | `contact_info` | object \| null | yes | | | `contact_info.emails` | array | yes | | | `contact_info.phone` | string \| null | yes | | | `cached` | boolean | yes | | Example response: ```json { "id": "string", "credits_used": 0, "url": "string", "linkedin_url": "string", "contact_info": { "emails": [ "string" ], "phone": "string" }, "cached": false } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/sumble?ep=post:/v1/sumble/people/enrich # Find Jobs — `POST /v1/sumble/jobs/find` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Sumble - **Endpoint**: `POST https://api.coldiq.com/v1/sumble/jobs/find` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search job postings with technology, country, and text filters. Credits: variable per job, charged by which fields you request (base, with_description). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `organization` | object | no | Scope results to a specific organization (optional; provide one of domain, id, slug, or linkedin_url). | | `organization.domain` | string | no | Domain name (e.g. "coldiq.com"). | | `organization.id` | integer | no | Sumble organization ID. | | `organization.slug` | string | no | Sumble organization slug. | | `organization.linkedin_url` | string | no | LinkedIn organization URL. (format uri) | | `filters` | object | yes | Technology, category, country, date, or text query filters. | | `filters.technologies` | array | no | Technology slugs to filter by (max 20). | | `filters.technology_categories` | array | no | Technology category slugs to filter by (max 20). | | `filters.countries` | array | no | Country codes to filter by (ISO 3166-1 alpha-2, max 50). | | `filters.since` | string | no | Filter for jobs posted since this date (YYYY-MM-DD). | | `filters.query` | string | no | Text search query. | | `include_descriptions` | boolean | no | Include full job descriptions in results. Costs 3 credits per job instead of 2. | | `limit` | integer | no | Max jobs to return (1–100, default 10). (min 1; max 100) | | `offset` | integer | no | Pagination offset (default 0). (min 0; max 10000) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/sumble/jobs/find" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"filters":{"technologies":["hubspot"]},"limit":10}' ``` Request body: ```json { "filters": { "technologies": [ "hubspot" ] }, "limit": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Matching job postings. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Transaction UUID. | | `credits_used` | integer | yes | Credits consumed by this request. | | `total` | integer | yes | | | `source_data_url` | string | no | | | `jobs` | array | yes | | | `jobs[].id` | integer | yes | | | `jobs[].organization_id` | integer | yes | | | `jobs[].organization_name` | string | yes | | | `jobs[].organization_domain` | string \| null | no | | | `jobs[].job_title` | string | yes | | | `jobs[].datetime_pulled` | string | yes | | | `jobs[].primary_job_function` | string \| null | no | | | `jobs[].location` | string | yes | | | `jobs[].teams` | string | yes | | | `jobs[].matched_projects` | string \| null | no | | | `jobs[].projects_description` | string \| null | no | | | `jobs[].matched_technologies` | string \| null | no | | | `jobs[].matched_job_functions` | string \| null | no | | | `jobs[].projects` | string \| null | no | | | `jobs[].description` | string \| null | no | | | `jobs[].url` | string | yes | | Example response: ```json { "id": "string", "credits_used": 0, "total": 0, "source_data_url": "string", "jobs": [ { "id": 0, "organization_id": 0, "organization_name": "string", "organization_domain": "string", "job_title": "string", "datetime_pulled": "string", "primary_job_function": "string", "location": "string", "teams": "string", "matched_projects": "string", "projects_description": "string", "matched_technologies": "string", "matched_job_functions": "string", "projects": "string", "description": "string", "url": "string" } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/sumble?ep=post:/v1/sumble/jobs/find # Provider: Unipile # List All Accounts — `GET /v1/unipile/accounts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/accounts` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | string | no | Pagination cursor from the previous response. | | `limit` | integer | no | Number of items to return (1–250). (min 1; max 250) | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/accounts?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/accounts # Connect Account — `POST /v1/unipile/accounts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/accounts` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `provider` | string (enum) | yes | Provider to connect. (one of: LINKEDIN, WHATSAPP, INSTAGRAM, MESSENGER, TELEGRAM, TWITTER, GMAIL, OUTLOOK, IMAP) | | `username` | string | no | Account username or email. | | `password` | string | no | Account password. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/accounts" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"provider":"LINKEDIN","username":"michel@coldiq.com","password":"secret"}' ``` Request body: ```json { "provider": "LINKEDIN", "username": "michel@coldiq.com", "password": "secret" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/accounts # Connect Account via Hosted Auth — `POST /v1/unipile/accounts/hosted` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/accounts/hosted` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `provider` | string (enum) | yes | Provider to connect. (one of: LINKEDIN, WHATSAPP, INSTAGRAM, MESSENGER, TELEGRAM, TWITTER, GMAIL, OUTLOOK, IMAP) | | `success_redirect_url` | string | no | Redirect URL on successful connection. (format uri) | | `failure_redirect_url` | string | no | Redirect URL on failed connection. (format uri) | | `notify_url` | string | no | Webhook URL for connection status updates. (format uri) | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/accounts/hosted" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"provider":"LINKEDIN"}' ``` Request body: ```json { "provider": "LINKEDIN" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/accounts/hosted # Retrieve Account — `GET /v1/unipile/accounts/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/accounts/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/accounts/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/accounts/{id} # Delete Account — `DELETE /v1/unipile/accounts/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `DELETE https://api.coldiq.com/v1/unipile/accounts/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/unipile/accounts/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=delete:/v1/unipile/accounts/{id} # Update Account — `PATCH /v1/unipile/accounts/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `PATCH https://api.coldiq.com/v1/unipile/accounts/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `proxy` | object | no | Proxy configuration for this account. | | `proxy.host` | string | no | | | `proxy.port` | integer \| null | no | | | `proxy.username` | string | no | | | `proxy.password` | string | no | | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/unipile/accounts/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"proxy":{"host":"1.2.3.4","port":8080}}' ``` Request body: ```json { "proxy": { "host": "1.2.3.4", "port": 8080 } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=patch:/v1/unipile/accounts/{id} # Reconnect Account — `POST /v1/unipile/accounts/{id}/reconnect` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/accounts/{id}/reconnect` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/accounts/string/reconnect" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/accounts/{id}/reconnect # Resync Account — `GET /v1/unipile/accounts/{id}/resync` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/accounts/{id}/resync` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/accounts/string/resync?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/accounts/{id}/resync # Solve Checkpoint — `POST /v1/unipile/accounts/{id}/checkpoint/solve` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/accounts/{id}/checkpoint/solve` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `code` | string | yes | Verification code received via email/SMS. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/accounts/string/checkpoint/solve" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"code":"123456"}' ``` Request body: ```json { "code": "123456" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/accounts/{id}/checkpoint/solve # Resend Checkpoint — `POST /v1/unipile/accounts/{id}/checkpoint/resend` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/accounts/{id}/checkpoint/resend` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/accounts/string/checkpoint/resend" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/accounts/{id}/checkpoint/resend # Restart Account — `POST /v1/unipile/accounts/{id}/restart` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/accounts/{id}/restart` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/accounts/string/restart" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/accounts/{id}/restart # List All Chats — `GET /v1/unipile/chats` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/chats` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | string | no | Pagination cursor from the previous response. | | `limit` | integer | no | Number of items to return (1–250). (min 1; max 250) | | `account_id` | string | no | Filter by account ID. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/chats?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/chats # Start New Chat — `POST /v1/unipile/chats` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/chats` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `account_id` | string | yes | Account ID to initiate the chat from. | | `attendees_ids` | array | yes | List of attendee IDs to add to the chat. | | `text` | string | no | Initial message text. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/chats" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"account_id":"acc_abc","attendees_ids":["att_xyz"],"text":"Hi Michel, would love to connect!"}' ``` Request body: ```json { "account_id": "acc_abc", "attendees_ids": [ "att_xyz" ], "text": "Hi Michel, would love to connect!" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/chats # Retrieve Chat — `GET /v1/unipile/chats/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/chats/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/chats/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/chats/{id} # Delete Chat — `DELETE /v1/unipile/chats/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `DELETE https://api.coldiq.com/v1/unipile/chats/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/unipile/chats/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=delete:/v1/unipile/chats/{id} # Update Chat — `PATCH /v1/unipile/chats/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `PATCH https://api.coldiq.com/v1/unipile/chats/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `read` | boolean | no | Mark the chat as read. | | `muted` | boolean | no | Mute notifications for this chat. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/unipile/chats/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"read":true}' ``` Request body: ```json { "read": true } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=patch:/v1/unipile/chats/{id} # List Chat Messages — `GET /v1/unipile/chats/{chatId}/messages` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/chats/{chatId}/messages` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `chatId` | string | yes | Chat ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | string | no | Pagination cursor from the previous response. | | `limit` | integer | no | Number of items to return (1–250). (min 1; max 250) | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/chats/string/messages?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/chats/{chatId}/messages # Send Message — `POST /v1/unipile/chats/{chatId}/messages` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/chats/{chatId}/messages` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `chatId` | string | yes | Chat ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `text` | string | no | Message text content. | | `thread_id` | string | no | Thread ID to reply into. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/chats/string/messages" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"text":"Thanks for connecting, Michel!"}' ``` Request body: ```json { "text": "Thanks for connecting, Michel!" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/chats/{chatId}/messages # List Chat Attendees — `GET /v1/unipile/chats/{id}/attendees` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/chats/{id}/attendees` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/chats/string/attendees?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/chats/{id}/attendees # Sync Chat — `GET /v1/unipile/chats/{id}/sync` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/chats/{id}/sync` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | Resource ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/chats/string/sync?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/chats/{id}/sync # List All Messages — `GET /v1/unipile/messages` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/messages` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | string | no | Pagination cursor from the previous response. | | `limit` | integer | no | Number of items to return (1–250). (min 1; max 250) | | `account_id` | string | no | Filter by account ID. | | `chat_id` | string | no | Filter by chat ID. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/messages?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/messages # Retrieve Message — `GET /v1/unipile/messages/{messageId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/messages/{messageId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `messageId` | string | yes | Message ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/messages/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/messages/{messageId} # Delete Message — `DELETE /v1/unipile/messages/{messageId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `DELETE https://api.coldiq.com/v1/unipile/messages/{messageId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `messageId` | string | yes | Message ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/unipile/messages/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=delete:/v1/unipile/messages/{messageId} # Edit Message — `PATCH /v1/unipile/messages/{messageId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `PATCH https://api.coldiq.com/v1/unipile/messages/{messageId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `messageId` | string | yes | Message ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `text` | string | yes | New message text. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/unipile/messages/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"text":"Updated message content."}' ``` Request body: ```json { "text": "Updated message content." } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=patch:/v1/unipile/messages/{messageId} # Forward Message — `POST /v1/unipile/messages/{messageId}/forward` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/messages/{messageId}/forward` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `messageId` | string | yes | Message ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `chat_id` | string | yes | Chat ID to forward the message to. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/messages/string/forward" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"chat_id":"ch_xyz"}' ``` Request body: ```json { "chat_id": "ch_xyz" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/messages/{messageId}/forward # Add Message Reaction — `POST /v1/unipile/messages/{messageId}/reactions` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/messages/{messageId}/reactions` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `messageId` | string | yes | Message ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `emoji` | string | yes | Emoji character to react with. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/messages/string/reactions" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"emoji":"👍"}' ``` Request body: ```json { "emoji": "👍" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/messages/{messageId}/reactions # List Attendees — `GET /v1/unipile/users/attendees` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/users/attendees` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | string | no | Pagination cursor from the previous response. | | `limit` | integer | no | Number of items to return (1–250). (min 1; max 250) | | `account_id` | string | no | Filter by account ID. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/users/attendees?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/users/attendees # Get Own Profile — `GET /v1/unipile/users/me` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/users/me` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `account_id` | string | yes | Account ID to retrieve the profile for. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/users/me?account_id=string&dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/users/me # List Sent Invitations — `GET /v1/unipile/users/invite/sent` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/users/invite/sent` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | string | no | Pagination cursor from the previous response. | | `limit` | integer | no | Number of items to return (1–250). (min 1; max 250) | | `account_id` | string | no | Filter by account ID. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/users/invite/sent?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/users/invite/sent # List Received Invitations — `GET /v1/unipile/users/invite/received` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/users/invite/received` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | string | no | Pagination cursor from the previous response. | | `limit` | integer | no | Number of items to return (1–250). (min 1; max 250) | | `account_id` | string | no | Filter by account ID. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/users/invite/received?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/users/invite/received # Handle Received Invitation — `POST /v1/unipile/users/invite/{inviteId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/users/invite/{inviteId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `inviteId` | string | yes | Invite ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `action` | string (enum) | yes | Action to take on the received invite. (one of: accept, reject, ignore) | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/users/invite/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"action":"accept"}' ``` Request body: ```json { "action": "accept" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/users/invite/{inviteId} # Cancel Sent Invitation — `DELETE /v1/unipile/users/invite/{inviteId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `DELETE https://api.coldiq.com/v1/unipile/users/invite/{inviteId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `inviteId` | string | yes | Invite ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/unipile/users/invite/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=delete:/v1/unipile/users/invite/{inviteId} # List Emails — `GET /v1/unipile/emails` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/emails` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | string | no | Pagination cursor from the previous response. | | `limit` | integer | no | Number of items to return (1–250). (min 1; max 250) | | `account_id` | string | no | Filter by account ID. | | `folder_id` | string | no | Filter by folder ID. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/emails?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/emails # Send Email — `POST /v1/unipile/emails` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/emails` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `account_id` | string | yes | Account ID to send the email from. | | `to` | array | yes | Primary recipients. | | `to[].display_name` | string | no | | | `to[].identifier` | string | yes | | | `subject` | string | yes | Email subject line. | | `body` | string | yes | Email body (HTML or plain text). | | `cc` | array | no | CC recipients. | | `cc[].display_name` | string | no | | | `cc[].identifier` | string | yes | | | `reply_to` | array | no | Reply-to addresses. | | `reply_to[].display_name` | string | no | | | `reply_to[].identifier` | string | yes | | | `thread_id` | string | no | Thread ID to reply into. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/emails" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"account_id":"acc_abc","to":[{"display_name":"Michel Lieben","identifier":"michel@coldiq.com"}],"subject":"Quick question about ColdIQ","body":"

Hi Michel, I came across ColdIQ and wanted to reach out.

"}' ``` Request body: ```json { "account_id": "acc_abc", "to": [ { "display_name": "Michel Lieben", "identifier": "michel@coldiq.com" } ], "subject": "Quick question about ColdIQ", "body": "

Hi Michel, I came across ColdIQ and wanted to reach out.

" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/emails # List Email Contacts — `GET /v1/unipile/emails/contacts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/emails/contacts` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | string | no | Pagination cursor from the previous response. | | `limit` | integer | no | Number of items to return (1–250). (min 1; max 250) | | `account_id` | string | no | Filter by account ID. | | `query` | string | no | Search query to filter contacts. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/emails/contacts?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/emails/contacts # Retrieve Email — `GET /v1/unipile/emails/{mailId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/emails/{mailId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `mailId` | string | yes | Mail ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/emails/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/emails/{mailId} # Update Email — `PUT /v1/unipile/emails/{mailId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `PUT https://api.coldiq.com/v1/unipile/emails/{mailId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `mailId` | string | yes | Mail ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `read` | boolean | no | Mark as read. | | `starred` | boolean | no | Star the email. | | `folder_id` | string | no | Move to this folder ID. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X PUT "https://api.coldiq.com/v1/unipile/emails/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"read":true}' ``` Request body: ```json { "read": true } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=put:/v1/unipile/emails/{mailId} # Delete Email — `DELETE /v1/unipile/emails/{mailId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `DELETE https://api.coldiq.com/v1/unipile/emails/{mailId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `mailId` | string | yes | Mail ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/unipile/emails/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=delete:/v1/unipile/emails/{mailId} # List Email Folders — `GET /v1/unipile/folders` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/folders` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/folders?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/folders # Retrieve Email Folder — `GET /v1/unipile/folders/{folderId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/folders/{folderId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `folderId` | string | yes | Folder ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/folders/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/folders/{folderId} # Create Email Draft — `POST /v1/unipile/drafts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/drafts` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `account_id` | string | yes | Account ID to create the draft on. | | `to` | array | no | Recipients. | | `to[].display_name` | string | no | | | `to[].identifier` | string | yes | | | `subject` | string | no | Draft subject. | | `body` | string | no | Draft body. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/drafts" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"account_id":"acc_abc","subject":"Draft intro","body":"

Draft body here.

"}' ``` Request body: ```json { "account_id": "acc_abc", "subject": "Draft intro", "body": "

Draft body here.

" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/drafts # Get LinkedIn Search Parameters — `GET /v1/unipile/linkedin/search/parameters` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/linkedin/search/parameters` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `account_id` | string | yes | LinkedIn account ID. | | `type` | string | no | Search type (e.g. people, companies, jobs). | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/linkedin/search/parameters?account_id=string&dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/linkedin/search/parameters # Execute LinkedIn Search — `POST /v1/unipile/linkedin/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/linkedin/search` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `account_id` | string | yes | LinkedIn account ID to search from. | | `query` | object | yes | Search parameters. Use GET /unipile/linkedin/search/parameters to discover available filters. | | `cursor` | string | no | Pagination cursor. | | `limit` | integer | no | Number of results to return. (min 1; max 50) | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/linkedin/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"account_id":"acc_abc","query":{"keywords":"ColdIQ CEO","geo_codes":["103644278"]}}' ``` Request body: ```json { "account_id": "acc_abc", "query": { "keywords": "ColdIQ CEO", "geo_codes": [ "103644278" ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/linkedin/search # List LinkedIn Job Postings — `GET /v1/unipile/linkedin/jobs` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/linkedin/jobs` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | string | no | Pagination cursor from the previous response. | | `limit` | integer | no | Number of items to return (1–250). (min 1; max 250) | | `account_id` | string | yes | LinkedIn account ID. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/linkedin/jobs?account_id=string&dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/linkedin/jobs # Create LinkedIn Job Posting — `POST /v1/unipile/linkedin/jobs` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/linkedin/jobs` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `account_id` | string | yes | LinkedIn account ID to post the job from. | | `title` | string | yes | Job title. | | `description` | string | yes | Job description. | | `location` | string | no | Job location. | | `company_id` | string | no | LinkedIn company page ID. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/linkedin/jobs" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"account_id":"acc_abc","title":"Sales Development Representative","description":"Join ColdIQ as an SDR and drive outbound pipeline."}' ``` Request body: ```json { "account_id": "acc_abc", "title": "Sales Development Representative", "description": "Join ColdIQ as an SDR and drive outbound pipeline." } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/linkedin/jobs # Retrieve LinkedIn Job Posting — `GET /v1/unipile/linkedin/jobs/{jobId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/linkedin/jobs/{jobId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | string | yes | Job posting ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `account_id` | string | yes | LinkedIn account ID. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/linkedin/jobs/string?account_id=string&dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/linkedin/jobs/{jobId} # Update LinkedIn Job Posting — `PATCH /v1/unipile/linkedin/jobs/{jobId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `PATCH https://api.coldiq.com/v1/unipile/linkedin/jobs/{jobId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | string | yes | Job posting ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `title` | string | no | Updated job title. | | `description` | string | no | Updated job description. | | `location` | string | no | Updated location. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/unipile/linkedin/jobs/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"title":"Senior Sales Development Representative"}' ``` Request body: ```json { "title": "Senior Sales Development Representative" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=patch:/v1/unipile/linkedin/jobs/{jobId} # Publish LinkedIn Job Posting — `POST /v1/unipile/linkedin/jobs/{jobId}/publish` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/linkedin/jobs/{jobId}/publish` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | string | yes | Job posting ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/linkedin/jobs/string/publish" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/linkedin/jobs/{jobId}/publish # Close LinkedIn Job Posting — `POST /v1/unipile/linkedin/jobs/{jobId}/close` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/linkedin/jobs/{jobId}/close` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | string | yes | Job posting ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/linkedin/jobs/string/close" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/linkedin/jobs/{jobId}/close # List Job Applicants — `GET /v1/unipile/linkedin/jobs/{jobId}/applicants` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/linkedin/jobs/{jobId}/applicants` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | string | yes | Job posting ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | string | no | Pagination cursor from the previous response. | | `limit` | integer | no | Number of items to return (1–250). (min 1; max 250) | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/linkedin/jobs/string/applicants?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/linkedin/jobs/{jobId}/applicants # List Webhooks — `GET /v1/unipile/webhooks` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/webhooks` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/webhooks?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/webhooks # Create Webhook — `POST /v1/unipile/webhooks` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/webhooks` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `request_url` | string | yes | Destination URL for webhook deliveries. (format uri) | | `source` | string (enum) | yes | Webhook source type — determines which events are available. (one of: messaging, users, account_status, email, email_tracking, calendar_event) | | `events` | array | no | Event types to subscribe to. Valid values depend on source (e.g. message_received for messaging, mail_received for email). | | `name` | string | no | Human-readable webhook name. | | `account_ids` | array | no | Scope webhook to specific account IDs. Omit to apply to all accounts. | | `enabled` | boolean | no | Whether the webhook is active. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/webhooks" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"request_url":"https://webhook.site/6103cc1c-9470-489b-ac74-dc69544666d0","source":"messaging","events":["message_received"],"name":"ColdIQ messaging"}' ``` Request body: ```json { "request_url": "https://webhook.site/6103cc1c-9470-489b-ac74-dc69544666d0", "source": "messaging", "events": [ "message_received" ], "name": "ColdIQ messaging" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/webhooks # Delete Webhook — `DELETE /v1/unipile/webhooks/{webhookId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `DELETE https://api.coldiq.com/v1/unipile/webhooks/{webhookId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `webhookId` | string | yes | Webhook ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/unipile/webhooks/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=delete:/v1/unipile/webhooks/{webhookId} # List Calendars — `GET /v1/unipile/calendars` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/calendars` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `account_id` | string | no | Filter by account ID. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/calendars?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/calendars # Retrieve Calendar — `GET /v1/unipile/calendars/{calendarId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/calendars/{calendarId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `calendarId` | string | yes | Calendar ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/calendars/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/calendars/{calendarId} # List Calendar Events — `GET /v1/unipile/calendars/{calendarId}/events` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/calendars/{calendarId}/events` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `calendarId` | string | yes | Calendar ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `cursor` | string | no | Pagination cursor from the previous response. | | `limit` | integer | no | Number of items to return (1–250). (min 1; max 250) | | `start_date` | string | no | Filter events starting at or after this date (ISO 8601). | | `end_date` | string | no | Filter events ending at or before this date (ISO 8601). | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/calendars/string/events?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/calendars/{calendarId}/events # Create Calendar Event — `POST /v1/unipile/calendars/{calendarId}/events` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `POST https://api.coldiq.com/v1/unipile/calendars/{calendarId}/events` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `calendarId` | string | yes | Calendar ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `title` | string | yes | Event title. | | `start` | string | yes | Start time (ISO 8601). | | `end` | string | yes | End time (ISO 8601). | | `description` | string | no | Event description. | | `attendees` | array | no | List of attendees. | | `attendees[].email` | string | yes | | | `attendees[].name` | string | no | | | `location` | string | no | Event location. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/unipile/calendars/string/events" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"title":"ColdIQ Demo Call","start":"2026-04-01T10:00:00Z","end":"2026-04-01T10:30:00Z","attendees":[{"email":"michel@coldiq.com","name":"Michel Lieben"}]}' ``` Request body: ```json { "title": "ColdIQ Demo Call", "start": "2026-04-01T10:00:00Z", "end": "2026-04-01T10:30:00Z", "attendees": [ { "email": "michel@coldiq.com", "name": "Michel Lieben" } ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=post:/v1/unipile/calendars/{calendarId}/events # Retrieve Calendar Event — `GET /v1/unipile/calendars/{calendarId}/events/{eventId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `GET https://api.coldiq.com/v1/unipile/calendars/{calendarId}/events/{eventId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `calendarId` | string | yes | Calendar ID. | | `eventId` | string | yes | Event ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/unipile/calendars/string/events/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=get:/v1/unipile/calendars/{calendarId}/events/{eventId} # Delete Calendar Event — `DELETE /v1/unipile/calendars/{calendarId}/events/{eventId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `DELETE https://api.coldiq.com/v1/unipile/calendars/{calendarId}/events/{eventId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `calendarId` | string | yes | Calendar ID. | | `eventId` | string | yes | Event ID. | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X DELETE "https://api.coldiq.com/v1/unipile/calendars/string/events/string?dsn=https%3A%2F%2Fapi15.unipile.com%3A14591" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=delete:/v1/unipile/calendars/{calendarId}/events/{eventId} # Update Calendar Event — `PATCH /v1/unipile/calendars/{calendarId}/events/{eventId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Unipile - **Endpoint**: `PATCH https://api.coldiq.com/v1/unipile/calendars/{calendarId}/events/{eventId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `calendarId` | string | yes | Calendar ID. | | `eventId` | string | yes | Event ID. | ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `title` | string | no | Updated event title. | | `start` | string | no | Updated start time (ISO 8601). | | `end` | string | no | Updated end time (ISO 8601). | | `description` | string | no | Updated description. | | `location` | string | no | Updated location. | | `access_token` | string | no | Your Unipile access token. Optional if you have connected your Unipile account in the dashboard. | | `dsn` | string | no | Your Unipile DSN base URL (e.g. https://api15.unipile.com:14591). Optional if you have connected your Unipile account in the dashboard. (format uri) | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/unipile/calendars/string/events/string" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"title":"Updated: ColdIQ Demo Call"}' ``` Request body: ```json { "title": "Updated: ColdIQ Demo Call" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Success | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/unipile?ep=patch:/v1/unipile/calendars/{calendarId}/events/{eventId} # Provider: LinkUp API # Profile Enrichment — `POST /v1/linkupapi/data/profil/enrich` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkUp API - **Endpoint**: `POST https://api.coldiq.com/v1/linkupapi/data/profil/enrich` - **Credits**: 6.3 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find and enrich a person's LinkedIn profile using their name and company. Returns full profile data including experience, education, skills, email, and phone. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/person/enrich` (Enrich Person) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `first_name` | string | yes | Person's first name | | `last_name` | string | yes | Person's last name | | `company_name` | string | yes | Current company name | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/linkupapi/data/profil/enrich" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"first_name":"Michel","last_name":"Lieben","company_name":"ColdIQ"}' ``` Request body: ```json { "first_name": "Michel", "last_name": "Lieben", "company_name": "ColdIQ" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Enriched person profile | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkup-api?ep=post:/v1/linkupapi/data/profil/enrich # Search Profiles — `POST /v1/linkupapi/data/search/profiles` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkUp API - **Endpoint**: `POST https://api.coldiq.com/v1/linkupapi/data/search/profiles` - **Credits**: 6.3 credits per 10 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search LinkedIn profiles by job title, location, current company, industry, school, or keywords. Returns a list of matching profiles. Billed per 10 results. Credits: flat charge per page of up to 10 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/people/search` (Find People) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keyword` | string \| array | no | Names, positions, or skills to search | | `job_title` | string \| array | no | Job title(s) to filter by | | `industry` | string \| array | no | Industry sector (e.g. "technology", "finance") | | `school` | string | no | University or school name | | `location` | string \| array | no | City or country filter | | `current_company` | string \| array | no | Current employer name(s) | | `total_results` | integer | no | Number of results to return (1–1,000, default: 10). Billed at 1 credit per 10 results. (min 1; max 1000) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/linkupapi/data/search/profiles" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"job_title":"Sales Development Representative","location":"United States","current_company":["Microsoft","Google"],"total_results":10}' ``` Request body: ```json { "job_title": "Sales Development Representative", "location": "United States", "current_company": [ "Microsoft", "Google" ], "total_results": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Matching LinkedIn profiles | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkup-api?ep=post:/v1/linkupapi/data/search/profiles # Company Info — `POST /v1/linkupapi/data/company/info` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkUp API - **Endpoint**: `POST https://api.coldiq.com/v1/linkupapi/data/company/info` - **Credits**: 6.3 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve full LinkedIn company profile data from a LinkedIn company URL. Returns name, industry, employee count, headquarters, logo, followers, and more. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/company/enrich` (Enrich Company) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `company_url` | string | yes | LinkedIn company URL (e.g. https://www.linkedin.com/company/stripe/) (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/linkupapi/data/company/info" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"company_url":"https://www.linkedin.com/company/coldiq/"}' ``` Request body: ```json { "company_url": "https://www.linkedin.com/company/coldiq/" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Company profile data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkup-api?ep=post:/v1/linkupapi/data/company/info # Company Info By Domain — `POST /v1/linkupapi/data/company/info-by-domain` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkUp API - **Endpoint**: `POST https://api.coldiq.com/v1/linkupapi/data/company/info-by-domain` - **Credits**: 6.3 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve company intelligence from a domain name. Aggregates data from multiple public sources and returns name, industry, employee count, LinkedIn URL, and more. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/company/enrich` (Enrich Company) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | yes | Company domain name (e.g. stripe.com) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/linkupapi/data/company/info-by-domain" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com"}' ``` Request body: ```json { "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Company data from domain lookup | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkup-api?ep=post:/v1/linkupapi/data/company/info-by-domain # Company Search — `POST /v1/linkupapi/data/search/companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkUp API - **Endpoint**: `POST https://api.coldiq.com/v1/linkupapi/data/search/companies` - **Credits**: 6.3 credits per 10 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search and filter companies by keyword, industry, location, size, or founding status. Billed per 10 results. Credits: flat charge per page of up to 10 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keyword` | string | no | Search term (company name, industry, etc.) | | `industry` | string \| array | no | Sector filter (e.g. "technology", "healthcare") | | `location` | string \| array | no | Geographic filter | | `employee_range` | string \| array | no | Workforce size filter (e.g. "51-200", "201-500") | | `founding_company` | boolean | no | Filter by startup/founding status | | `total_results` | integer | no | Number of results to return (1–1,000, default: 10). Billed at 1 credit per 10 results. (min 1; max 1000) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/linkupapi/data/search/companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keyword":"AI sales","industry":"technology","location":"United States","total_results":10}' ``` Request body: ```json { "keyword": "AI sales", "industry": "technology", "location": "United States", "total_results": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Matching companies | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkup-api?ep=post:/v1/linkupapi/data/search/companies # Email Finder — `POST /v1/linkupapi/data/mail/finder` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkUp API - **Endpoint**: `POST https://api.coldiq.com/v1/linkupapi/data/mail/finder` - **Credits**: 6.3 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find a person's professional email address from their LinkedIn profile URL or name + company domain. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `linkedin_url` | string | no | Person's LinkedIn profile URL (format uri) | | `first_name` | string | no | Person's first name (use with last_name when no linkedin_url) | | `last_name` | string | no | Person's last name (use with first_name when no linkedin_url) | | `company_domain` | string | no | Company domain (preferred over company_name for accuracy) | | `company_name` | string | no | Company name (less accurate than company_domain) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/linkupapi/data/mail/finder" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"linkedin_url":"https://www.linkedin.com/in/michel-lieben","company_domain":"coldiq.com"}' ``` Request body: ```json { "linkedin_url": "https://www.linkedin.com/in/michel-lieben", "company_domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Found email address and alternatives | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkup-api?ep=post:/v1/linkupapi/data/mail/finder # Email Reverse — `POST /v1/linkupapi/data/mail/reverse` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkUp API - **Endpoint**: `POST https://api.coldiq.com/v1/linkupapi/data/mail/reverse` - **Credits**: 6.3 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Identify the person behind an email address. Returns their full LinkedIn profile data including experience, education, and skills. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/person/enrich` (Enrich Person) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address to reverse lookup (format email) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/linkupapi/data/mail/reverse" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Person profile from email lookup | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkup-api?ep=post:/v1/linkupapi/data/mail/reverse # Email Validation — `POST /v1/linkupapi/data/mail/validate` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkUp API - **Endpoint**: `POST https://api.coldiq.com/v1/linkupapi/data/mail/validate` - **Credits**: 6.3 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Validate whether an email address is real and deliverable. Returns validity status and catch-all detection. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/email/verify` (Verify Email) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Email address to validate (format email) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/linkupapi/data/mail/validate" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Email validation result | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkup-api?ep=post:/v1/linkupapi/data/mail/validate # Fundraising Companies — `POST /v1/linkupapi/data/fundraising-companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkUp API - **Endpoint**: `POST https://api.coldiq.com/v1/linkupapi/data/fundraising-companies` - **Credits**: 6.3 credits per 10 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find companies that have recently received funding. Filter by funding stage, amount, industry, location, date range, and investor. Billed per 10 results. Credits: flat charge per page of up to 10 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `keyword` | string | yes | Keyword filter on company name or industry (required by the provider) | | `funding_stage` | string (enum) | no | Funding stage filter (one of: Seed, Series A, Series B, Series C, Series D+) | | `min_funding_amount` | integer | no | Minimum funding amount in USD (e.g. 1000000, 5000000, 10000000) | | `max_funding_amount` | integer | no | Maximum funding amount in USD | | `industry` | string | no | Industry filter (e.g. Software, Healthcare, FinTech) | | `location` | string | no | Geographic filter (e.g. "United States", "Europe", "San Francisco CA") | | `date_range` | string (enum) | no | Funding announcement date range (one of: last_30_days, last_3_months, last_6_months, last_year) | | `investor_name` | string | no | Specific investor name to filter by | | `employee_range` | string \| array | no | Workforce size filter | | `enrich` | boolean | no | Retrieve detailed company data for each result (adds 1 credit per company) | | `total_results` | integer | no | Number of results to return (50, 100, or 500). Billed at 1 credit per 10 results. (min 1; max 500) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/linkupapi/data/fundraising-companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"keyword":"AI","funding_stage":"Series B","min_funding_amount":10000000,"industry":"Software","location":"United States","date_range":"last_6_months","total_results":50}' ``` Request body: ```json { "keyword": "AI", "funding_stage": "Series B", "min_funding_amount": 10000000, "industry": "Software", "location": "United States", "date_range": "last_6_months", "total_results": 50 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Recently funded companies | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkup-api?ep=post:/v1/linkupapi/data/fundraising-companies # Hiring Companies — `POST /v1/linkupapi/data/hiring-companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkUp API - **Endpoint**: `POST https://api.coldiq.com/v1/linkupapi/data/hiring-companies` - **Credits**: 6.3 credits per 10 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find companies actively hiring for specific roles. Aggregates job postings from Indeed and LinkedIn. Billed per 10 companies. Credits: flat charge per page of up to 10 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_title` | string | no | Target job position to filter hiring companies by | | `industry` | string | no | Company industry classification | | `location` | string | no | Geographic filter | | `employee_range` | string | no | Company size filter (e.g. "51-200", "201-500") | | `min_active_jobs` | integer | no | Minimum number of active job postings (min 1) | | `total_results` | integer | no | Number of results to return (max 500). Billed at 1 credit per 10 companies. (min 1; max 500) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/linkupapi/data/hiring-companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"job_title":"Sales Director","industry":"Software","location":"United States","employee_range":"51-200","total_results":50}' ``` Request body: ```json { "job_title": "Sales Director", "industry": "Software", "location": "United States", "employee_range": "51-200", "total_results": 50 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Companies actively hiring | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | | `504` | Provider timed out | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkup-api?ep=post:/v1/linkupapi/data/hiring-companies # Provider: AI Ark # Company Search API — `POST /v1/ai-ark/companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `POST https://api.coldiq.com/v1/ai-ark/companies` - **Credits**: 0.21 credits per returned company - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search 70M+ enriched company profiles using flexible filters: industry, location, employee size, revenue, funding, technologies, NAICS, and more. Returns paginated results and bills ONLY for the companies actually returned — an over-tight filter that matches nothing costs nothing. Default result ordering is not documented upstream and is not random: in observed pulls it is strongly correlated with company size, largest first. A capped pull (e.g. the top 200 per country) therefore returns big companies and can omit an entire small-employee band — one measured run returned nothing under 55 employees, so the whole 11-50 band was silently absent. When you need small companies, constrain `account.employeeSize` with an explicit RANGE instead of relying on depth. Credits: bills only for returned results, per returned company; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `lookalikeDomains` | array | no | Up to 5 LinkedIn company URLs or domains to find similar companies | | `account` | object | no | Company-level filters (nested DSL). Wrappers: enum/string keys use {"any":{"include":[...],"exclude":[...]}} ("all" instead of "any" requires every value); text keys use {"any":{"include":{"mode":"WORD","content":[...]}}} (mode: WORD\|SMART\|STRICT); numeric keys use {"type":"RANGE","range":[{"start":n,"end":n}]}. Keys — text: industries, technologies, name, url, productAndServices; enum: location, type, domain, linkedin, socialMedia, naics; range: employeeSize, revenue, foundedYear; object: funding, keyword, metric, geoLocation. type values: PUBLIC_COMPANY, PRIVATELY_HELD, SELF_EMPLOYED, SELF_OWNED, PARTNERSHIP, GOVERNMENT_AGENCY, NON_PROFIT, EDUCATIONAL. funding.type values: PRE_SEED, SEED, SERIES_A, SERIES_B, SERIES_C, SERIES_D, SERIES_E, SERIES_F, SERIES_G, SERIES_H, SERIES_I, SERIES_J, VENTURE_ROUND, ANGEL, PRIVATE_EQUITY, DEBT_FINANCING, CONVERTIBLE_NOTE, GRANT, CORPORATE_ROUND, EQUITY_CROWDFUNDING, PRODUCT_CROWDFUNDING, SECONDARY_MARKET, POST_IPO_EQUITY, POST_IPO_DEBT, POST_IPO_SECONDARY, NON_EQUITY_ASSISTANCE, INITIAL_COIN_OFFERING, UNDISCLOSED, SERIES_UNKNOWN, FUNDING_ROUND. Unknown enum values are NOT rejected by AI Ark — they silently return 0 results, so a wrong spelling is indistinguishable from an empty niche. ColdIQ validates every value in this filter against the lists documented here and echoes anything that does not match as `unmatched_filters` on the 200 response (the request is still forwarded in full). That list is OUR documentation, not AI Ark’s full taxonomy: a value flagged as unmatched may still be valid upstream, and an unflagged value is not guaranteed to be. Exclusions match only the field they are written on: an `industries` exclude filters the industry label, NOT the company NAME, so excluding "robotics" still returns a company called "Nordic Robotics AS" whose industry is something else — exclude on `name` as well when you mean both. e.g. {"industries":{"any":{"include":{"mode":"WORD","content":["software development"]}}},"location":{"any":{"include":["United States"]}},"employeeSize":{"type":"RANGE","range":[{"start":10,"end":50}]}} | | `lists` | object | no | Exclusion lists created with POST /ai-ark/lists. `{"company_id":{"exclude":[""]}}` on Company Search or `{"people_id":{"exclude":[""]}}` on People Search removes every id in those lists from the results. Up to 10 lists per request; lists expire 24 hours after creation. | | `page` | integer | no | Page number, zero-based. The offset is computed as page * size, so `size` must stay CONSTANT across a paged pull: reducing `size` on a later page moves the offset BACKWARDS into rows you already received and paid for, and bills you for them a second time. To shrink the page length, restart the pull from page 0. (min 0; default 0) | | `size` | integer | no | Number of results per page (1-100). Do not change this between pages of the same pull — the offset is page * size, so a smaller `size` on a later page re-requests and re-bills rows already returned. (min 1; max 100; default 10) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/ai-ark/companies" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"account":{"employeeSize":{"type":"RANGE","range":[{"start":10,"end":50}]},"industries":{"any":{"include":{"mode":"WORD","content":["software development"]}}},"location":{"any":{"include":["United States"]}}},"page":0,"size":10}' ``` Request body: ```json { "account": { "employeeSize": { "type": "RANGE", "range": [ { "start": 10, "end": 50 } ] }, "industries": { "any": { "include": { "mode": "WORD", "content": [ "software development" ] } } }, "location": { "any": { "include": [ "United States" ] } } }, "page": 0, "size": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Company search results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `content` | array | yes | | | `unmatched_filters` | array | no | Filter values that did not match the taxonomies ColdIQ documents. Present only when at least one value failed to match. The request was still forwarded to AI Ark in full and is never rejected on account of this list — AI Ark’s taxonomies are larger than the lists we publish, so a flagged value may still be valid upstream. Treat it as: an empty result set with no `unmatched_filters` is a genuinely empty niche; an empty result set WITH `unmatched_filters` is most likely a spelling problem. | | `unmatched_filters[].key` | string | yes | Dotted request path of the filter that carried the value. | | `unmatched_filters[].value` | string | yes | The value exactly as you submitted it. | | `unmatched_filters[].reason` | string (enum) | yes | `not_in_documented_values`: well-formed, but absent from the list ColdIQ documents for this filter. `unexpected_value_format`: not shaped like an AI Ark taxonomy token at all (spaces, mixed case, punctuation), so it cannot match upstream. (one of: not_in_documented_values, unexpected_value_format) | | `unmatched_filters[].did_you_mean` | string | no | Closest documented value, when the submitted one looks like a typo of it. | | `unmatched_filters[].documented_values` | array | no | Every value ColdIQ documents for this filter. Present only for closed taxonomies, so one retry is enough to self-heal. | | `totalElements` | integer | yes | | | `totalPages` | integer | yes | | | `number` | integer | yes | | | `size` | integer | yes | | | `first` | boolean | no | | | `last` | boolean | no | | | `empty` | boolean | no | | | `numberOfElements` | integer | no | | Example response: ```json { "content": [ {} ], "unmatched_filters": [ { "key": "contact.seniority", "value": "c-suite", "reason": "not_in_documented_values", "did_you_mean": "c_suite", "documented_values": [ "string" ] } ], "totalElements": 0, "totalPages": 0, "number": 0, "size": 0, "first": false, "last": false, "empty": false, "numberOfElements": 0 } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=post:/v1/ai-ark/companies # Save List — `POST /v1/ai-ark/lists` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `POST https://api.coldiq.com/v1/ai-ark/lists` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Create or update a free AI Ark exclusion list of company or people ids, then reference its id from Company Search (`lists.company_id.exclude`) or People Search (`lists.people_id.exclude`) so records you already hold are never returned or billed again. This is also the documented way past the 10,000-result cap of one search. Lists hold up to 10,000 ids, up to 50 lists per day, and expire 24 hours after creation. Never Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | no | Existing list id to update. Omit to create a new list. (format uuid) | | `type` | string (enum) | no | Required when creating a list: `company_id` for Company Search ids, `people_id` for People Search ids. (one of: company_id, people_id) | | `values` | array | yes | AI Ark record ids to store. At most 10,000 per list. | | `mode` | string (enum) | no | APPEND (default) merges into an existing list; REPLACE overwrites it. (one of: APPEND, REPLACE) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/ai-ark/lists" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"type":"company_id","values":["bf9667e0-58e5-4381-a825-dcb462c2a6ac"]}' ``` Request body: ```json { "type": "company_id", "values": [ "bf9667e0-58e5-4381-a825-dcb462c2a6ac" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | The saved list | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | | | `workspace` | string | no | | | `type` | string | yes | | | `values` | array | yes | | | `created` | number | no | | Example response: ```json { "id": "string", "workspace": "string", "type": "string", "values": [ "string" ], "created": 0 } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=post:/v1/ai-ark/lists # People Search API — `POST /v1/ai-ark/people` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `POST https://api.coldiq.com/v1/ai-ark/people` - **Credits**: 1.03 credits per returned person - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search 500M+ enriched people profiles using contact and company filters: name, title, seniority, skills, education, location, and more. Returns paginated results with a single-use `trackId` for Find Emails. Bills only for returned results. Use `max_per_account` to keep at most N people per company in one call instead of issuing one call per company — it saves round trips, not credits (see the field description). Credits: bills only for returned results, per returned person; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/people/search` (Find People) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `account` | object | no | Company-level filters (nested DSL). Wrappers: enum/string keys use {"any":{"include":[...],"exclude":[...]}} ("all" instead of "any" requires every value); text keys use {"any":{"include":{"mode":"WORD","content":[...]}}} (mode: WORD\|SMART\|STRICT); numeric keys use {"type":"RANGE","range":[{"start":n,"end":n}]}. Keys — text: industries, technologies, name, url, productAndServices; enum: location, type, domain, linkedin, socialMedia, naics; range: employeeSize, revenue, foundedYear; object: funding, keyword, metric, geoLocation. type values: PUBLIC_COMPANY, PRIVATELY_HELD, SELF_EMPLOYED, SELF_OWNED, PARTNERSHIP, GOVERNMENT_AGENCY, NON_PROFIT, EDUCATIONAL. funding.type values: PRE_SEED, SEED, SERIES_A, SERIES_B, SERIES_C, SERIES_D, SERIES_E, SERIES_F, SERIES_G, SERIES_H, SERIES_I, SERIES_J, VENTURE_ROUND, ANGEL, PRIVATE_EQUITY, DEBT_FINANCING, CONVERTIBLE_NOTE, GRANT, CORPORATE_ROUND, EQUITY_CROWDFUNDING, PRODUCT_CROWDFUNDING, SECONDARY_MARKET, POST_IPO_EQUITY, POST_IPO_DEBT, POST_IPO_SECONDARY, NON_EQUITY_ASSISTANCE, INITIAL_COIN_OFFERING, UNDISCLOSED, SERIES_UNKNOWN, FUNDING_ROUND. Unknown enum values are NOT rejected by AI Ark — they silently return 0 results, so a wrong spelling is indistinguishable from an empty niche. ColdIQ validates every value in this filter against the lists documented here and echoes anything that does not match as `unmatched_filters` on the 200 response (the request is still forwarded in full). That list is OUR documentation, not AI Ark’s full taxonomy: a value flagged as unmatched may still be valid upstream, and an unflagged value is not guaranteed to be. Exclusions match only the field they are written on: an `industries` exclude filters the industry label, NOT the company NAME, so excluding "robotics" still returns a company called "Nordic Robotics AS" whose industry is something else — exclude on `name` as well when you mean both. e.g. {"industries":{"any":{"include":{"mode":"WORD","content":["software development"]}}},"location":{"any":{"include":["United States"]}},"employeeSize":{"type":"RANGE","range":[{"start":10,"end":50}]}} (Applied to the person's current employer.) | | `contact` | object | no | Individual-level filters (same nested DSL as account — see the account filter for the wrapper shapes). Keys — enum: seniority, departmentAndFunction, location, socialMedia, profileBadge; text: fullName, skill, certification; object: education, experience, company, keyword. Put current job titles in experience.latest.title. Put profile terms in keyword; each source is an object such as {"mode":"SMART","source":"HEADLINE"}. seniority values: founder, owner, partner, c_suite, vp, director, head, manager, senior, mid-level, entry, intern. Seniority is classified from the English job title, so non-English titles are downgraded: Nordic "head of" titles (Salgschef, Säljchef, Salgssjef, Myyntipäällikkö) classify as `manager`, not `head` — a {c_suite,vp,director,head} filter silently drops the real decision-maker at a Nordic SMB. Include `manager` when prospecting non-English-speaking markets. In the RESPONSE, seniority for a person is at `person.department.seniority` — it is NOT inside `position_groups[].profile_positions[]`, where most callers look first and find nothing. departmentAndFunction accepts AI Ark department, sub-department, and function values from its published departments-and-functions list, which is larger than the sample ColdIQ documents; examples include software_development, demand_generation, recruiting_talent_acquisition, financial_planning_analysis. Unknown enum values are NOT rejected by AI Ark — they silently return 0 results, so a wrong spelling is indistinguishable from an empty niche. ColdIQ validates every value in this filter against the lists documented here and echoes anything that does not match as `unmatched_filters` on the 200 response (the request is still forwarded in full). That list is OUR documentation, not AI Ark’s full taxonomy: a value flagged as unmatched may still be valid upstream, and an unflagged value is not guaranteed to be. e.g. {"seniority":{"any":{"include":["c_suite","director"],"exclude":["intern"]}},"experience":{"latest":{"title":{"any":{"include":{"mode":"SMART","content":["VP Sales"]}}}}},"keyword":{"any":{"include":{"sources":[{"mode":"SMART","source":"HEADLINE"},{"mode":"SMART","source":"SUMMARY"}],"content":["B2B SaaS"]}}}} | | `lists` | object | no | Exclusion lists created with POST /ai-ark/lists. `{"company_id":{"exclude":[""]}}` on Company Search or `{"people_id":{"exclude":[""]}}` on People Search removes every id in those lists from the results. Up to 10 lists per request; lists expire 24 hours after creation. | | `page` | integer | no | Page number, zero-based. The offset is computed as page * size, so `size` must stay CONSTANT across a paged pull: reducing `size` on a later page moves the offset BACKWARDS into rows you already received and paid for, and bills you for them a second time. To shrink the page length, restart the pull from page 0. (min 0; default 0) | | `size` | integer | no | Number of results per page (1-100). Do not change this between pages of the same pull — the offset is page * size, so a smaller `size` on a later page re-requests and re-bills rows already returned. (min 1; max 100; default 10) | | `max_per_account` | integer | no | ColdIQ-only: keep at most this many people per company, in the order AI Ark returned them. AI Ark has no such parameter, so ColdIQ applies the cap server-side AFTER the provider has returned the page — which is the point: batch many domains in one call and enforce a 2-3-per-account outbound rule without issuing one request per company. BILLING, stated plainly: AI Ark charges per RETURNED row and has already returned (and billed for) the whole page by the time the cap runs, so you are still charged for the rows the cap removes. The cap saves round trips and rate-limit budget, NOT credits — lower `size` to spend less. `discarded` in `max_per_account_applied` tells you exactly how many billed rows were dropped. A row whose employer cannot be read from the response is never dropped. The `trackId` still refers to the untrimmed AI Ark result set, and the pagination fields (`totalElements`, `totalPages`, `size`) still describe the AI Ark page, not the trimmed one — page with `page`/`size` as usual and read `max_per_account_applied` for what the cap removed. (min 1) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/ai-ark/people" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"contact":{"seniority":{"any":{"include":["founder"]}},"location":{"any":{"include":["United States"]}},"departmentAndFunction":{"any":{"include":["product_management"]}}},"account":{"employeeSize":{"type":"RANGE","range":[{"start":10,"end":200}]}},"page":0,"size":10}' ``` Request body: ```json { "contact": { "seniority": { "any": { "include": [ "founder" ] } }, "location": { "any": { "include": [ "United States" ] } }, "departmentAndFunction": { "any": { "include": [ "product_management" ] } } }, "account": { "employeeSize": { "type": "RANGE", "range": [ { "start": 10, "end": 200 } ] } }, "page": 0, "size": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | People search results | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `content` | array | yes | | | `trackId` | string | no | Pass this single-use trackId to Email Finder within 6 hours to get emails for these results. It covers the rows AI Ark returned, including any removed by max_per_account. (format uuid) | | `max_per_account_applied` | object | no | Present only when max_per_account was set. `returned_by_provider` is what AI Ark returned and billed for, `delivered` what you received, `discarded` the billed rows the cap removed, and `unattributed` the delivered rows kept uncapped because no employer could be read from them. | | `max_per_account_applied.cap` | integer | yes | | | `max_per_account_applied.returned_by_provider` | integer | yes | | | `max_per_account_applied.delivered` | integer | yes | | | `max_per_account_applied.discarded` | integer | yes | | | `max_per_account_applied.unattributed` | integer | yes | | | `unmatched_filters` | array | no | Filter values that did not match the taxonomies ColdIQ documents. Present only when at least one value failed to match. The request was still forwarded to AI Ark in full and is never rejected on account of this list — AI Ark’s taxonomies are larger than the lists we publish, so a flagged value may still be valid upstream. Treat it as: an empty result set with no `unmatched_filters` is a genuinely empty niche; an empty result set WITH `unmatched_filters` is most likely a spelling problem. | | `unmatched_filters[].key` | string | yes | Dotted request path of the filter that carried the value. | | `unmatched_filters[].value` | string | yes | The value exactly as you submitted it. | | `unmatched_filters[].reason` | string (enum) | yes | `not_in_documented_values`: well-formed, but absent from the list ColdIQ documents for this filter. `unexpected_value_format`: not shaped like an AI Ark taxonomy token at all (spaces, mixed case, punctuation), so it cannot match upstream. (one of: not_in_documented_values, unexpected_value_format) | | `unmatched_filters[].did_you_mean` | string | no | Closest documented value, when the submitted one looks like a typo of it. | | `unmatched_filters[].documented_values` | array | no | Every value ColdIQ documents for this filter. Present only for closed taxonomies, so one retry is enough to self-heal. | | `totalElements` | integer | yes | | | `totalPages` | integer | yes | | | `number` | integer | yes | | | `size` | integer | yes | | | `first` | boolean | no | | | `last` | boolean | no | | | `empty` | boolean | no | | | `numberOfElements` | integer | no | | Example response: ```json { "content": [ {} ], "trackId": "string", "max_per_account_applied": { "cap": 0, "returned_by_provider": 0, "delivered": 0, "discarded": 0, "unattributed": 0 }, "unmatched_filters": [ { "key": "contact.seniority", "value": "c-suite", "reason": "not_in_documented_values", "did_you_mean": "c_suite", "documented_values": [ "string" ] } ], "totalElements": 0, "totalPages": 0, "number": 0, "size": 0, "first": false, "last": false, "empty": false, "numberOfElements": 0 } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=post:/v1/ai-ark/people # Reverse People Lookup API — `POST /v1/ai-ark/people/reverse-lookup` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `POST https://api.coldiq.com/v1/ai-ark/people/reverse-lookup` - **Credits**: 1.03 credits per request - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Look up a person profile by email address or phone number. Returns the full profile if found. Billed per request. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/person/enrich` (Enrich Person) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | yes | Email address or phone number to look up | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/ai-ark/people/reverse-lookup" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"search":"michel@coldiq.com"}' ``` Request body: ```json { "search": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Profile found | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape Example response: ```json {} ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=post:/v1/ai-ark/people/reverse-lookup # Mobile Phone Finder API — `POST /v1/ai-ark/people/mobile-phone-finder` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `POST https://api.coldiq.com/v1/ai-ark/people/mobile-phone-finder` - **Credits**: 10.29 credits per found phone number - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find a person's mobile phone number by LinkedIn URL or name + company domain. Billed only when a phone number is found. Credits: bills only for returned results, per found phone number; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/phone/find` (Find Phone) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `linkedin` | string | no | LinkedIn profile URL. Provide this OR both domain + name. (format uri) | | `domain` | string | no | Company domain. Must be paired with name. | | `name` | string | no | Person's full name. Must be paired with domain. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/ai-ark/people/mobile-phone-finder" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"linkedin":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "linkedin": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Phone number found | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | no | | | `linkedin` | string | no | (format uri) | | `data` | array> | yes | | Example response: ```json { "id": "string", "linkedin": "https://example.com", "data": [ [ "string" ] ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=post:/v1/ai-ark/people/mobile-phone-finder # Export Single Person with Email — `POST /v1/ai-ark/people/export/single` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `POST https://api.coldiq.com/v1/ai-ark/people/export/single` - **Credits**: 2.06 credits per found email - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Export a single person's full profile with verified email. Provide either the AI Ark person ID or a LinkedIn URL. Billed only when a valid email is found. Credits: bills only for returned results, per found email; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | no | The person's AI Ark ID from a People Search result. Provide this or url. (format uuid) | | `url` | string | no | The person's LinkedIn profile URL. Provide this or id. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/ai-ark/people/export/single" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Profile with email | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape Example response: ```json {} ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=post:/v1/ai-ark/people/export/single # People Preview — `POST /v1/ai-ark/people/preview` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `POST https://api.coldiq.com/v1/ai-ark/people/preview` - **Credits**: 2.06 credits per page - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Validate a People Search filter set before spending per-result credits. Same filters as People Search; returns real person ids, first names with masked last names, titles, companies, locations, and has_* availability flags, plus totalElements for the market size. No emails, phones, or trackId. Billed a flat rate per page whatever the page size, so use it to check totalElements and match quality, then send the identical filters to People Search or Export People with Email. Credits: bills only for returned results, per page; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `account` | object | no | Company-level filters (nested DSL). Wrappers: enum/string keys use {"any":{"include":[...],"exclude":[...]}} ("all" instead of "any" requires every value); text keys use {"any":{"include":{"mode":"WORD","content":[...]}}} (mode: WORD\|SMART\|STRICT); numeric keys use {"type":"RANGE","range":[{"start":n,"end":n}]}. Keys — text: industries, technologies, name, url, productAndServices; enum: location, type, domain, linkedin, socialMedia, naics; range: employeeSize, revenue, foundedYear; object: funding, keyword, metric, geoLocation. type values: PUBLIC_COMPANY, PRIVATELY_HELD, SELF_EMPLOYED, SELF_OWNED, PARTNERSHIP, GOVERNMENT_AGENCY, NON_PROFIT, EDUCATIONAL. funding.type values: PRE_SEED, SEED, SERIES_A, SERIES_B, SERIES_C, SERIES_D, SERIES_E, SERIES_F, SERIES_G, SERIES_H, SERIES_I, SERIES_J, VENTURE_ROUND, ANGEL, PRIVATE_EQUITY, DEBT_FINANCING, CONVERTIBLE_NOTE, GRANT, CORPORATE_ROUND, EQUITY_CROWDFUNDING, PRODUCT_CROWDFUNDING, SECONDARY_MARKET, POST_IPO_EQUITY, POST_IPO_DEBT, POST_IPO_SECONDARY, NON_EQUITY_ASSISTANCE, INITIAL_COIN_OFFERING, UNDISCLOSED, SERIES_UNKNOWN, FUNDING_ROUND. Unknown enum values are NOT rejected by AI Ark — they silently return 0 results, so a wrong spelling is indistinguishable from an empty niche. ColdIQ validates every value in this filter against the lists documented here and echoes anything that does not match as `unmatched_filters` on the 200 response (the request is still forwarded in full). That list is OUR documentation, not AI Ark’s full taxonomy: a value flagged as unmatched may still be valid upstream, and an unflagged value is not guaranteed to be. Exclusions match only the field they are written on: an `industries` exclude filters the industry label, NOT the company NAME, so excluding "robotics" still returns a company called "Nordic Robotics AS" whose industry is something else — exclude on `name` as well when you mean both. e.g. {"industries":{"any":{"include":{"mode":"WORD","content":["software development"]}}},"location":{"any":{"include":["United States"]}},"employeeSize":{"type":"RANGE","range":[{"start":10,"end":50}]}} (Applied to the person's current employer.) | | `contact` | object | no | Individual-level filters (same nested DSL as account — see the account filter for the wrapper shapes). Keys — enum: seniority, departmentAndFunction, location, socialMedia, profileBadge; text: fullName, skill, certification; object: education, experience, company, keyword. Put current job titles in experience.latest.title. Put profile terms in keyword; each source is an object such as {"mode":"SMART","source":"HEADLINE"}. seniority values: founder, owner, partner, c_suite, vp, director, head, manager, senior, mid-level, entry, intern. Seniority is classified from the English job title, so non-English titles are downgraded: Nordic "head of" titles (Salgschef, Säljchef, Salgssjef, Myyntipäällikkö) classify as `manager`, not `head` — a {c_suite,vp,director,head} filter silently drops the real decision-maker at a Nordic SMB. Include `manager` when prospecting non-English-speaking markets. In the RESPONSE, seniority for a person is at `person.department.seniority` — it is NOT inside `position_groups[].profile_positions[]`, where most callers look first and find nothing. departmentAndFunction accepts AI Ark department, sub-department, and function values from its published departments-and-functions list, which is larger than the sample ColdIQ documents; examples include software_development, demand_generation, recruiting_talent_acquisition, financial_planning_analysis. Unknown enum values are NOT rejected by AI Ark — they silently return 0 results, so a wrong spelling is indistinguishable from an empty niche. ColdIQ validates every value in this filter against the lists documented here and echoes anything that does not match as `unmatched_filters` on the 200 response (the request is still forwarded in full). That list is OUR documentation, not AI Ark’s full taxonomy: a value flagged as unmatched may still be valid upstream, and an unflagged value is not guaranteed to be. e.g. {"seniority":{"any":{"include":["c_suite","director"],"exclude":["intern"]}},"experience":{"latest":{"title":{"any":{"include":{"mode":"SMART","content":["VP Sales"]}}}}},"keyword":{"any":{"include":{"sources":[{"mode":"SMART","source":"HEADLINE"},{"mode":"SMART","source":"SUMMARY"}],"content":["B2B SaaS"]}}}} | | `lists` | object | no | Exclusion lists created with POST /ai-ark/lists. `{"company_id":{"exclude":[""]}}` on Company Search or `{"people_id":{"exclude":[""]}}` on People Search removes every id in those lists from the results. Up to 10 lists per request; lists expire 24 hours after creation. | | `page` | integer | no | Page number, zero-based. The offset is computed as page * size, so `size` must stay CONSTANT across a paged pull: reducing `size` on a later page moves the offset BACKWARDS into rows you already received and paid for, and bills you for them a second time. To shrink the page length, restart the pull from page 0. (min 0; default 0) | | `size` | integer | no | Number of preview rows per page (1-100). The page costs the same flat rate whatever the size. (min 1; max 100; default 25) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/ai-ark/people/preview" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"contact":{"seniority":{"any":{"include":["c_suite"]}},"location":{"any":{"include":["United States"]}}},"account":{"domain":{"any":{"include":["coldiq.com"]}}},"page":0,"size":25}' ``` Request body: ```json { "contact": { "seniority": { "any": { "include": [ "c_suite" ] } }, "location": { "any": { "include": [ "United States" ] } } }, "account": { "domain": { "any": { "include": [ "coldiq.com" ] } } }, "page": 0, "size": 25 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Preview page | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `content` | array | yes | | | `trackId` | string \| null | no | Always null for a preview. Run People Search with the same filters to obtain a trackId for Email Finder. (format uuid) | | `unmatched_filters` | array | no | Filter values that did not match the taxonomies ColdIQ documents. Present only when at least one value failed to match. The request was still forwarded to AI Ark in full and is never rejected on account of this list — AI Ark’s taxonomies are larger than the lists we publish, so a flagged value may still be valid upstream. Treat it as: an empty result set with no `unmatched_filters` is a genuinely empty niche; an empty result set WITH `unmatched_filters` is most likely a spelling problem. | | `unmatched_filters[].key` | string | yes | Dotted request path of the filter that carried the value. | | `unmatched_filters[].value` | string | yes | The value exactly as you submitted it. | | `unmatched_filters[].reason` | string (enum) | yes | `not_in_documented_values`: well-formed, but absent from the list ColdIQ documents for this filter. `unexpected_value_format`: not shaped like an AI Ark taxonomy token at all (spaces, mixed case, punctuation), so it cannot match upstream. (one of: not_in_documented_values, unexpected_value_format) | | `unmatched_filters[].did_you_mean` | string | no | Closest documented value, when the submitted one looks like a typo of it. | | `unmatched_filters[].documented_values` | array | no | Every value ColdIQ documents for this filter. Present only for closed taxonomies, so one retry is enough to self-heal. | | `totalElements` | integer | yes | | | `totalPages` | integer | yes | | | `number` | integer | yes | | | `size` | integer | yes | | | `first` | boolean | no | | | `last` | boolean | no | | | `empty` | boolean | no | | | `numberOfElements` | integer | no | | Example response: ```json { "content": [ {} ], "trackId": "string", "unmatched_filters": [ { "key": "contact.seniority", "value": "c-suite", "reason": "not_in_documented_values", "did_you_mean": "c_suite", "documented_values": [ "string" ] } ], "totalElements": 0, "totalPages": 0, "number": 0, "size": 0, "first": false, "last": false, "empty": false, "numberOfElements": 0 } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=post:/v1/ai-ark/people/preview # Personality Analysis API — `POST /v1/ai-ark/people/analysis` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `POST https://api.coldiq.com/v1/ai-ark/people/analysis` - **Credits**: 8.23 credits per request - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description DISC and OCEAN personality profile of one person from a LinkedIn URL or AI Ark id, with an archetype and selling and hiring outreach guidance (subject, tone, length, what to say, what to avoid, decision traits). Billed per request; a profile that cannot be found is refunded. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | no | The person's full LinkedIn profile URL. Provide this or id. (format uri) | | `id` | string | no | The person's AI Ark id from a People Search or Preview result. Provide this or url. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/ai-ark/people/analysis" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://www.linkedin.com/in/michel-lieben"}' ``` Request body: ```json { "url": "https://www.linkedin.com/in/michel-lieben" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Personality profile | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Profile not found (refunded) | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `model` | string | no | | | `source` | object | no | | | `score` | any \| null | no | | | `assessments` | any \| null | no | | | `archetype` | any \| null | no | | | `selling` | any \| null | no | | | `hiring` | any \| null | no | | Example response: ```json { "model": "string", "source": {}, "score": null, "assessments": null, "archetype": null, "selling": null, "hiring": null } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=post:/v1/ai-ark/people/analysis # Fetch Your Credit — `GET /v1/ai-ark/credits` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `GET https://api.coldiq.com/v1/ai-ark/credits` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Remaining AI Ark credits of your connected AI Ark account (Data BYOK). On the managed ColdIQ key the upstream balance is not exposed; the response reports your ColdIQ credit balance instead, which is what managed AI Ark calls consume. Free. Credits: free. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/ai-ark/credits" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Credit balance | | `401` | Unauthorized | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `source` | string (enum) | yes | `user`: the balance of the connected AI Ark account (Data BYOK). `coldiq`: the managed key is in use; AI Ark credits are not exposed and ColdIQ credits apply instead. (one of: user, coldiq) | | `total` | number \| null | yes | Remaining AI Ark credits of the connected account, or null on the managed key. | | `coldiq_credit_balance` | number \| null | yes | The ColdIQ credit balance that pays managed AI Ark calls, or null on a user key. | Example response: ```json { "source": "string", "total": 0, "coldiq_credit_balance": 0 } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=get:/v1/ai-ark/credits # Export People Submissions — `GET /v1/ai-ark/people/export/submissions` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `GET https://api.coldiq.com/v1/ai-ark/people/export/submissions` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Your Export People submission history: trackId, request size, PENDING or SETTLED state, refund flag, and refund reason (SEARCH_NO_RESULTS, NO_EMAILS_FOUND, STUCK_HARD_REFUND, STUCK_SOFT_REFUND). Undelivered jobs are refunded upstream within about 10 hours. On the managed key only submissions made by your ColdIQ account are listed. Free. Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `state` | string (enum) | no | Filter by settlement state. (one of: PENDING, SETTLED) | | `fullyRefunded` | string (enum) | no | Filter by refund status. (one of: true, false) | | `page` | integer \| null | no | Page number, zero-based (min 0; default 0) | | `size` | integer | no | Items per page (1-100) (min 1; max 100; default 25) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/ai-ark/people/export/submissions?page=0&size=25" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Submission history | | `400` | Bad request | | `401` | Unauthorized | | `404` | Job not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `content` | array | yes | | | `content[].trackId` | string | yes | | | `content[].service` | string | no | | | `content[].requestSize` | number | no | | | `content[].state` | string | no | | | `content[].fullyRefunded` | boolean | no | | | `content[].refundReason` | string \| null | no | | | `totalElements` | integer | no | | | `totalPages` | integer | no | | Example response: ```json { "content": [ { "trackId": "string", "service": "string", "requestSize": 0, "state": "string", "fullyRefunded": false, "refundReason": "string" } ], "totalElements": 0, "totalPages": 0 } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=get:/v1/ai-ark/people/export/submissions # Export People Statistics — `GET /v1/ai-ark/people/export/{trackId}/statistics` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `GET https://api.coldiq.com/v1/ai-ark/people/export/{trackId}/statistics` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Progress of one Export People job: state (PENDING, DONE, or a refund state), records processed, matches found, and webhook delivery state. Poll this instead of the results endpoint while a job runs; it never Only your own jobs are visible. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | (format uuid) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/ai-ark/people/export/string/statistics" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job statistics | | `400` | Bad request | | `401` | Unauthorized | | `404` | Job not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | | | `state` | string | yes | PENDING, DONE, or a refund state: STUCK_HARD_REFUND, STUCK_SOFT_REFUND, SEARCH_NO_RESULTS, NO_EMAILS_FOUND. | | `statistics` | object | yes | | | `statistics.total` | integer | yes | (min 0) | | `statistics.found` | integer | yes | (min 0) | | `statistics.success` | integer | no | (min 0) | | `statistics.failed` | integer | no | (min 0) | | `webhook` | object \| null | no | | | `webhook.state` | string \| null | no | | | `webhook.retry` | string \| number \| boolean \| any \| null | no | | | `description` | string \| null | no | | Example response: ```json { "trackId": "string", "state": "string", "statistics": { "total": 0, "found": 0, "success": 0, "failed": 0 }, "webhook": { "state": "string", "retry": null }, "description": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=get:/v1/ai-ark/people/export/{trackId}/statistics # Resend Export People Webhook — `PATCH /v1/ai-ark/people/export/{trackId}/notify` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `PATCH https://api.coldiq.com/v1/ai-ark/people/export/{trackId}/notify` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Ask AI Ark to deliver the completion webhook of one finished Export People job again. ColdIQ receives that delivery on its own interceptor, stores the results, settles the credits, and forwards them to the webhook you gave at submission, so this is the recovery step for a job whose results never arrived. Only your own jobs can be re-delivered. Free. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | (format uuid) | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/ai-ark/people/export/string/notify" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Delivery result | | `400` | Bad request | | `401` | Unauthorized | | `404` | Job not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | | | `delivered` | boolean | yes | Whether the completion webhook was accepted (HTTP 2xx) on re-delivery. | | `fault` | string (enum) \| null | no | (one of: WEBHOOK, SERVICE, ) | | `message` | string \| null | no | | | `webhook` | object \| null | no | | | `webhook.status` | number | no | | | `webhook.body` | any \| null | no | | Example response: ```json { "trackId": "string", "delivered": false, "fault": "string", "message": "string", "webhook": { "status": 0, "body": null } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=patch:/v1/ai-ark/people/export/{trackId}/notify # Email Finder Submissions — `GET /v1/ai-ark/people/email-finder/submissions` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `GET https://api.coldiq.com/v1/ai-ark/people/email-finder/submissions` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Your Email Finder submission history: trackId, request size, PENDING or SETTLED state, refund flag, and refund reason (SEARCH_NO_RESULTS, NO_EMAILS_FOUND, STUCK_HARD_REFUND, STUCK_SOFT_REFUND). Undelivered jobs are refunded upstream within about 10 hours. On the managed key only submissions made by your ColdIQ account are listed. Free. Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `state` | string (enum) | no | Filter by settlement state. (one of: PENDING, SETTLED) | | `fullyRefunded` | string (enum) | no | Filter by refund status. (one of: true, false) | | `page` | integer \| null | no | Page number, zero-based (min 0; default 0) | | `size` | integer | no | Items per page (1-100) (min 1; max 100; default 25) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/ai-ark/people/email-finder/submissions?page=0&size=25" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Submission history | | `400` | Bad request | | `401` | Unauthorized | | `404` | Job not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `content` | array | yes | | | `content[].trackId` | string | yes | | | `content[].service` | string | no | | | `content[].requestSize` | number | no | | | `content[].state` | string | no | | | `content[].fullyRefunded` | boolean | no | | | `content[].refundReason` | string \| null | no | | | `totalElements` | integer | no | | | `totalPages` | integer | no | | Example response: ```json { "content": [ { "trackId": "string", "service": "string", "requestSize": 0, "state": "string", "fullyRefunded": false, "refundReason": "string" } ], "totalElements": 0, "totalPages": 0 } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=get:/v1/ai-ark/people/email-finder/submissions # Email Finder Statistics — `GET /v1/ai-ark/people/email-finder/{trackId}/statistics` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `GET https://api.coldiq.com/v1/ai-ark/people/email-finder/{trackId}/statistics` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Progress of one Email Finder job: state (PENDING, DONE, or a refund state), records processed, matches found, and webhook delivery state. Poll this instead of the results endpoint while a job runs; it never Only your own jobs are visible. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | (format uuid) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/ai-ark/people/email-finder/string/statistics" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job statistics | | `400` | Bad request | | `401` | Unauthorized | | `404` | Job not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | | | `state` | string | yes | PENDING, DONE, or a refund state: STUCK_HARD_REFUND, STUCK_SOFT_REFUND, SEARCH_NO_RESULTS, NO_EMAILS_FOUND. | | `statistics` | object | yes | | | `statistics.total` | integer | yes | (min 0) | | `statistics.found` | integer | yes | (min 0) | | `statistics.success` | integer | no | (min 0) | | `statistics.failed` | integer | no | (min 0) | | `webhook` | object \| null | no | | | `webhook.state` | string \| null | no | | | `webhook.retry` | string \| number \| boolean \| any \| null | no | | | `description` | string \| null | no | | Example response: ```json { "trackId": "string", "state": "string", "statistics": { "total": 0, "found": 0, "success": 0, "failed": 0 }, "webhook": { "state": "string", "retry": null }, "description": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=get:/v1/ai-ark/people/email-finder/{trackId}/statistics # Resend Email Finder Webhook — `PATCH /v1/ai-ark/people/email-finder/{trackId}/notify` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `PATCH https://api.coldiq.com/v1/ai-ark/people/email-finder/{trackId}/notify` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Ask AI Ark to deliver the completion webhook of one finished Email Finder job again. ColdIQ receives that delivery on its own interceptor, stores the results, settles the credits, and forwards them to the webhook you gave at submission, so this is the recovery step for a job whose results never arrived. Only your own jobs can be re-delivered. Free. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | (format uuid) | ## Example request ```bash curl -X PATCH "https://api.coldiq.com/v1/ai-ark/people/email-finder/string/notify" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Delivery result | | `400` | Bad request | | `401` | Unauthorized | | `404` | Job not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | | | `delivered` | boolean | yes | Whether the completion webhook was accepted (HTTP 2xx) on re-delivery. | | `fault` | string (enum) \| null | no | (one of: WEBHOOK, SERVICE, ) | | `message` | string \| null | no | | | `webhook` | object \| null | no | | | `webhook.status` | number | no | | | `webhook.body` | any \| null | no | | Example response: ```json { "trackId": "string", "delivered": false, "fault": "string", "message": "string", "webhook": { "status": 0, "body": null } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=patch:/v1/ai-ark/people/email-finder/{trackId}/notify # Export People with Email — `POST /v1/ai-ark/people/export` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `POST https://api.coldiq.com/v1/ai-ark/people/export` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Export people profiles with verified emails based on company and contact filters. Returns a `trackId` immediately. Results are delivered asynchronously and stored for retrieval. The worst-case profile plus email cost is reserved first, then settled from exported profiles and valid emails found. Credits: variable per exported profile + verified email, charged by which fields you request (profile, verified_email). Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `account` | object | no | Company-level filters (nested DSL). Wrappers: enum/string keys use {"any":{"include":[...],"exclude":[...]}} ("all" instead of "any" requires every value); text keys use {"any":{"include":{"mode":"WORD","content":[...]}}} (mode: WORD\|SMART\|STRICT); numeric keys use {"type":"RANGE","range":[{"start":n,"end":n}]}. Keys — text: industries, technologies, name, url, productAndServices; enum: location, type, domain, linkedin, socialMedia, naics; range: employeeSize, revenue, foundedYear; object: funding, keyword, metric, geoLocation. type values: PUBLIC_COMPANY, PRIVATELY_HELD, SELF_EMPLOYED, SELF_OWNED, PARTNERSHIP, GOVERNMENT_AGENCY, NON_PROFIT, EDUCATIONAL. funding.type values: PRE_SEED, SEED, SERIES_A, SERIES_B, SERIES_C, SERIES_D, SERIES_E, SERIES_F, SERIES_G, SERIES_H, SERIES_I, SERIES_J, VENTURE_ROUND, ANGEL, PRIVATE_EQUITY, DEBT_FINANCING, CONVERTIBLE_NOTE, GRANT, CORPORATE_ROUND, EQUITY_CROWDFUNDING, PRODUCT_CROWDFUNDING, SECONDARY_MARKET, POST_IPO_EQUITY, POST_IPO_DEBT, POST_IPO_SECONDARY, NON_EQUITY_ASSISTANCE, INITIAL_COIN_OFFERING, UNDISCLOSED, SERIES_UNKNOWN, FUNDING_ROUND. Unknown enum values are NOT rejected by AI Ark — they silently return 0 results, so a wrong spelling is indistinguishable from an empty niche. ColdIQ validates every value in this filter against the lists documented here and echoes anything that does not match as `unmatched_filters` on the 200 response (the request is still forwarded in full). That list is OUR documentation, not AI Ark’s full taxonomy: a value flagged as unmatched may still be valid upstream, and an unflagged value is not guaranteed to be. Exclusions match only the field they are written on: an `industries` exclude filters the industry label, NOT the company NAME, so excluding "robotics" still returns a company called "Nordic Robotics AS" whose industry is something else — exclude on `name` as well when you mean both. e.g. {"industries":{"any":{"include":{"mode":"WORD","content":["software development"]}}},"location":{"any":{"include":["United States"]}},"employeeSize":{"type":"RANGE","range":[{"start":10,"end":50}]}} | | `contact` | object | no | Individual-level filters (same nested DSL as account — see the account filter for the wrapper shapes). Keys — enum: seniority, departmentAndFunction, location, socialMedia, profileBadge; text: fullName, skill, certification; object: education, experience, company, keyword. Put current job titles in experience.latest.title. Put profile terms in keyword; each source is an object such as {"mode":"SMART","source":"HEADLINE"}. seniority values: founder, owner, partner, c_suite, vp, director, head, manager, senior, mid-level, entry, intern. Seniority is classified from the English job title, so non-English titles are downgraded: Nordic "head of" titles (Salgschef, Säljchef, Salgssjef, Myyntipäällikkö) classify as `manager`, not `head` — a {c_suite,vp,director,head} filter silently drops the real decision-maker at a Nordic SMB. Include `manager` when prospecting non-English-speaking markets. In the RESPONSE, seniority for a person is at `person.department.seniority` — it is NOT inside `position_groups[].profile_positions[]`, where most callers look first and find nothing. departmentAndFunction accepts AI Ark department, sub-department, and function values from its published departments-and-functions list, which is larger than the sample ColdIQ documents; examples include software_development, demand_generation, recruiting_talent_acquisition, financial_planning_analysis. Unknown enum values are NOT rejected by AI Ark — they silently return 0 results, so a wrong spelling is indistinguishable from an empty niche. ColdIQ validates every value in this filter against the lists documented here and echoes anything that does not match as `unmatched_filters` on the 200 response (the request is still forwarded in full). That list is OUR documentation, not AI Ark’s full taxonomy: a value flagged as unmatched may still be valid upstream, and an unflagged value is not guaranteed to be. e.g. {"seniority":{"any":{"include":["c_suite","director"],"exclude":["intern"]}},"experience":{"latest":{"title":{"any":{"include":{"mode":"SMART","content":["VP Sales"]}}}}},"keyword":{"any":{"include":{"sources":[{"mode":"SMART","source":"HEADLINE"},{"mode":"SMART","source":"SUMMARY"}],"content":["B2B SaaS"]}}}} | | `page` | integer | no | Page offset (zero-based) (min 0; default 0) | | `size` | integer | yes | Number of people to export with emails (max 500) (min 1; max 500) | | `webhook` | string | no | HTTPS URL to receive the completed results. If omitted, poll via GET. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/ai-ark/people/export" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"account":{"employeeSize":{"type":"RANGE","range":[{"start":10,"end":50}]}},"contact":{"seniority":{"any":{"include":["c_suite","director"]}},"departmentAndFunction":{"any":{"include":["sales"]}}},"page":0,"size":25,"webhook":"https://webhook.site/your-unique-id"}' ``` Request body: ```json { "account": { "employeeSize": { "type": "RANGE", "range": [ { "start": 10, "end": 50 } ] } }, "contact": { "seniority": { "any": { "include": [ "c_suite", "director" ] } }, "departmentAndFunction": { "any": { "include": [ "sales" ] } } }, "page": 0, "size": 25, "webhook": "https://webhook.site/your-unique-id" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Export job accepted. Credits reserved upfront; unused credits refunded when results arrive. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | (format uuid) | | `state` | string | yes | | | `statistics` | object | yes | | | `statistics.total` | integer | yes | (min 0) | | `statistics.found` | integer | yes | (min 0) | | `statistics.success` | integer | no | (min 0) | | `statistics.failed` | integer | no | (min 0) | | `webhook` | object \| null | no | | | `webhook.state` | string | yes | | | `webhook.retry` | string \| number \| boolean \| any \| null | yes | | | `description` | string \| null | yes | | | `unmatched_filters` | array | no | Filter values that did not match the taxonomies ColdIQ documents. Present only when at least one value failed to match. The request was still forwarded to AI Ark in full and is never rejected on account of this list — AI Ark’s taxonomies are larger than the lists we publish, so a flagged value may still be valid upstream. Treat it as: an empty result set with no `unmatched_filters` is a genuinely empty niche; an empty result set WITH `unmatched_filters` is most likely a spelling problem. | | `unmatched_filters[].key` | string | yes | Dotted request path of the filter that carried the value. | | `unmatched_filters[].value` | string | yes | The value exactly as you submitted it. | | `unmatched_filters[].reason` | string (enum) | yes | `not_in_documented_values`: well-formed, but absent from the list ColdIQ documents for this filter. `unexpected_value_format`: not shaped like an AI Ark taxonomy token at all (spaces, mixed case, punctuation), so it cannot match upstream. (one of: not_in_documented_values, unexpected_value_format) | | `unmatched_filters[].did_you_mean` | string | no | Closest documented value, when the submitted one looks like a typo of it. | | `unmatched_filters[].documented_values` | array | no | Every value ColdIQ documents for this filter. Present only for closed taxonomies, so one retry is enough to self-heal. | Example response: ```json { "trackId": "87dad120-e371-44e0-b896-cf90b2f84170", "state": "PENDING", "statistics": { "total": 25, "found": 0 }, "description": null } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=post:/v1/ai-ark/people/export # Find Emails by Track ID — `POST /v1/ai-ark/people/email-finder` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `POST https://api.coldiq.com/v1/ai-ark/people/email-finder` - **Credits**: 2.06 credits per found email - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find emails for all people in a previous People Search result. The `trackId` can be used once and expires after 6 hours. Results are delivered asynchronously and stored for retrieval. The full result count is reserved before submission, then the charge is settled from valid emails found. Credits: bills only for returned results, per found email; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | The trackId from a People Search response. Can be used once; expires after 6 hours. (format uuid) | | `webhook` | string | no | HTTPS URL to receive the completed results. If omitted, poll via GET. (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/ai-ark/people/email-finder" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"trackId":"719aba5a-876f-4690-bb57-5157153836b4","webhook":"https://webhook.site/your-unique-id"}' ``` Request body: ```json { "trackId": "719aba5a-876f-4690-bb57-5157153836b4", "webhook": "https://webhook.site/your-unique-id" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Email finder job accepted. Credits reserved based on batch size; unused credits refunded when results arrive. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | (format uuid) | | `state` | string | yes | | | `statistics` | object | yes | | | `statistics.total` | integer | yes | (min 0) | | `statistics.found` | integer | yes | (min 0) | | `statistics.success` | integer | no | (min 0) | | `statistics.failed` | integer | no | (min 0) | | `webhook` | object \| null | no | | | `webhook.state` | string | yes | | | `webhook.retry` | string \| number \| boolean \| any \| null | yes | | | `description` | string \| null | yes | | Example response: ```json { "trackId": "87dad120-e371-44e0-b896-cf90b2f84170", "state": "PENDING", "statistics": { "total": 25, "found": 0 }, "description": null } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=post:/v1/ai-ark/people/email-finder # Get Export People Results — `GET /v1/ai-ark/people/export/{trackId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `GET https://api.coldiq.com/v1/ai-ark/people/export/{trackId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve the result of an Export People job. Returns stored results instantly for completed jobs. For in-progress jobs, proxies to the AI Ark `/inquiries` endpoint — returns 202 while processing (AI Ark returns 409 until done). Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | (format uuid) | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer \| null | no | Page number, zero-based (min 0; default 0) | | `size` | integer | no | Number of results per page (1–100) (min 1; max 100; default 10) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/ai-ark/people/export/string?page=0&size=10" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Export results (completed job from webhook) | | `202` | Job still in progress — paginated partial results or {state:"PROCESSING"} if not yet started | | `400` | Provider rejected the result query | | `404` | Job not found | | `410` | Job expired or failed — credits have been refunded, please resubmit | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | | | `state` | string | yes | | | `statistics` | object | yes | | | `statistics.total` | integer | yes | (min 0) | | `statistics.found` | integer | yes | (min 0) | | `statistics.success` | integer | no | (min 0) | | `statistics.failed` | integer | no | (min 0) | | `description` | string \| null | yes | | | `data` | array | yes | | Example response: ```json { "trackId": "string", "state": "string", "statistics": { "total": 0, "found": 0, "success": 0, "failed": 0 }, "description": "string", "data": [ {} ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=get:/v1/ai-ark/people/export/{trackId} # Get Email Finder Results — `GET /v1/ai-ark/people/email-finder/{trackId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: AI Ark - **Endpoint**: `GET https://api.coldiq.com/v1/ai-ark/people/email-finder/{trackId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve the result of a Find Emails job. Returns stored results instantly for completed jobs. For in-progress jobs, proxies to the AI Ark `/inquiries` endpoint — individual items have `state: "PROCESSING"` until their email is resolved. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | (format uuid) | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer \| null | no | Page number, zero-based (min 0; default 0) | | `size` | integer | no | Number of results per page (1–100) (min 1; max 100; default 10) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/ai-ark/people/email-finder/string?page=0&size=10" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Email finder results (completed job from webhook) | | `202` | Job still in progress — paginated partial results from AI Ark | | `400` | Provider rejected the result query | | `404` | Job not found | | `410` | Job expired or failed — credits have been refunded, please resubmit | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `trackId` | string | yes | | | `state` | string | yes | | | `statistics` | object | yes | | | `statistics.total` | integer | yes | (min 0) | | `statistics.found` | integer | yes | (min 0) | | `statistics.success` | integer | no | (min 0) | | `statistics.failed` | integer | no | (min 0) | | `description` | string \| null | yes | | | `data` | array | yes | | Example response: ```json { "trackId": "string", "state": "string", "statistics": { "total": 0, "found": 0, "success": 0, "failed": 0 }, "description": "string", "data": [ {} ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/ai-ark?ep=get:/v1/ai-ark/people/email-finder/{trackId} # Provider: LinkedIn Jobs API # List Advanced LinkedIn Job Search jobs — `GET /v1/linkedin-jobs-api/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkedIn Jobs API - **Endpoint**: `GET https://api.coldiq.com/v1/linkedin-jobs-api/search` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns your most recent LinkedIn job search jobs (newest first), including their status and credit usage. Use the returned `jobId` values to poll for results. Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of jobs to return (max 100). (min 1; max 100; default 20) | | `offset` | integer \| null | no | Number of jobs to skip for pagination. (min 0; default 0) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/linkedin-jobs-api/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | List of your search jobs, newest first. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobs` | array | yes | | | `jobs[].jobId` | integer | yes | | | `jobs[].status` | string (enum) | yes | (one of: pending, processing, done, failed, timed_out) | | `jobs[].createdAt` | string | yes | (format date-time) | | `jobs[].expiresAt` | string \| null | yes | (format date-time) | | `jobs[].creditsReserved` | number \| null | yes | | | `jobs[].creditsCharged` | number \| null | yes | | Example response: ```json { "jobs": [ { "jobId": 0, "status": "string", "createdAt": "string", "expiresAt": "string", "creditsReserved": 0, "creditsCharged": 0 } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkedin-jobs-api?ep=get:/v1/linkedin-jobs-api/search # Advanced LinkedIn Job Search — `POST /v1/linkedin-jobs-api/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkedIn Jobs API - **Endpoint**: `POST https://api.coldiq.com/v1/linkedin-jobs-api/search` - **Credits**: 0.74 credits per job - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Start an async job to search LinkedIn job postings with advanced filters on title, location, description, company size, industry, seniority, employment type, and AI-enriched fields. Returns a `jobId` immediately — poll `GET /linkedin-jobs-api/search/{jobId}` for results. Credits: bills only for returned results, per job; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/jobs/search` (Search Jobs) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `timeRange` | string (enum) | no | Time range for job listings. Choose hourly (1h), daily (24h), weekly (7d), or last 6 months (6m). Run at the same interval to avoid duplicates. (one of: 1h, 24h, 7d, 6m; default "7d") | | `limit` | integer | no | Maximum number of jobs to return. Minimum 10, maximum 5,000. (min 10; max 5000; default 10) | | `includeAi` | boolean | no | Include AI-enriched fields (work arrangement, salary, experience level, visa sponsorship, taxonomies). Over 99.9% of jobs are enriched. (default true) | | `removeAgency` | boolean | no | Filter out recruitment agencies, job boards, and other low-quality sources. | | `titleSearch` | array | no | Job titles to search for. Use :* for prefix matching (e.g. "Soft:*" matches "Software"). | | `titleExclusionSearch` | array | no | Job titles to exclude. Supports :* prefix matching. | | `locationSearch` | array | no | Locations to search. Use exact "City, State/Region, Country" format with English names (e.g. "San Francisco, California, United States"). Supports :* prefix matching. | | `locationExclusionSeach` | array | no | Locations to exclude. Use exact "City, State/Region, Country" format. Supports :* prefix matching. | | `descriptionSearch` | array | no | Terms to search in job title & description. Not supported with 6m time range. Be specific and combine with titleSearch. Supports :* prefix matching. | | `descriptionExclusionSearch` | array | no | Terms to exclude from job title & description. Not supported with 6m time range. Supports :* prefix matching. | | `organizationSearch` | array | no | Organization names to search for. Supports :* prefix matching. | | `organizationExclusionSearch` | array | no | Organization names to exclude. Supports :* prefix matching. | | `organizationDescriptionSearch` | array | no | Terms to search in organization description. Not supported with 6m time range. Supports :* prefix matching. | | `organizationDescriptionExclusionSearch` | array | no | Terms to exclude from organization description. Not supported with 6m time range. Supports :* prefix matching. | | `descriptionType` | string (enum) | no | Format of the job description. Omit to exclude description from results. (one of: text, html) | | `datePostedAfter` | string | no | Filter jobs posted on or after this date. Format: "2025-01-01" or "2025-01-01T14:00:00" (UTC). Not recommended when polling on a regular interval. | | `remote` | boolean | no | Filter for remote jobs only. Includes jobs with "remote" in title, description, or location. | | `seniorityFilter` | array | no | Filter by seniority level (English-speaking countries only). Case-sensitive. | | `externalApplyUrl` | boolean | no | Filter for jobs with an external apply URL (non-Easy Apply). | | `populateExternalApplyURL` | boolean | no | Populate external_apply_url with the url field value when external_apply_url is null. | | `noDirectApply` | boolean | no | Exclude jobs with LinkedIn Easy Apply. | | `directApply` | boolean | no | Include only jobs with LinkedIn Easy Apply. | | `organizationSlugFilter` | array | no | Filter by LinkedIn organization slugs (exact match). The slug is the company-specific part of the LinkedIn URL (e.g. "tesla-motors" from linkedin.com/company/tesla-motors/). | | `organizationSlugExclusionFilter` | array | no | Exclude jobs from specific LinkedIn organization slugs (exact match). | | `industryFilter` | array | no | Filter by LinkedIn industry names (exact match, e.g. "Computer Software", "Internet", "Financial Services"). | | `organizationEmployeesLte` | integer | no | Maximum number of employees in the company. (min 0) | | `organizationEmployeesGte` | integer | no | Minimum number of employees in the company. (min 0) | | `EmploymentTypeFilter` | array | no | Filter by employment type. | | `excludeATSDuplicate` | boolean | no | Remove jobs that duplicate entries in the Career Site Job Listing dataset. | | `populateAiRemoteLocation` | boolean | no | Populate ai_remote_location with locations_derived when ai_remote_location is empty. | | `populateAiRemoteLocationDerived` | boolean | no | Populate ai_remote_location_derived with locations_derived when ai_remote_location_derived is empty. | | `aiWorkArrangementFilter` | array | no | BETA: Filter by work arrangement. Use "Remote OK" + "Remote Solely" to include all remote jobs. | | `aiHasSalary` | boolean | no | BETA: Filter for jobs with salary information (AI-enriched or raw salary from job schema). | | `aiExperienceLevelFilter` | array | no | BETA: Filter by years of experience. | | `aiVisaSponsorshipFilter` | boolean | no | BETA: Filter for jobs offering visa sponsorship. | | `aiTaxonomiesFilter` | array | no | BETA: Filter by AI job taxonomies. | | `aiTaxonomiesPrimaryFilter` | array | no | BETA: Filter by primary AI taxonomy. | | `aiTaxonomiesExclusionFilter` | array | no | BETA: Exclude jobs by AI taxonomies. Warning: very broad — may exclude unintended jobs. | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/linkedin-jobs-api/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"titleSearch":["Account Executive"],"locationSearch":["New York, New York, United States"],"timeRange":"7d","limit":10,"includeAi":true,"removeAgency":true}' ``` Request body: ```json { "titleSearch": [ "Account Executive" ], "locationSearch": [ "New York, New York, United States" ], "timeRange": "7d", "limit": 10, "includeAi": true, "removeAgency": true } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted. Poll the returned `jobId` for results. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | Poll this ID via GET /linkedin-jobs-api/search/{jobId} to retrieve results. | | `status` | string (enum) | yes | (one of: processing) | Example response: ```json { "jobId": 0, "status": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkedin-jobs-api?ep=post:/v1/linkedin-jobs-api/search # Get Advanced LinkedIn Job Search result — `GET /v1/linkedin-jobs-api/search/{jobId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LinkedIn Jobs API - **Endpoint**: `GET https://api.coldiq.com/v1/linkedin-jobs-api/search/{jobId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status of a LinkedIn job search job. Returns `202` while in progress, `200` with results when done. Completed results are cached — repeated calls are free and instant. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | (min 0; max 2147483647) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/linkedin-jobs-api/search/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job status. When `status` is `done`, `jobs` contains the scraped job listings. | | `202` | Job is still running — poll again shortly. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Job not found | | `410` | Job expired — credits refunded | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | | | `status` | string (enum) | yes | (one of: processing, done, failed, timed_out) | | `jobs` | array | no | Present only when status is "done". | | `error` | string | no | Present only when status is "failed" or "timed_out". | Example response: ```json { "jobId": 0, "status": "string", "jobs": [ null ], "error": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/linkedin-jobs-api?ep=get:/v1/linkedin-jobs-api/search/{jobId} # Provider: Career Site Jobs # List Career Site Job Listing API jobs — `GET /v1/career-site-jobs/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Career Site Jobs - **Endpoint**: `GET https://api.coldiq.com/v1/career-site-jobs/search` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Returns your most recent career site job search jobs (newest first), including their status and credit usage. Use the returned `jobId` values to poll for results. Credits: free. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Number of jobs to return (max 100). (min 1; max 100; default 20) | | `offset` | integer \| null | no | Number of jobs to skip for pagination. (min 0; default 0) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/career-site-jobs/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | List of your search jobs, newest first. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobs` | array | yes | | | `jobs[].jobId` | integer | yes | | | `jobs[].status` | string (enum) | yes | (one of: pending, processing, done, failed, timed_out) | | `jobs[].createdAt` | string | yes | (format date-time) | | `jobs[].expiresAt` | string \| null | yes | (format date-time) | | `jobs[].creditsReserved` | number \| null | yes | | | `jobs[].creditsCharged` | number \| null | yes | | Example response: ```json { "jobs": [ { "jobId": 0, "status": "string", "createdAt": "string", "expiresAt": "string", "creditsReserved": 0, "creditsCharged": 0 } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/career-site-jobs?ep=get:/v1/career-site-jobs/search # Career Site Job Listing API — `POST /v1/career-site-jobs/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Career Site Jobs - **Endpoint**: `POST https://api.coldiq.com/v1/career-site-jobs/search` - **Credits**: 1.26 credits per job - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Start an async job to search real job postings scraped directly from 175k+ company career sites across 54 ATS platforms (Workday, Greenhouse, Ashby, Lever, and more). Supports filters on title, location, description, company domain, ATS platform, remote, agency exclusion, and AI-enriched fields. Returns a `jobId` immediately — poll `GET /career-site-jobs/search/{jobId}` for results. Credits: bills only for returned results, per job; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/jobs/search` (Search Jobs) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `limit` | integer | no | Maximum number of jobs to return. Minimum 10, maximum 500. (min 10; max 500; default 10) | | `timeRange` | string (enum) | no | Time range for job listings. Choose hourly (1h), daily (24h), weekly (7d), or last 6 months (6m). Run at the same interval to avoid duplicates. (one of: 1h, 24h, 7d, 6m; default "7d") | | `titleSearch` | array | no | Terms to search in job titles. Use :* for prefix matching (e.g. "Soft:*" matches "Software"). | | `titleExclusionSearch` | array | no | Terms to exclude from job titles. Supports :* prefix matching. | | `locationSearch` | array | no | Locations to search. Use exact "City, State/Region, Country" format with English names (e.g. "San Francisco, California, United States"). Supports :* prefix matching. | | `locationExclusionSearch` | array | no | Locations to exclude. Use exact "City, State/Region, Country" format. Supports :* prefix matching. | | `descriptionSearch` | array | no | Terms to search in job descriptions (includes title). Very intensive — be specific, combine with titleSearch, and limit to a few keywords. Supports :* prefix matching. | | `descriptionExclusionSearch` | array | no | Terms to exclude from job descriptions (includes title). Supports :* prefix matching. | | `organizationSearch` | array | no | Terms to search in organization names. Supports :* prefix matching. | | `organizationExclusionSearch` | array | no | Terms to exclude from organization names. Supports :* prefix matching. | | `domainFilter` | array | no | Company domains to include (exact match). Alternative to organizationSearch. | | `domainExclusionFilter` | array | no | Company domains to exclude (exact match). | | `descriptionType` | string (enum) | no | Format of the job description. Omit to exclude description from results. (one of: text, html) | | `remote` | boolean | no | Filter for remote jobs only. Sensitive — includes jobs with "remote" in title, description, or location. Use aiWorkArrangementFilter for more precise results. | | `ats` | array | no | ATS platforms to include. Available options: adp, applicantpro, ashby, bamboohr, breezy, careerplug, comeet, csod, dayforce, dover, eightfold, firststage, freshteam, gem, gohire, greenhouse, hibob, hirebridge, hirehive, hireology, hiringthing, icims, isolved, jazzhr, jobvite, join.com, kula, lever.co, manatal, oraclecloud, pageup, paradox, paycom, paycor, paylocity, personio, phenompeople, pinpoint, polymer, recruitee, recooty, rippling, rival, smartrecruiters, successfactors, taleo, teamtailor, trakstar, trinet, ultipro, werecruit, workable, workday, zoho. | | `atsExclusionFilter` | array | no | ATS platforms to exclude. Uses the same values as the ats filter. | | `removeAgency` | boolean | no | Filter out recruitment agencies. | | `datePostedAfter` | string | no | Filter jobs posted on or after this date. Format: "2025-01-01" or "2025-01-01T14:00:00" (UTC). Not recommended when polling on a regular interval. | | `includeAi` | boolean | no | Include AI-enriched fields (work arrangement, salary, experience level, visa sponsorship, taxonomies). Over 99.9% of jobs are enriched. (default true) | | `aiEmploymentTypeFilter` | array | no | BETA: Filter by employment type. | | `aiWorkArrangementFilter` | array | no | BETA: Filter by work arrangement. Use "Remote OK" + "Remote Solely" to include all remote jobs. | | `aiHasSalary` | boolean | no | BETA: Filter for jobs with salary information (AI-enriched or raw salary from job schema). | | `aiExperienceLevelFilter` | array | no | BETA: Filter by years of experience. | | `aiVisaSponsorshipFilter` | boolean | no | BETA: Filter for jobs offering visa sponsorship. | | `aiTaxonomiesFilter` | array | no | BETA: Filter by AI job taxonomies. | | `aiTaxonomiesPrimaryFilter` | array | no | BETA: Filter by primary AI taxonomy. | | `aiTaxonomiesExclusionFilter` | array | no | BETA: Exclude jobs by AI taxonomies. Warning: very broad — may exclude unintended jobs. | | `populateAiRemoteLocation` | boolean | no | Populate ai_remote_location with locations_derived when ai_remote_location is empty. | | `populateAiRemoteLocationDerived` | boolean | no | Populate ai_remote_location_derived with locations_derived when ai_remote_location_derived is empty. | | `includeLinkedIn` | boolean | no | BETA: Include LinkedIn company data (employees, industry, URL). AI-mapped with 99% accuracy; over 95% of jobs have data. (default false) | | `liIndustryFilter` | array | no | BETA: Filter by LinkedIn industry names (exact match). | | `liOrganizationEmployeesLte` | integer | no | BETA: Maximum number of employees in the company. (min 0) | | `liOrganizationEmployeesGte` | integer | no | BETA: Minimum number of employees in the company. (min 0) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/career-site-jobs/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"titleSearch":["Account Executive"],"locationSearch":["New York, New York, United States"],"timeRange":"7d","limit":10,"includeAi":true,"removeAgency":true}' ``` Request body: ```json { "titleSearch": [ "Account Executive" ], "locationSearch": [ "New York, New York, United States" ], "timeRange": "7d", "limit": 10, "includeAi": true, "removeAgency": true } ``` ## Responses | Status | Meaning | | --- | --- | | `202` | Job accepted. Poll the returned `jobId` for results. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `202` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | Poll this ID via GET /career-site-jobs/search/{jobId} to retrieve results. | | `status` | string (enum) | yes | (one of: processing) | Example response: ```json { "jobId": 0, "status": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/career-site-jobs?ep=post:/v1/career-site-jobs/search # Get Career Site Job Listing API result — `GET /v1/career-site-jobs/search/{jobId}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Career Site Jobs - **Endpoint**: `GET https://api.coldiq.com/v1/career-site-jobs/search/{jobId}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status of a career site job search job. Returns `202` while in progress, `200` with results when done. Completed results are cached — repeated calls are free and instant. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | (min 0; max 2147483647) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/career-site-jobs/search/0" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job status. When `status` is `done`, `jobs` contains the scraped job listings. | | `202` | Job is still running — poll again shortly. | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Job not found | | `410` | Job expired — credits refunded | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | integer | yes | | | `status` | string (enum) | yes | (one of: processing, done, failed, timed_out) | | `jobs` | array | no | Present only when status is "done". | | `error` | string | no | Present only when status is "failed" or "timed_out". | Example response: ```json { "jobId": 0, "status": "string", "jobs": [ null ], "error": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/career-site-jobs?ep=get:/v1/career-site-jobs/search/{jobId} # Provider: Serper # Google Search — `POST /v1/serper/search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Serper - **Endpoint**: `POST https://api.coldiq.com/v1/serper/search` - **Credits**: 0.063 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Run a Google web search and get structured results including organic listings, knowledge graph, answer boxes, people-also-ask, and related searches. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/web/search` (Web Search) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `q` | string | yes | Search query. Supports Google search operators (site:, filetype:, intitle:, -keyword, OR, etc.) | | `num` | integer | no | Number of results to return (default: 10, max: 100). Requests over 10 results cost 2 credits. (min 1; max 100) | | `page` | integer | no | Page number for pagination (default: 1) (min 1) | | `gl` | string | no | Country code for geo-targeting (e.g. "us", "gb", "fr") | | `hl` | string | no | Language code for results (e.g. "en", "es", "fr") | | `location` | string | no | Specific location for results (city-level precision recommended) | | `tbs` | string | no | Time-based filter: qdr:h (hour), qdr:d (day), qdr:w (week), qdr:m (month), qdr:y (year) | | `autocorrect` | boolean | no | Enable Google's autocorrection (default: true) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/serper/search" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q":"ColdIQ site:linkedin.com","num":10,"gl":"us","hl":"en"}' ``` Request body: ```json { "q": "ColdIQ site:linkedin.com", "num": 10, "gl": "us", "hl": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Google search results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/serper?ep=post:/v1/serper/search # Google News Search — `POST /v1/serper/news` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Serper - **Endpoint**: `POST https://api.coldiq.com/v1/serper/news` - **Credits**: 0.063 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search Google News for recent articles. Use the `tbs` parameter to filter by recency (e.g. qdr:d for past day, qdr:w for past week). Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `q` | string | yes | Search query. Supports Google search operators (site:, filetype:, intitle:, -keyword, OR, etc.) | | `num` | integer | no | Number of results to return (default: 10, max: 100). Requests over 10 results cost 2 credits. (min 1; max 100) | | `page` | integer | no | Page number for pagination (default: 1) (min 1) | | `gl` | string | no | Country code for geo-targeting (e.g. "us", "gb", "fr") | | `hl` | string | no | Language code for results (e.g. "en", "es", "fr") | | `location` | string | no | Specific location for results (city-level precision recommended) | | `tbs` | string | no | Time-based filter: qdr:h (hour), qdr:d (day), qdr:w (week), qdr:m (month), qdr:y (year) | | `autocorrect` | boolean | no | Enable Google's autocorrection (default: true) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/serper/news" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q":"ColdIQ funding","num":10,"tbs":"qdr:m","gl":"us"}' ``` Request body: ```json { "q": "ColdIQ funding", "num": 10, "tbs": "qdr:m", "gl": "us" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | News search results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/serper?ep=post:/v1/serper/news # Google Images Search — `POST /v1/serper/images` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Serper - **Endpoint**: `POST https://api.coldiq.com/v1/serper/images` - **Credits**: 0.063 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search Google Images and get image URLs, dimensions, titles, and source pages. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `q` | string | yes | Search query. Supports Google search operators (site:, filetype:, intitle:, -keyword, OR, etc.) | | `num` | integer | no | Number of results to return (default: 10, max: 100). Requests over 10 results cost 2 credits. (min 1; max 100) | | `page` | integer | no | Page number for pagination (default: 1) (min 1) | | `gl` | string | no | Country code for geo-targeting (e.g. "us", "gb", "fr") | | `hl` | string | no | Language code for results (e.g. "en", "es", "fr") | | `location` | string | no | Specific location for results (city-level precision recommended) | | `tbs` | string | no | Time-based filter: qdr:h (hour), qdr:d (day), qdr:w (week), qdr:m (month), qdr:y (year) | | `autocorrect` | boolean | no | Enable Google's autocorrection (default: true) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/serper/images" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q":"Michel Lieben ColdIQ","num":10,"gl":"us"}' ``` Request body: ```json { "q": "Michel Lieben ColdIQ", "num": 10, "gl": "us" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Image search results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/serper?ep=post:/v1/serper/images # Google Videos Search — `POST /v1/serper/videos` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Serper - **Endpoint**: `POST https://api.coldiq.com/v1/serper/videos` - **Credits**: 0.063 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search Google Videos and get video titles, links, sources, durations, and thumbnails. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `q` | string | yes | Search query. Supports Google search operators (site:, filetype:, intitle:, -keyword, OR, etc.) | | `num` | integer | no | Number of results to return (default: 10, max: 100). Requests over 10 results cost 2 credits. (min 1; max 100) | | `page` | integer | no | Page number for pagination (default: 1) (min 1) | | `gl` | string | no | Country code for geo-targeting (e.g. "us", "gb", "fr") | | `hl` | string | no | Language code for results (e.g. "en", "es", "fr") | | `location` | string | no | Specific location for results (city-level precision recommended) | | `tbs` | string | no | Time-based filter: qdr:h (hour), qdr:d (day), qdr:w (week), qdr:m (month), qdr:y (year) | | `autocorrect` | boolean | no | Enable Google's autocorrection (default: true) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/serper/videos" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q":"cold email outbound sales tutorial","num":10,"gl":"us"}' ``` Request body: ```json { "q": "cold email outbound sales tutorial", "num": 10, "gl": "us" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Video search results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/serper?ep=post:/v1/serper/videos # Google Places Search — `POST /v1/serper/places` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Serper - **Endpoint**: `POST https://api.coldiq.com/v1/serper/places` - **Credits**: 0.063 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search Google Maps / Places for businesses and locations. Returns name, address, coordinates, rating, phone, website, and type. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `q` | string | yes | Search query. Supports Google search operators (site:, filetype:, intitle:, -keyword, OR, etc.) | | `num` | integer | no | Number of results to return (default: 10, max: 100). Requests over 10 results cost 2 credits. (min 1; max 100) | | `page` | integer | no | Page number for pagination (default: 1) (min 1) | | `gl` | string | no | Country code for geo-targeting (e.g. "us", "gb", "fr") | | `hl` | string | no | Language code for results (e.g. "en", "es", "fr") | | `location` | string | no | Specific location for results (city-level precision recommended) | | `tbs` | string | no | Time-based filter: qdr:h (hour), qdr:d (day), qdr:w (week), qdr:m (month), qdr:y (year) | | `autocorrect` | boolean | no | Enable Google's autocorrection (default: true) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/serper/places" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q":"B2B SaaS companies Brussels","gl":"be","hl":"en"}' ``` Request body: ```json { "q": "B2B SaaS companies Brussels", "gl": "be", "hl": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Places search results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/serper?ep=post:/v1/serper/places # Google Shopping Search — `POST /v1/serper/shopping` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Serper - **Endpoint**: `POST https://api.coldiq.com/v1/serper/shopping` - **Credits**: 0.063 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search Google Shopping for product listings with prices, sources, ratings, and delivery information. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `q` | string | yes | Search query. Supports Google search operators (site:, filetype:, intitle:, -keyword, OR, etc.) | | `num` | integer | no | Number of results to return (default: 10, max: 100). Requests over 10 results cost 2 credits. (min 1; max 100) | | `page` | integer | no | Page number for pagination (default: 1) (min 1) | | `gl` | string | no | Country code for geo-targeting (e.g. "us", "gb", "fr") | | `hl` | string | no | Language code for results (e.g. "en", "es", "fr") | | `location` | string | no | Specific location for results (city-level precision recommended) | | `tbs` | string | no | Time-based filter: qdr:h (hour), qdr:d (day), qdr:w (week), qdr:m (month), qdr:y (year) | | `autocorrect` | boolean | no | Enable Google's autocorrection (default: true) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/serper/shopping" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q":"sales intelligence software","num":10,"gl":"us"}' ``` Request body: ```json { "q": "sales intelligence software", "num": 10, "gl": "us" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Shopping search results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/serper?ep=post:/v1/serper/shopping # Google Scholar Search — `POST /v1/serper/scholar` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Serper - **Endpoint**: `POST https://api.coldiq.com/v1/serper/scholar` - **Credits**: 0.063 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search Google Scholar for academic papers and citations. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `q` | string | yes | Search query. Supports Google search operators (site:, filetype:, intitle:, -keyword, OR, etc.) | | `num` | integer | no | Number of results to return (default: 10, max: 100). Requests over 10 results cost 2 credits. (min 1; max 100) | | `page` | integer | no | Page number for pagination (default: 1) (min 1) | | `gl` | string | no | Country code for geo-targeting (e.g. "us", "gb", "fr") | | `hl` | string | no | Language code for results (e.g. "en", "es", "fr") | | `location` | string | no | Specific location for results (city-level precision recommended) | | `tbs` | string | no | Time-based filter: qdr:h (hour), qdr:d (day), qdr:w (week), qdr:m (month), qdr:y (year) | | `autocorrect` | boolean | no | Enable Google's autocorrection (default: true) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/serper/scholar" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q":"cold email response rates B2B","num":10}' ``` Request body: ```json { "q": "cold email response rates B2B", "num": 10 } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Scholar search results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/serper?ep=post:/v1/serper/scholar # Google Patents Search — `POST /v1/serper/patents` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Serper - **Endpoint**: `POST https://api.coldiq.com/v1/serper/patents` - **Credits**: 0.063 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search Google Patents for patent filings by keyword, inventor, or company. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `q` | string | yes | Search query. Supports Google search operators (site:, filetype:, intitle:, -keyword, OR, etc.) | | `num` | integer | no | Number of results to return (default: 10, max: 100). Requests over 10 results cost 2 credits. (min 1; max 100) | | `page` | integer | no | Page number for pagination (default: 1) (min 1) | | `gl` | string | no | Country code for geo-targeting (e.g. "us", "gb", "fr") | | `hl` | string | no | Language code for results (e.g. "en", "es", "fr") | | `location` | string | no | Specific location for results (city-level precision recommended) | | `tbs` | string | no | Time-based filter: qdr:h (hour), qdr:d (day), qdr:w (week), qdr:m (month), qdr:y (year) | | `autocorrect` | boolean | no | Enable Google's autocorrection (default: true) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/serper/patents" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q":"email deliverability scoring algorithm","num":10,"gl":"us"}' ``` Request body: ```json { "q": "email deliverability scoring algorithm", "num": 10, "gl": "us" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Patent search results | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/serper?ep=post:/v1/serper/patents # Google Autocomplete — `POST /v1/serper/autocomplete` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Serper - **Endpoint**: `POST https://api.coldiq.com/v1/serper/autocomplete` - **Credits**: 0.063 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get Google search autocomplete suggestions for a partial query. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `q` | string | yes | Partial query to get Google autocomplete suggestions for | | `gl` | string | no | Country code (e.g. "us", "gb") | | `hl` | string | no | Language code (e.g. "en", "fr") | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/serper/autocomplete" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q":"cold email","gl":"us","hl":"en"}' ``` Request body: ```json { "q": "cold email", "gl": "us", "hl": "en" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Autocomplete suggestions | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/serper?ep=post:/v1/serper/autocomplete # Provider: Influencers Club # Enrich by Email — `POST /v1/influencers-club/creators/enrich/email` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Influencers Club - **Endpoint**: `POST https://api.coldiq.com/v1/influencers-club/creators/enrich/email` - **Credits**: 125.58 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Look up a creator profile by their email address. Returns 40+ data points including follower counts, engagement rates, contact details, and cross-platform social profiles. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `email` | string | yes | Creator's email address to look up (format email) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/influencers-club/creators/enrich/email" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"email":"michel@coldiq.com"}' ``` Request body: ```json { "email": "michel@coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Creator profile | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/influencers-club?ep=post:/v1/influencers-club/creators/enrich/email # Enrich by Handle - Full — `POST /v1/influencers-club/creators/enrich/handle/full` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Influencers Club - **Endpoint**: `POST https://api.coldiq.com/v1/influencers-club/creators/enrich/handle/full` - **Credits**: 125.58 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich a creator profile by platform handle with full processed data. Returns 40+ enriched data points including verified email, estimated income, audience demographics, and engagement metrics. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `handle` | string | yes | Creator's handle / username on the platform (without @) | | `platform` | string (enum) | yes | Social media platform (one of: instagram, youtube, tiktok, twitch, twitter, onlyfans) | | `include_lookalikes` | boolean | no | Include similar creators in the response | | `email_required` | string (enum) | no | Email availability requirement: "preferred" returns the creator regardless, "must_have" only returns if an email is found (one of: preferred, must_have) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/influencers-club/creators/enrich/handle/full" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"handle":"garyvee","platform":"instagram","email_required":"preferred"}' ``` Request body: ```json { "handle": "garyvee", "platform": "instagram", "email_required": "preferred" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Enriched creator profile | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/influencers-club?ep=post:/v1/influencers-club/creators/enrich/handle/full # Enrich by Handle - Raw — `POST /v1/influencers-club/creators/enrich/handle/raw` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Influencers Club - **Endpoint**: `POST https://api.coldiq.com/v1/influencers-club/creators/enrich/handle/raw` - **Credits**: 125.58 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Enrich a creator profile by platform handle and return the unprocessed raw data directly from the platform. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `handle` | string | yes | Creator's handle / username on the platform (without @) | | `platform` | string (enum) | yes | Social media platform (one of: instagram, youtube, tiktok, twitch, twitter, onlyfans) | | `email_required` | string (enum) | no | Email availability requirement (same values as the full enrichment endpoint) (one of: preferred, must_have) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/influencers-club/creators/enrich/handle/raw" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"handle":"garyvee","platform":"instagram"}' ``` Request body: ```json { "handle": "garyvee", "platform": "instagram" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Raw creator profile data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/influencers-club?ep=post:/v1/influencers-club/creators/enrich/handle/raw # Discovery — `POST /v1/influencers-club/discovery` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Influencers Club - **Endpoint**: `POST https://api.coldiq.com/v1/influencers-club/discovery` - **Credits**: 125.58 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search and filter creators across platforms using audience demographics, engagement metrics, location, and AI-powered natural language queries. Returns paginated creator profiles. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/influencers/find` (Find Influencers) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `platform` | string (enum) | yes | Platform to search on (one of: instagram, youtube, tiktok, twitch, twitter, onlyfans) | | `paging` | object | yes | | | `paging.limit` | integer | yes | Number of creators to return (max 100) (min 1; max 100) | | `paging.page` | integer | yes | Page number (1-based) (min 1) | | `sort` | object | no | | | `sort.sort_by` | string (enum) | yes | Field to sort results by (one of: relevancy, number_of_followers, engagement_rate) | | `sort.sort_order` | string (enum) | yes | Sort direction (one of: asc, desc) | | `filters` | object | no | | | `filters.ai_search` | string | no | Natural language AI search query | | `filters.location` | array | no | Creator location filter (country or city) | | `filters.gender` | string (enum) | no | Gender filter (one of: male, female) | | `filters.type` | string (enum) | no | Account type filter (one of: creator, business) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/influencers-club/discovery" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"platform":"instagram","paging":{"limit":10,"page":1},"filters":{"ai_search":"fitness influencers","location":["United States"]}}' ``` Request body: ```json { "platform": "instagram", "paging": { "limit": 10, "page": 1 }, "filters": { "ai_search": "fitness influencers", "location": [ "United States" ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Matching creator profiles | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/influencers-club?ep=post:/v1/influencers-club/discovery # Find Lookalikes — `POST /v1/influencers-club/discovery/creators/similar` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Influencers Club - **Endpoint**: `POST https://api.coldiq.com/v1/influencers-club/discovery/creators/similar` - **Credits**: 125.58 credits per result - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find creators similar to a given handle on the same platform. Returns ranked lookalike profiles based on content, audience, and engagement patterns. Credits: bills only for returned results, per result; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/influencers/find` (Find Influencers) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `handle` | string | yes | Creator handle to find lookalikes for | | `platform` | string (enum) | yes | Social media platform (one of: instagram, youtube, tiktok, twitch, twitter, onlyfans) | | `paging` | object | yes | | | `paging.limit` | integer | yes | Number of creators to return (max 100) (min 1; max 100) | | `paging.page` | integer | yes | Page number (1-based) (min 1) | | `filters` | object | no | Optional platform-specific filters (same filter keys as the discovery endpoint) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/influencers-club/discovery/creators/similar" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"handle":"garyvee","platform":"instagram","paging":{"limit":10,"page":1}}' ``` Request body: ```json { "handle": "garyvee", "platform": "instagram", "paging": { "limit": 10, "page": 1 } } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Similar creator profiles | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/influencers-club?ep=post:/v1/influencers-club/discovery/creators/similar # Provider: Signalbase # Get Funding Signals — `GET /v1/signalbase/funding-signals` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Signalbase - **Endpoint**: `GET https://api.coldiq.com/v1/signalbase/funding-signals` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch funding signals with filtering, pagination, and search capabilities. Returns a list of companies with funding activity including round types, amounts, and investor information. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/signals/find` (Find Signals) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (max: 100, default: 20) (min 1; max 100) | | `dateFrom` | string | no | Start date (ISO 8601: YYYY-MM-DD) | | `dateTo` | string | no | End date (ISO 8601: YYYY-MM-DD) | | `date_preset` | string (enum) | no | Relative date shortcut (one of: today, yesterday, last_7d, last_14d, last_30d, last_60d, last_90d, last_6m, last_1y, last_2y, this_week, this_month, this_quarter, this_year, last_week, last_month, last_quarter, last_year) | | `countries` | string | no | Comma-separated country codes | | `categories` | string | no | Pipe-separated category list | | `industry` | string | no | Comma-separated industry names (exact match) | | `subcategories` | string | no | Comma-separated subcategory IDs | | `round` | string | no | Comma-separated round types | | `round_flavor` | string | no | Comma-separated round flavors: bridge, extension, secondary | | `amount_min` | integer \| null | no | Minimum funding amount (USD cents) (min 0) | | `amount_max` | integer \| null | no | Maximum funding amount (USD cents) (min 0) | | `currency` | string | no | Currency symbol filter | | `search` | string | no | Search company name or industry keywords | | `company_name` | string | no | Partial match on company name | | `investor_name` | string | no | Partial match on investor name | | `verification_status` | string | no | Comma-separated: verified, unverified, pending | | `employee_count_min` | integer \| null | no | Minimum employee count (min 0) | | `employee_count_max` | integer \| null | no | Maximum employee count (min 0) | | `founded_year_min` | integer | no | Minimum founded year (min 1800; max 2100) | | `founded_year_max` | integer | no | Maximum founded year (min 1800; max 2100) | | `sort_by` | string (enum) | no | Sort field (default: occurred_at) (one of: occurred_at, discovered_at, amount, employee_count, founded_year) | | `sort_order` | string (enum) | no | Sort direction (default: desc) (one of: asc, desc) | | `count` | string (enum) | no | Set to "true" to return only pagination metadata (no credits charged) (one of: true) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/signalbase/funding-signals?page=1&limit=20&dateFrom=2025-01-01&countries=US%2CGB&industry=Software&subcategories=ai%2Csaas&round=Seed%2CSeries%20A&search=ColdIQ" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Funding signals | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/signalbase?ep=get:/v1/signalbase/funding-signals # Get Acquisition Signals — `GET /v1/signalbase/acquisition-signals` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Signalbase - **Endpoint**: `GET https://api.coldiq.com/v1/signalbase/acquisition-signals` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch acquisition signals with filtering, pagination, and search capabilities. Returns acquisition events with acquired company details, acquiring company information, deal amounts, and source references. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/signals/find` (Find Signals) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (max: 100, default: 20) (min 1; max 100) | | `dateFrom` | string | no | Start date (ISO 8601: YYYY-MM-DD) | | `dateTo` | string | no | End date (ISO 8601: YYYY-MM-DD) | | `date_preset` | string (enum) | no | Relative date shortcut (one of: today, yesterday, last_7d, last_14d, last_30d, last_60d, last_90d, last_6m, last_1y, last_2y, this_week, this_month, this_quarter, this_year, last_week, last_month, last_quarter, last_year) | | `countries` | string | no | Comma-separated country codes | | `categories` | string | no | Pipe-separated category list | | `industry` | string | no | Comma-separated industry names (exact match) | | `subcategories` | string | no | Comma-separated subcategory IDs | | `search` | string | no | Search company name or keywords | | `company_name` | string | no | Partial match on acquired company name | | `acquiring_company` | string | no | Partial match on acquiring company name | | `amount_min` | integer \| null | no | Minimum deal amount (USD cents) (min 0) | | `amount_max` | integer \| null | no | Maximum deal amount (USD cents) (min 0) | | `currency` | string | no | Currency symbol filter | | `employee_count_min` | integer \| null | no | Minimum employee count (min 0) | | `employee_count_max` | integer \| null | no | Maximum employee count (min 0) | | `founded_year_min` | integer | no | Minimum founded year (min 1800; max 2100) | | `founded_year_max` | integer | no | Maximum founded year (min 1800; max 2100) | | `verification_status` | string | no | Comma-separated: verified, unverified, pending | | `sort_by` | string (enum) | no | Sort field (default: occurred_at) (one of: occurred_at, discovered_at, amount, employee_count) | | `sort_order` | string (enum) | no | Sort direction (default: desc) (one of: asc, desc) | | `count` | string (enum) | no | Set to "true" to return only pagination metadata (no credits charged) (one of: true) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/signalbase/acquisition-signals?page=1&limit=20&dateFrom=2025-01-01&countries=US%2CGB&search=Microsoft" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Acquisition signals | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/signalbase?ep=get:/v1/signalbase/acquisition-signals # Get Job Change Signals — `GET /v1/signalbase/job-change-signals` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Signalbase - **Endpoint**: `GET https://api.coldiq.com/v1/signalbase/job-change-signals` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch job change signals with filtering, pagination, and search. Supports role-aware position filters, department and seniority filters, LinkedIn targeting, and field-specific search. Person names are GDPR-masked (first name + last initial only). Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/signals/find` (Find Signals) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (max: 100, default: 20) (min 1; max 100) | | `dateFrom` | string | no | Start date (ISO 8601: YYYY-MM-DD) | | `dateTo` | string | no | End date (ISO 8601: YYYY-MM-DD) | | `date_preset` | string (enum) | no | Relative date shortcut (one of: today, yesterday, last_7d, last_14d, last_30d, last_60d, last_90d, last_6m, last_1y, last_2y, this_week, this_month, this_quarter, this_year, last_week, last_month, last_quarter, last_year) | | `search` | string | no | Free-text search | | `countries` | string | no | Comma-separated country codes | | `city` | string | no | City name filter | | `person_name` | string | no | Search by person name (GDPR-masked: first name + last initial) | | `company_name` | string | no | Partial match on company name | | `personLinkedinUrl` | string | no | Filter by person LinkedIn URL | | `companyLinkedinUrl` | string | no | Filter by company LinkedIn URL | | `new_role` | string | no | Filter by new role title | | `positions` | string | no | Comma-separated position filters | | `departments` | string | no | Comma-separated department filters | | `seniorities` | string | no | Comma-separated seniority filters | | `source` | string | no | Source filter: linkedin, press_release, other | | `keyword` | string | no | Keyword filter | | `sort_by` | string (enum) | no | Sort field (default: occurred_at) (one of: occurred_at, discovered_at, person_name, company_name) | | `sort_order` | string (enum) | no | Sort direction (default: desc) (one of: asc, desc) | | `count` | string (enum) | no | Set to "true" to return only pagination metadata (no credits charged) (one of: true) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/signalbase/job-change-signals?page=1&limit=20&dateFrom=2025-01-01&search=ColdIQ&countries=US&positions=ceo%2Ccto&departments=engineering%2Cproduct&seniorities=c_level%2Cvp" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job change signals | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/signalbase?ep=get:/v1/signalbase/job-change-signals # Get Hiring Signals — `GET /v1/signalbase/hiring-signals` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Signalbase - **Endpoint**: `GET https://api.coldiq.com/v1/signalbase/hiring-signals` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch hiring signals (open job postings) with filtering, pagination, and search. Supports role-aware position filters, department and seniority filters, location targeting, team size, and applicant range filtering. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/signals/find` (Find Signals) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (max: 100, default: 20) (min 1; max 100) | | `dateFrom` | string | no | Start date (ISO 8601: YYYY-MM-DD) | | `dateTo` | string | no | End date (ISO 8601: YYYY-MM-DD) | | `date_preset` | string (enum) | no | Relative date shortcut (one of: today, yesterday, last_7d, last_14d, last_30d, last_60d, last_90d, last_6m, last_1y, last_2y, this_week, this_month, this_quarter, this_year, last_week, last_month, last_quarter, last_year) | | `search` | string | no | Free-text search across company, industry, job title, location, city | | `countries` | string | no | Comma-separated country codes | | `states` | string | no | Comma-separated state codes | | `city` | string | no | City name filter | | `categories` | string | no | Pipe-separated category list | | `subcategories` | string | no | Comma-separated subcategory IDs | | `positions` | string | no | Comma-separated position filters | | `departments` | string | no | Comma-separated department filters | | `seniorities` | string | no | Comma-separated seniority filters | | `team_size` | string | no | Team size range: 1-10, 11-50, 51-200, 201-1000, 1000-plus | | `applicants` | string | no | Applicant range: 0-25, 26-50, 51-100, 101-200, 201-plus | | `sort_by` | string (enum) | no | Sort field (default: created_at) (one of: date_posted, created_at, title, company_name, location) | | `sort_order` | string (enum) | no | Sort direction (default: desc) (one of: asc, desc) | | `count` | string (enum) | no | Set to "true" to return only pagination metadata (no credits charged) (one of: true) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/signalbase/hiring-signals?page=1&limit=20&dateFrom=2025-01-01&search=ColdIQ&countries=US%2CGB&subcategories=ai%2Csaas&positions=cto%2Cengineering%20manager&departments=engineering%2Cproduct&seniorities=c_level%2Cdirector" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Hiring signals | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/signalbase?ep=get:/v1/signalbase/hiring-signals # Get Investors — `GET /v1/signalbase/investors` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Signalbase - **Endpoint**: `GET https://api.coldiq.com/v1/signalbase/investors` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Fetch investor data with filtering, pagination, and search. Returns venture capital firms, angel investors, PE firms, corporate investors, accelerators, family offices, hedge funds, and crowdfunding platforms. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (max: 100, default: 20) (min 1; max 100) | | `dateFrom` | string | no | Start date (ISO 8601: YYYY-MM-DD) | | `dateTo` | string | no | End date (ISO 8601: YYYY-MM-DD) | | `date_preset` | string (enum) | no | Relative date shortcut (one of: today, yesterday, last_7d, last_14d, last_30d, last_60d, last_90d, last_6m, last_1y, last_2y, this_week, this_month, this_quarter, this_year, last_week, last_month, last_quarter, last_year) | | `search` | string | no | Free-text search across investor names and types | | `countries` | string | no | Comma-separated country codes | | `type` | string | no | Investor type: vc, angel, pe, corporate, government, accelerator, family_office, hedge_fund, crowdfunding | | `categories` | string | no | Legacy pipe-separated investor types | | `headquarters` | string | no | Location-based search for headquarters | | `ticket_size_min` | integer \| null | no | Minimum ticket size (USD) (min 0) | | `ticket_size_max` | integer \| null | no | Maximum ticket size (USD) (min 0) | | `sort_by` | string (enum) | no | Sort field (default: name) (one of: name, created_at, ticket_size_min, ticket_size_max) | | `sort_order` | string (enum) | no | Sort direction (default: desc) (one of: asc, desc) | | `count` | string (enum) | no | Set to "true" to return only pagination metadata (no credits charged) (one of: true) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/signalbase/investors?page=1&limit=20&search=Sequoia&countries=US&type=vc" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Investor data | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/signalbase?ep=get:/v1/signalbase/investors # Get Companies — `GET /v1/signalbase/companies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Signalbase - **Endpoint**: `GET https://api.coldiq.com/v1/signalbase/companies` - **Credits**: 3.5 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Browse and search companies with filtering, pagination, and sorting. Returns company profiles with industry, headcount, location, and metadata — independent of any signal data. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/companies/search` (Search Companies) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer | no | Page number (default: 1) (min 1) | | `limit` | integer | no | Results per page (max: 100, default: 20) (min 1; max 100) | | `search` | string | no | Free-text search across name, industry, description, keywords, specialties | | `countries` | string | no | Comma-separated country codes | | `industry` | string | no | Comma-separated industry names (exact match) | | `employee_count_min` | integer \| null | no | Minimum employee count (min 0) | | `employee_count_max` | integer \| null | no | Maximum employee count (min 0) | | `founded_year_min` | integer | no | Minimum founded year (min 1800; max 2100) | | `founded_year_max` | integer | no | Maximum founded year (min 1800; max 2100) | | `sort_by` | string (enum) | no | Sort field (default: name) (one of: name, employee_count, founded_year, created_at) | | `sort_order` | string (enum) | no | Sort direction (default: desc) (one of: asc, desc) | | `count` | string (enum) | no | Set to "true" to return only pagination metadata (no credits charged) (one of: true) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/signalbase/companies?page=1&limit=20&search=ColdIQ&countries=US%2CGB&industry=Software" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Company profiles | | `400` | Bad request (upstream validation error) | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/signalbase?ep=get:/v1/signalbase/companies # Provider: LeadsFactory # Find People — Create Search — `POST /v1/leadsfactory/contact-finder/searches` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadsFactory - **Endpoint**: `POST https://api.coldiq.com/v1/leadsfactory/contact-finder/searches` - **Credits**: 0.35 credits per contact - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find contacts by job title and seniority across a list of company LinkedIn URLs. Submit a list of companies + personas (e.g. "Head of Sales, VP level") and receive matching contacts progressively via webhook — one call per contact found. Cost: 1 credit per contact found, deducted as results arrive. Requires at least 1 credit to start. Credits: bills only for returned results, per contact; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/people/search` (Find People) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `name` | string | no | | | `company_linkedin_urls` | array | no | | | `company_domains` | array | no | | | `search` | object | yes | | | `search.max_persona_results` | integer | yes | (min 0) | | `search.personas` | array | yes | | | `search.personas[].job_title` | string | yes | | | `search.personas[].seniority` | string (enum) \| array | no | | | `search.personas[].max_contacts` | integer | no | (min 0) | | `search.personas[].excluded_keywords` | array | no | | | `search.personas[].ai_job_title_expansion` | any \| null | no | | | `search.country_codes` | array | no | | | `search.country_codes[].code` | string | yes | | | `search.country_codes[].name` | string | yes | | | `search.exact_job_titles_only` | boolean | no | | | `webhook_url` | string | no | (format uri) | | `custom_metadata` | object | no | | | `send_webhook_on_no_results` | boolean | no | | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadsfactory/contact-finder/searches" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"ColdIQ Outbound - Q2","company_linkedin_urls":["https://www.linkedin.com/company/microsoft","https://www.linkedin.com/company/google"],"search":{"max_persona_results":3,"personas":[{"job_title":"Head of Sales","seniority":["Director","VP","C-suite"]}]}}' ``` Request body: ```json { "name": "ColdIQ Outbound - Q2", "company_linkedin_urls": [ "https://www.linkedin.com/company/microsoft", "https://www.linkedin.com/company/google" ], "search": { "max_persona_results": 3, "personas": [ { "job_title": "Head of Sales", "seniority": [ "Director", "VP", "C-suite" ] } ] } } ``` ## Responses | Status | Meaning | | --- | --- | | `201` | Search started — use the returned `id` (MongoDB ObjectId) to poll for status | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `500` | Internal error | | `502` | Provider error | ### `201` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string \| null | no | Internal MongoDB ObjectId — use this to poll for status | | `search_id` | string | yes | Short search identifier | | `status` | string (enum) \| null | no | (one of: RUNNING, PAUSED, SUCCESSFUL, FAILED, INVALID_URL, ) | | `nb_jobs_total` | integer | yes | | | `nb_jobs_complete` | integer \| null | no | | | `nb_jobs_failed` | integer \| null | no | | | `progress_percentage` | number | yes | | | `credits_deducted` | integer | no | | | `created_at` | string \| null | no | | Example response: ```json { "id": "string", "search_id": "string", "status": "string", "nb_jobs_total": 0, "nb_jobs_complete": 0, "nb_jobs_failed": 0, "progress_percentage": 0, "credits_deducted": 0, "created_at": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadsfactory?ep=post:/v1/leadsfactory/contact-finder/searches # Find People — Get Search Status — `GET /v1/leadsfactory/contact-finder/searches/{id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadsFactory - **Endpoint**: `GET https://api.coldiq.com/v1/leadsfactory/contact-finder/searches/{id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status and progress of a Find People search. Pass the `id` (MongoDB ObjectId) field returned by Create Search — NOT the short `search_id` field, which the upstream poll endpoint does not accept. Add `?include_contacts=true` to also get back the contacts this search has delivered, in `delivered_contacts` — use it when you did not register a `webhook_url` at Create Search. Paginate with `contacts_limit` and `contacts_after` (`delivered_contacts_next_cursor` from the previous page). Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | The MongoDB ObjectId from the `id` field of the Create Search response (not the short `search_id`). | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `include_contacts` | string | no | Return this search's delivered contacts in `delivered_contacts`. Accepts `true`, `1`, `yes`, `on`, or the bare flag. Defaults to false. | | `contacts_limit` | integer | no | Contacts per page (1–1000). Defaults to 500. (min 1; max 1000) | | `contacts_after` | integer \| null | no | Pass `delivered_contacts_next_cursor` from the previous page to continue. Omit for the first page. (min 0) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/leadsfactory/contact-finder/searches/507f1f77bcf86cd799439011?include_contacts=true" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search status and progress | | `401` | Unauthorized | | `404` | Search not found | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | | | `search_id` | string | yes | | | `name` | string \| null | no | | | `status` | string (enum) \| null | no | (one of: RUNNING, PAUSED, SUCCESSFUL, FAILED, INVALID_URL, ) | | `error` | string \| null | no | | | `companies_personas` | array | no | Matched contacts grouped by company and persona | | `csv_result_file_url` | string \| null | no | | | `nb_jobs_total` | integer | yes | | | `nb_jobs_complete` | integer \| null | no | | | `nb_jobs_failed` | integer \| null | no | | | `nb_jobs_running` | integer \| null | no | | | `progress_percentage` | number | no | | | `search_type` | string \| null | no | | | `credits_deducted` | integer | no | | | `created_at` | string \| null | no | | | `delivered_contacts` | array | no | One page of delivered contacts, oldest first, exactly as LeadsFactory delivered them. | | `delivered_contacts_count` | integer | no | How many contacts are in this page of `delivered_contacts`. | | `delivered_contacts_next_cursor` | integer \| null | no | Pass back as `contacts_after` for the next page. Null when the last page was returned. | Example response: ```json { "id": "string", "search_id": "string", "name": "string", "status": "string", "error": "string", "companies_personas": [ null ], "csv_result_file_url": "string", "nb_jobs_total": 0, "nb_jobs_complete": 0, "nb_jobs_failed": 0, "nb_jobs_running": 0, "progress_percentage": 0, "search_type": "string", "credits_deducted": 0, "created_at": "string", "delivered_contacts": [ null ], "delivered_contacts_count": 0, "delivered_contacts_next_cursor": 0 } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadsfactory?ep=get:/v1/leadsfactory/contact-finder/searches/{id} # Sales Navigator Scraper — Start Job — `POST /v1/leadsfactory/sn-scraper/jobs` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadsFactory - **Endpoint**: `POST https://api.coldiq.com/v1/leadsfactory/sn-scraper/jobs` - **Credits**: 0.35 credits per profile - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Scrape a LinkedIn Sales Navigator search URL using the LeadsFactory shared infrastructure account. Paste any Sales Navigator search URL and receive the full list of matching profiles via webhook when complete. Credits are reserved upfront based on max_profiles (default: 500, max: 500) and unused credits are refunded after the job finishes. Credits: bills only for returned results, per profile; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `sales_nav_url` | string | yes | (format uri) | | `search_name` | string | no | | | `max_profiles` | integer | no | Maximum profiles to scrape (max 500). Defaults to 500 if not provided — up to 500 credits will be reserved. (min 0; max 500) | | `webhook_url` | string | no | (format uri) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/leadsfactory/sn-scraper/jobs" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"sales_nav_url":"https://www.linkedin.com/sales/search/people?query=eyJmaWx0ZXJzIjpbeyJ0eXBlIjoiUkVHSU9OIiwidmFsdWVzIjpbeyJpZCI6IjEwMyIsInRleHQiOiJVbml0ZWQgU3RhdGVzIiwic2VsZWN0ZWQiOnRydWV9XX1dfQ%3D%3D","search_name":"ColdIQ - Head of Sales US","max_profiles":500}' ``` Request body: ```json { "sales_nav_url": "https://www.linkedin.com/sales/search/people?query=eyJmaWx0ZXJzIjpbeyJ0eXBlIjoiUkVHSU9OIiwidmFsdWVzIjpbeyJpZCI6IjEwMyIsInRleHQiOiJVbml0ZWQgU3RhdGVzIiwic2VsZWN0ZWQiOnRydWV9XX1dfQ%3D%3D", "search_name": "ColdIQ - Head of Sales US", "max_profiles": 500 } ``` ## Responses | Status | Meaning | | --- | --- | | `201` | Scrape job started — use the returned job_id to poll for status | | `400` | Invalid request | | `401` | Unauthorized | | `402` | Insufficient credits | | `500` | Internal error | | `502` | Provider error | ### `201` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_id` | string | yes | Use this ID to poll for job status | | `status` | string | yes | | Example response: ```json { "job_id": "string", "status": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadsfactory?ep=post:/v1/leadsfactory/sn-scraper/jobs # Sales Navigator Scraper — Get Job Status — `GET /v1/leadsfactory/sn-scraper/jobs/{job_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: LeadsFactory - **Endpoint**: `GET https://api.coldiq.com/v1/leadsfactory/sn-scraper/jobs/{job_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status and scraped profiles for a Sales Navigator scrape job. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `job_id` | string | yes | | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/leadsfactory/sn-scraper/jobs/507f1f77bcf86cd799439011" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Job status and scraped profiles | | `401` | Unauthorized | | `404` | Job not found | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | string | yes | | | `search_name` | string | yes | | | `sales_nav_url` | string | yes | | | `status` | string | yes | | | `profiles_scraped` | integer | yes | | | `progress_percent` | integer | no | | | `total_available` | integer \| null | no | | | `google_sheets_url` | string \| null | no | | | `profiles` | array | no | | | `created_at` | string \| null | no | | | `completed_at` | string \| null | no | | Example response: ```json { "id": "string", "search_name": "string", "sales_nav_url": "string", "status": "string", "profiles_scraped": 0, "progress_percent": 0, "total_available": 0, "google_sheets_url": "string", "profiles": [ null ], "created_at": "string", "completed_at": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/leadsfactory?ep=get:/v1/leadsfactory/sn-scraper/jobs/{job_id} # Provider: Jungler # Create Collection Task — `POST /v1/jungler/workbooks` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jungler - **Endpoint**: `POST https://api.coldiq.com/v1/jungler/workbooks` - **Credits**: 35 credits per task - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Start an extraction task that collects comments and/or reactions from a LinkedIn post. Returns a `task_id` to poll for completion; extraction typically takes 1–3 minutes. Collected data expires 12 hours after the task is created. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `post_url` | string | yes | LinkedIn post URL to extract interactions from (format uri) | | `data_types` | array | yes | Interaction types to extract: 'comment', 'reaction', or both | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/jungler/workbooks" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"post_url":"https://www.linkedin.com/feed/update/urn:li:activity:7234567890123456789","data_types":["comment","reaction"]}' ``` Request body: ```json { "post_url": "https://www.linkedin.com/feed/update/urn:li:activity:7234567890123456789", "data_types": [ "comment", "reaction" ] } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Task created | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `task_id` | string | yes | ID to poll for status (equals workbook_id) | | `status` | string (enum) | yes | Initial status (one of: pending, started, success, failure) | | `workbook_id` | string | no | Workbook ID for fetching contacts once complete | Example response: ```json { "task_id": "string", "status": "string", "workbook_id": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jungler?ep=post:/v1/jungler/workbooks # Get Task Status — `GET /v1/jungler/tasks/{task_id}/status` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jungler - **Endpoint**: `GET https://api.coldiq.com/v1/jungler/tasks/{task_id}/status` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Poll the status of a workbook extraction task. Status is one of `pending`, `started`, `success`, or `failure`; `workbook_id` is returned once the task reaches `success`. Poll every 10–30 seconds. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `task_id` | string | yes | Task ID returned by Create Workbook | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/jungler/tasks/abc123-def456-ghi789/status" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Task status | | `401` | Unauthorized | | `404` | Task not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `task_id` | string | yes | | | `status` | string (enum) | yes | (one of: pending, started, success, failure) | | `workbook_id` | string | no | Workbook ID — present when status is success | | `credits_exhausted` | boolean | no | True when the extraction stopped early because the upstream provider account ran out of credits. Results are partial or empty and this request has been refunded — retry later or use another source. | | `items_collected` | number | no | Engagements collected by this run | | `items_available` | number | no | Engagements the post had available to collect | Example response: ```json { "task_id": "string", "status": "string", "workbook_id": "string", "credits_exhausted": false, "items_collected": 0, "items_available": 0 } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jungler?ep=get:/v1/jungler/tasks/{task_id}/status # Get Contacts — `GET /v1/jungler/workbooks/{workbook_id}/contacts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jungler - **Endpoint**: `GET https://api.coldiq.com/v1/jungler/workbooks/{workbook_id}/contacts` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve deduplicated contact information — one entry per unique person who engaged, with aggregated `stats` — from a completed workbook. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `workbook_id` | string | yes | Workbook ID from a completed task | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `fields` | string | no | Comma-separated fields to include on each contact | | `activity_filter` | string (enum) | no | Filter contacts by activity type: 'commenters' or 'reactors' (one of: commenters, reactors) | | `page` | integer | no | Page number (1-based) (min 1; default 1) | | `page_size` | integer | no | Items per page (1–500) (min 1; max 500; default 500) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/jungler/workbooks/wb_abc123/contacts?fields=name%2Cprofile_url%2Cdescription&page=1&page_size=500" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Contact list | | `401` | Unauthorized | | `404` | Workbook not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jungler?ep=get:/v1/jungler/workbooks/{workbook_id}/contacts # Get Comments — `GET /v1/jungler/workbooks/{workbook_id}/comments` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jungler - **Endpoint**: `GET https://api.coldiq.com/v1/jungler/workbooks/{workbook_id}/comments` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve all comments from a completed workbook. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `workbook_id` | string | yes | Workbook ID from a completed task | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `include_replies` | string (enum) | no | Include reply comments (default: true) (one of: true, false) | | `page` | integer | no | Page number (1-based) (min 1; default 1) | | `page_size` | integer | no | Items per page (1–500) (min 1; max 500; default 500) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/jungler/workbooks/wb_abc123/comments?page=1&page_size=500" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Comment list | | `401` | Unauthorized | | `404` | Workbook not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jungler?ep=get:/v1/jungler/workbooks/{workbook_id}/comments # Get Reactions — `GET /v1/jungler/workbooks/{workbook_id}/reactions` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jungler - **Endpoint**: `GET https://api.coldiq.com/v1/jungler/workbooks/{workbook_id}/reactions` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve reaction data from a completed workbook. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `workbook_id` | string | yes | Workbook ID from a completed task | ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `page` | integer | no | Page number (1-based) (min 1; default 1) | | `page_size` | integer | no | Items per page (1–500) (min 1; max 500; default 500) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/jungler/workbooks/wb_abc123/reactions?page=1&page_size=500" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Reaction list | | `401` | Unauthorized | | `404` | Workbook not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jungler?ep=get:/v1/jungler/workbooks/{workbook_id}/reactions # List Searches — `GET /v1/jungler/searches` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jungler - **Endpoint**: `GET https://api.coldiq.com/v1/jungler/searches` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description List all search configurations in the workspace. Credits: free. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/jungler/searches" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search list | | `401` | Unauthorized | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape Example response: ```json [ { "_id": "string", "name": "string", "query": null, "frequency": 0, "is_activated": false, "prompt": "string", "query_type": "string", "query_identifier": "string", "track_engagement": false, "webhook_url": "string", "created_at": "string", "updated_at": "string" } ] ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jungler?ep=get:/v1/jungler/searches # Get Search — `GET /v1/jungler/searches/{search_id}` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jungler - **Endpoint**: `GET https://api.coldiq.com/v1/jungler/searches/{search_id}` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve full details of a single search configuration. Credits: free. ## Request ### Path parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search_id` | string | yes | Search ID | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/jungler/searches/507f1f77bcf86cd799439011" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Search details | | `401` | Unauthorized | | `404` | Search not found | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `_id` | string | yes | | | `name` | string | yes | | | `query` | any \| null | no | | | `frequency` | integer | yes | Run frequency in hours (default 24) | | `is_activated` | boolean | yes | | | `prompt` | string \| null | no | | | `query_type` | string (enum) | yes | (one of: search_keyword, user_profile, company_profile) | | `query_identifier` | string \| null | no | | | `track_engagement` | boolean | no | Whether engagers are captured for this signal | | `webhook_url` | string | no | | | `created_at` | string | yes | | | `updated_at` | string | yes | | Example response: ```json { "_id": "string", "name": "string", "query": null, "frequency": 0, "is_activated": false, "prompt": "string", "query_type": "string", "query_identifier": "string", "track_engagement": false, "webhook_url": "string", "created_at": "string", "updated_at": "string" } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jungler?ep=get:/v1/jungler/searches/{search_id} # List Posts — `GET /v1/jungler/posts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Jungler - **Endpoint**: `GET https://api.coldiq.com/v1/jungler/posts` - **Credits**: 3.5 credits per page - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Retrieve paginated posts filtered by one or more search IDs. Supports extensive filtering by match status, post type, sentiment, author details, and more. Credits: bills only for returned results, per page; reserved up-front for the requested size and settled to the actual count (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search_ids` | string | yes | Comma-separated search IDs to filter posts by (max 50) | | `page` | integer | no | Page number (1-based) (min 1; default 1) | | `page_size` | integer | no | Results per page (1–500) (min 1; max 500; default 100) | | `match` | string (enum) | no | AI relevance classification filter: relevant, not_relevant, or unclassified (only applies when AI filtering is configured on the signal) (one of: relevant, not_relevant, unclassified, yes, no, maybe) | | `post_type` | string | no | Post type filter: buying_intent, hiring, thought_leadership, lead_magnet, promotion, announcement, other | | `sentiment` | string (enum) | no | Sentiment filter (one of: positive, negative, neutral) | | `language` | string | no | Comma-separated language codes (e.g. en,fr) | | `from_date` | string | no | Only posts published on or after this date (YYYY-MM-DD). Range may not exceed 180 days. | | `to_date` | string | no | Only posts published on or before this date (YYYY-MM-DD). Range may not exceed 180 days. | | `country` | string | no | Comma-separated ISO country codes to include | | `job_function` | string | no | Comma-separated function codes: ENG, PRD, MKT, SAL, FIN, OPS, HR, CS, LEG, DA, DSN, EDU, AMB, GEN, UNMAPPED | | `authority_level` | string | no | Comma-separated authority levels: L, M, S, XS, NA, UNMAPPED | | `company_size` | string | no | Comma-separated company sizes: XXS, XS, S, M, L, XL, XXL, UNMAPPED | | `industry` | string | no | Comma-separated industry codes (e.g. TECH_INFO_MEDIA, FINANCIAL_SERVICES) | | `snapshot_time` | string | no | Snapshot time for consistent pagination | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/jungler/posts?search_ids=507f1f77bcf86cd799439011%2C507f1f77bcf86cd799439012&page=1&page_size=100&from_date=2024-01-01&to_date=2024-12-31" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Paginated post list | | `400` | Bad request | | `401` | Unauthorized | | `402` | Insufficient credits | | `429` | Rate limit exceeded | | `500` | Internal error | | `502` | Provider error | ### `200` response shape The spec does not publish a field-level schema for this response — it is passed through from the provider. Run the endpoint in the playground to see a live body. Raw schema: ```json { "nullable": true } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/jungler?ep=get:/v1/jungler/posts # Provider: HarvestAPI # Get Profile — `GET /v1/harvestapi/linkedin/profile` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/profile` - **Credits**: Not published in the spec — many managed verbs charge on success only; see the description - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Scrape a LinkedIn profile by URL, public identifier, or profile ID. `main=true` returns the lighter main profile; `findEmail=true` also finds and SMTP-verifies the work email. The email part is not charged when the profile lacks the data to search. Credits: charged once per call, at a rate that depends on which fields you request (full, main, email) — it is NOT flat. Reserved up-front, settled to actual (see X-ColdIQ-Credits-Charged). Call get_endpoint_details for the live rate. Managed alternative: `POST /v1/person/enrich` (Enrich Person) runs this provider inside a ranked waterfall with charge-on-success billing and one normalized response shape, and falls back to the other providers for this capability on a miss. Call this endpoint directly when you specifically want this provider and no fallback. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | no | LinkedIn profile URL. | | `publicIdentifier` | string | no | Public identifier of the profile (the last part of the profile URL). | | `profileId` | string | no | LinkedIn profile ID. | | `main` | string (enum) | no | Set to 'true' to return only the main version of the profile (up to 5 experiences, 2 educations, 2 skills). Charges less credit. (one of: true, false) | | `findEmail` | string (enum) | no | Set to 'true' to also find the profile's email. It performs SMTP verification and marks catch-all domains as `risky`. Charges more credit; the email part is not charged when the profile lacks the data to search. (one of: true, false) | | `skipSmtp` | string (enum) | no | Use together with `findEmail` to skip SMTP verification and return all generated candidate emails. (one of: true, false) | | `includeAboutProfile` | string (enum) | no | Also scrape the "About this profile" popup. (one of: true, false) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/profile?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fmichel-lieben" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `element` | object \| null | yes | | Example response: ```json { "element": {} } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/profile # Search LinkedIn profiles — `GET /v1/harvestapi/linkedin/profile-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/profile-search` - **Credits**: 0.67 credits per 10 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search LinkedIn's basic people search by name, company, school, title, location, industry, or followers. Many non-name searches return anonymised "LinkedIn Member" rows; use Search Leads or Search Profile Services for title-based prospecting. Credits: flat charge per page of up to 10 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | no | Search profiles by name. | | `currentCompany` | string | no | Current company ID or URL. One value or comma-separated. | | `pastCompany` | string | no | Past company ID or URL. One value or comma-separated. | | `school` | string | no | School ID or URL. One value or comma-separated. | | `firstName` | string | no | First name. | | `lastName` | string | no | Last name. | | `title` | string | no | Job title. | | `location` | string | no | Location text. | | `geoId` | string | no | LinkedIn Geo ID (overrides `location`). Find it with Search GeoID. | | `industryId` | string | no | Industry ID. One value or comma-separated. | | `keywordsCompany` | string | no | Keywords in the company name. | | `keywordsSchool` | string | no | Keywords in the school name. | | `followerOf` | string | no | Only followers of this profile (URL or ID). One value or comma-separated. | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/profile-search?search=Michel%20Lieben&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/profile-search # Search Profile Services — `GET /v1/harvestapi/linkedin/service-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/service-search` - **Credits**: 0.67 credits per 10 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search LinkedIn's service providers (people offering services) by keywords and location. Profiles are never anonymised here. Credits: flat charge per page of up to 10 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | yes | Service keywords. | | `location` | string | no | Location text. | | `geoId` | string | no | LinkedIn Geo ID (overrides `location`). | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/service-search?search=cold%20email&location=Belgium&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/service-search # Profile Posts — `GET /v1/harvestapi/linkedin/profile-posts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/profile-posts` - **Credits**: 0.67 credits per 50 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the posts of a LinkedIn profile by profile URL, ID, or public identifier. Pass `pagination.paginationToken` back for the next page. Credits: flat charge per page of up to 50 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `profile` | string | no | LinkedIn profile URL. | | `profileId` | string | no | LinkedIn profile ID (faster than the URL). | | `profilePublicIdentifier` | string | no | Public identifier of the profile (the last part of the profile URL). | | `postedLimit` | string (enum) | no | Only posts posted within this window (filtered after scraping). (one of: 24h, week, month) | | `scrapePostedLimit` | string (enum) | no | Post-filter by maximum posted date. (one of: 1h, 24h, week, month, 3months, 6months, year) | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | | `paginationToken` | string | no | Token returned in `pagination.paginationToken` by the previous page. Pass it back with the next `page`. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/profile-posts?profile=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fmichel-lieben&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/profile-posts # Profile comments — `GET /v1/harvestapi/linkedin/profile-comments` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/profile-comments` - **Credits**: 0.67 credits per 100 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the comments a LinkedIn profile wrote on posts. Pages after the first need the previous `paginationToken`. Credits: flat charge per page of up to 100 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `profile` | string | no | LinkedIn profile URL. | | `profileId` | string | no | LinkedIn profile ID (faster than the URL). | | `postedLimit` | string (enum) | no | Only comments posted within this window. (one of: 24h, week, month) | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | | `paginationToken` | string | no | Token returned in `pagination.paginationToken` by the previous page. Pass it back with the next `page`. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/profile-comments?profile=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fmichel-lieben&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/profile-comments # Profile reactions — `GET /v1/harvestapi/linkedin/profile-reactions` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/profile-reactions` - **Credits**: 0.67 credits per 100 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the reactions a LinkedIn profile left on posts. Pages after the first need the previous `paginationToken`. Credits: flat charge per page of up to 100 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `profile` | string | no | LinkedIn profile URL. | | `profileId` | string | no | LinkedIn profile ID (faster than the URL). | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | | `paginationToken` | string | no | Token returned in `pagination.paginationToken` by the previous page. Pass it back with the next `page`. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/profile-reactions?profile=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fmichel-lieben&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/profile-reactions # Search Leads — `GET /v1/harvestapi/linkedin/lead-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/lead-search` - **Credits**: 16.8 credits per 25 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search LinkedIn leads (Sales Navigator lead search) with inclusion and exclusion filters on company, title, seniority, function, location, industry, headcount, and activity, or a Sales Navigator URL. No "LinkedIn Member" anonymisation. At least one filter is required; the page is charged even when it returns no leads. Credits: flat charge per page of up to 25 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | no | Fuzzy search query; supports LinkedIn's search operators. | | `currentCompanies` | string | no | Current company IDs or URLs, comma-separated (max 50). | | `pastCompanies` | string | no | Past company IDs or URLs, comma-separated (max 50). | | `locations` | string | no | Location texts, comma-separated (max 70). | | `geoIds` | string | no | LinkedIn Geo IDs, comma-separated (overrides `locations`). | | `schools` | string | no | School IDs or URLs, comma-separated (max 50). | | `currentJobTitles` | string | no | Current job titles, comma-separated (max 70). | | `pastJobTitles` | string | no | Past job titles, comma-separated (max 70). | | `firstNames` | string | no | First names, comma-separated (max 70). | | `lastNames` | string | no | Last names, comma-separated (max 70). | | `industryIds` | string | no | Industry IDs, comma-separated (max 70). | | `yearsAtCurrentCompanyIds` | string | no | Years-at-current-company IDs, comma-separated. | | `yearsOfExperienceIds` | string | no | Years-of-experience IDs, comma-separated. | | `seniorityLevelIds` | string | no | Seniority level IDs, comma-separated. | | `functionIds` | string | no | Job function IDs, comma-separated. | | `recentlyChangedJobs` | string (enum) | no | Only leads who changed jobs in the last 90 days. (one of: true, false) | | `postedOnLinkedin` | string (enum) | no | Only leads who posted on LinkedIn in the last 30 days. (one of: true, false) | | `profileLanguages` | string | no | Profile languages, comma-separated. | | `companyHeadcount` | string | no | Company headcount ranges, comma-separated. | | `companyHeadquarterLocations` | string | no | Company headquarter locations, comma-separated (max 70). | | `excludeLocations` | string | no | Locations to exclude, comma-separated. | | `excludeGeoIds` | string | no | Geo IDs to exclude, comma-separated. | | `excludeCurrentCompanies` | string | no | Current companies to exclude, comma-separated. | | `excludePastCompanies` | string | no | Past companies to exclude, comma-separated. | | `excludeSchools` | string | no | Schools to exclude, comma-separated. | | `excludeCurrentJobTitles` | string | no | Current job titles to exclude, comma-separated. | | `excludePastJobTitles` | string | no | Past job titles to exclude, comma-separated. | | `excludeIndustryIds` | string | no | Industry IDs to exclude, comma-separated. | | `excludeSeniorityLevelIds` | string | no | Seniority level IDs to exclude, comma-separated. | | `excludeFunctionIds` | string | no | Function IDs to exclude, comma-separated. | | `excludeCompanyHeadquarterLocations` | string | no | Company headquarter locations to exclude, comma-separated. | | `salesNavUrl` | string | no | A LinkedIn Sales Navigator lead search URL. Overrides every other filter except `page`. | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | | `sessionId` | string | no | Any stable string you choose (e.g. a UUID). Requests with the same value are served by the same scraping resource, which keeps pagination consistent but is slower. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/lead-search?currentCompanies=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fcoldlabs¤tJobTitles=Founder&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/lead-search # Search Sales Navigator Accounts — `GET /v1/harvestapi/linkedin/account-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/account-search` - **Credits**: 16.8 credits per 25 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search companies with Sales Navigator account filters: headquarters, industry, headcount and growth, revenue, followers, department headcount, hiring, funding and leadership-change activity, technologies, or a Sales Navigator URL. At least one filter is required; the page is charged even when it returns no accounts. Credits: flat charge per page of up to 25 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | no | Company name keywords. | | `headquarterLocations` | string | no | Headquarter location texts, comma-separated. | | `headquarterGeoIds` | string | no | Headquarter LinkedIn Geo IDs, comma-separated. | | `industryIds` | string | no | Industry IDs, comma-separated. | | `companyHeadcount` | string | no | Headcount ranges, comma-separated: self-employed, 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+. | | `companyHeadcountGrowth` | string | no | Headcount growth range in percent, format `min-max` (e.g. `1-10`). | | `annualRevenue` | string | no | Annual revenue range in millions, format `min-max;currency` (e.g. `1-10;USD`). | | `numOfFollowers` | string | no | Follower count ranges, comma-separated: 1-50, 51-100, 101-1000, 1001-5000, 5001+. | | `departmentHeadcount` | string | no | Department headcount, format `min-max;department` (e.g. `1-10;Sales`). | | `departmentHeadcountGrowth` | string | no | Department headcount growth, format `min-max;department`. | | `jobOpportunities` | string | no | Job opportunity filters, comma-separated: HIRING_ON_LINKEDIN. | | `accountActivities` | string | no | Account activities, comma-separated: SENIOR_LEADERSHIP_CHANGES_LAST_3_MONTHS, FUNDING_EVENTS_PAST_12_MONTHS. | | `fortune` | string | no | Fortune ranking bands, comma-separated: 50, 51_100, 101_250, 251_500. | | `postalCodes` | string | no | Postal codes, comma-separated. | | `technologiesUsed` | string | no | Technologies used, comma-separated. | | `excludeHeadquarterLocations` | string | no | Headquarter locations to exclude, comma-separated. | | `excludeHeadquarterGeoIds` | string | no | Headquarter Geo IDs to exclude, comma-separated. | | `excludeIndustryIds` | string | no | Industry IDs to exclude, comma-separated. | | `excludeCompanyHeadcount` | string | no | Headcount ranges to exclude, comma-separated. | | `salesNavUrl` | string | no | A LinkedIn Sales Navigator account search URL. Overrides every other filter except `page`. | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | | `sessionId` | string | no | Any stable string you choose (e.g. a UUID). Requests with the same value are served by the same scraping resource, which keeps pagination consistent but is slower. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/account-search?search=ColdIQ&companyHeadcount=11-50&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/account-search # Get Company — `GET /v1/harvestapi/linkedin/company` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/company` - **Credits**: 0.67 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Scrape a LinkedIn company page by URL or universal name, or the best match for a company name. Returns description, headcount, locations, industries, followers, and more. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | no | LinkedIn company URL. | | `universalName` | string | no | Universal name of the company page (the last part of the company URL). | | `search` | string | no | Company name; returns the most relevant LinkedIn search result. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/company?url=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fcoldlabs" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `element` | object \| null | yes | | Example response: ```json { "element": {} } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/company # Search Companies — `GET /v1/harvestapi/linkedin/company-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/company-search` - **Credits**: 0.67 credits per 50 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search LinkedIn companies by name keywords, location, size, and industry. Credits: flat charge per page of up to 50 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | no | Keywords in company names. | | `location` | string | no | Location text. | | `geoId` | string | no | LinkedIn Geo ID (overrides `location`). | | `companySize` | string | no | Company size ranges, comma-separated: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+. | | `industryId` | string | no | Industry IDs, comma-separated. | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/company-search?search=ColdIQ&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/company-search # Company Posts — `GET /v1/harvestapi/linkedin/company-posts` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/company-posts` - **Credits**: 0.67 credits per 50 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the posts of a LinkedIn company page by URL, ID, or universal name. Pass `pagination.paginationToken` back for the next page. Credits: flat charge per page of up to 50 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `company` | string | no | LinkedIn company URL. | | `companyId` | string | no | LinkedIn company ID (faster than the URL). | | `companyUniversalName` | string | no | Universal name of the company page (the last part of the company URL). | | `postedLimit` | string (enum) | no | Only posts posted within this window (filtered after scraping). (one of: 24h, week, month) | | `scrapePostedLimit` | string (enum) | no | Post-filter by maximum posted date. (one of: 1h, 24h, week, month, 3months, 6months, year) | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | | `paginationToken` | string | no | Token returned in `pagination.paginationToken` by the previous page. Pass it back with the next `page`. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/company-posts?company=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fcoldlabs&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/company-posts # Search Posts — `GET /v1/harvestapi/linkedin/post-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/post-search` - **Credits**: 0.67 credits per 50 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search LinkedIn posts by keywords, authors, companies, mentions, content type, group, and date. Credits: flat charge per page of up to 50 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | no | Keywords in posts. | | `profile` | string | no | Authors' profile URLs, comma-separated. | | `profileId` | string | no | Authors' profile IDs, comma-separated. | | `company` | string | no | Company URLs, comma-separated. | | `companyId` | string | no | Company IDs, comma-separated. | | `authorsCompany` | string | no | Companies where the authors work (URLs or IDs), comma-separated. | | `authorsIndustryId` | string | no | Industry IDs of the authors' companies, comma-separated. | | `mentioningMember` | string | no | Posts mentioning these profiles (URLs or IDs), comma-separated. | | `mentioningCompany` | string | no | Posts mentioning these companies (URLs or IDs), comma-separated. | | `contentType` | string (enum) | no | Content type. (one of: videos, images, live_videos, documents, collaborative_articles, jobs) | | `authorKeywords` | string | no | Keywords in the authors' profiles. | | `group` | string | no | LinkedIn group URL or ID. | | `postedLimit` | string (enum) | no | Posted within this window (filtered by LinkedIn). (one of: 24h, week, month) | | `scrapePostedLimit` | string (enum) | no | Post-filter by maximum posted date. (one of: 1h, 24h, week, month, 3months, 6months, year) | | `sortBy` | string (enum) | no | Sort order. (one of: relevance, date) | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | | `paginationToken` | string | no | Token returned in `pagination.paginationToken` by the previous page. Pass it back with the next `page`. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/post-search?search=ColdIQ&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/post-search # Get post — `GET /v1/harvestapi/linkedin/post` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/post` - **Credits**: 0.67 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get a LinkedIn post by URL: author, content, media, and engagement counts. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | LinkedIn post URL. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/post?url=https%3A%2F%2Fwww.linkedin.com%2Fposts%2Fmichel-lieben_this-crm-setup-runs-my-7m-arr-agency-it-activity-7508479073296220161-pt3u" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `element` | object \| null | yes | | Example response: ```json { "element": {} } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/post # Post comments — `GET /v1/harvestapi/linkedin/post-comments` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/post-comments` - **Credits**: 0.67 credits per 100 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the comments on a LinkedIn post, with each commenter. Credits: flat charge per page of up to 100 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `post` | string | yes | LinkedIn post URL. | | `sortBy` | string (enum) | no | Sort order. (one of: relevance, date) | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | | `paginationToken` | string | no | Required only when `sortBy` is 'relevance' and `page` > 1: the token from the previous page. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/post-comments?post=https%3A%2F%2Fwww.linkedin.com%2Fposts%2Fmichel-lieben_this-crm-setup-runs-my-7m-arr-agency-it-activity-7508479073296220161-pt3u&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/post-comments # Post reactions — `GET /v1/harvestapi/linkedin/post-reactions` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/post-reactions` - **Credits**: 0.67 credits per 100 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the reactions on a LinkedIn post, with each reacting profile. Credits: flat charge per page of up to 100 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `post` | string | yes | LinkedIn post URL. | | `sortBy` | string (enum) | no | Sort order. (one of: relevance, date) | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/post-reactions?post=https%3A%2F%2Fwww.linkedin.com%2Fposts%2Fmichel-lieben_this-crm-setup-runs-my-7m-arr-agency-it-activity-7508479073296220161-pt3u&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/post-reactions # Comment replies — `GET /v1/harvestapi/linkedin/post-comment-replies` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/post-comment-replies` - **Credits**: 0.67 credits per 100 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the replies to a LinkedIn comment by comment URL. Credits: flat charge per page of up to 100 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | LinkedIn comment URL (the `linkedinUrl` of a comment). | | `paginationToken` | string | no | Token returned in `pagination.paginationToken` by the previous page. Pass it back with the next `page`. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/post-comment-replies?url=https%3A%2F%2Fwww.linkedin.com%2Ffeed%2Fupdate%2Furn%3Ali%3Aactivity%3A7508479073296220161%3FcommentUrn%3Durn%253Ali%253Acomment%253A%2528activity%253A7508479073296220161%252C7508507961330290688%2529%26dashCommentUrn%3Durn%253Ali%253Afsd_comment%253A%25287508507961330290688%252Curn%253Ali%253Aactivity%253A7508479073296220161%2529" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/post-comment-replies # Comment reactions — `GET /v1/harvestapi/linkedin/comment-reactions` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/comment-reactions` - **Credits**: 0.67 credits per 100 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get the reactions on a LinkedIn comment by comment URL. Credits: flat charge per page of up to 100 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | yes | LinkedIn comment URL (the `linkedinUrl` of a comment). | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/comment-reactions?url=https%3A%2F%2Fwww.linkedin.com%2Ffeed%2Fupdate%2Furn%3Ali%3Aactivity%3A7508479073296220161%3FcommentUrn%3Durn%253Ali%253Acomment%253A%2528activity%253A7508479073296220161%252C7508507961330290688%2529%26dashCommentUrn%3Durn%253Ali%253Afsd_comment%253A%25287508507961330290688%252Curn%253Ali%253Aactivity%253A7508479073296220161%2529&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/comment-reactions # Search Ad Library — `GET /v1/harvestapi/linkedin/ad-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/ad-search` - **Credits**: 0.27 credits per 24 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search LinkedIn's Ad Library by keyword, advertiser, country, and date, or an Ad Library search URL. Credits: flat charge per page of up to 24 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `searchUrl` | string | no | A LinkedIn Ad Library search URL. Overrides the other filters. | | `keyword` | string | no | Keyword in the ad. | | `accountOwner` | string | no | Company or advertiser name. | | `countries` | string | no | Country codes, comma-separated (e.g. 'US,GB,FR'), or 'ALL'. | | `dateOption` | string (enum) | no | Date filter. (one of: last-30-days, current-month, current-year, last-year, custom-date-range) | | `startdate` | string | no | Start date (YYYY-MM-DD) for `dateOption` 'custom-date-range'. | | `enddate` | string | no | End date (YYYY-MM-DD) for `dateOption` 'custom-date-range'. | | `paginationToken` | string | no | Token returned in `pagination.paginationToken` by the previous page. Pass it back with the next `page`. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/ad-search?accountOwner=ColdIQ" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/ad-search # Get Ad Details — `GET /v1/harvestapi/linkedin/ad` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/ad` - **Credits**: 0.27 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get a LinkedIn ad by ID or URL: advertiser, format, run dates, impressions, targeting, and creative variants. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `adId` | string | no | LinkedIn Ad ID. | | `url` | string | no | LinkedIn Ad Library URL of the ad. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/ad?adId=1215686993" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `element` | object \| null | yes | | Example response: ```json { "element": {} } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/ad # Get Job — `GET /v1/harvestapi/linkedin/job` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/job` - **Credits**: 0.17 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get a LinkedIn job posting by ID or URL: description, company, applicants, hiring team, and apply method. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `jobId` | string | no | LinkedIn job ID. | | `url` | string | no | LinkedIn job URL. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/job?jobId=4468226183" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `element` | object \| null | yes | | Example response: ```json { "element": {} } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/job # Search Jobs — `GET /v1/harvestapi/linkedin/job-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/job-search` - **Credits**: 0.17 credits per 25 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search LinkedIn jobs by title, company, location, workplace type, employment type, salary, experience, industry, and date. Credits: flat charge per page of up to 25 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | no | Job title keywords. | | `companyId` | string | no | Company IDs, comma-separated. | | `location` | string | no | Location text. | | `geoId` | string | no | LinkedIn Geo ID (overrides `location`). | | `sortBy` | string (enum) | no | Sort order. (one of: relevance, date) | | `workplaceType` | string | no | Workplace types, comma-separated: office, hybrid, remote. | | `employmentType` | string | no | Employment types, comma-separated: full-time, part-time, contract, temporary, internship. | | `salary` | string (enum) | no | Minimum salary band. (one of: 40k+, 60k+, 80k+, 100k+, 120k+, 140k+, 160k+, 180k+, 200k+) | | `postedLimit` | string (enum) | no | Posted within this window. (one of: 24h, week, month) | | `experienceLevel` | string | no | Experience levels, comma-separated: internship, entry, associate, mid-senior, director, executive. | | `industryId` | string | no | Industry IDs, comma-separated. | | `functionId` | string | no | Job function IDs, comma-separated. | | `under10Applicants` | string (enum) | no | Only jobs with fewer than 10 applicants. (one of: true, false) | | `easyApply` | string (enum) | no | 'true' for Easy Apply jobs only, 'false' to exclude them. (one of: true, false) | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/job-search?companyId=65826193&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/job-search # Get Group — `GET /v1/harvestapi/linkedin/group` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/group` - **Credits**: 0.34 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Get a LinkedIn group by URL or ID: description, member count, rules, and admins. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `url` | string | no | LinkedIn group URL. | | `groupId` | string | no | LinkedIn group ID. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/group?groupId=1898033" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `element` | object \| null | yes | | Example response: ```json { "element": {} } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/group # Search Groups — `GET /v1/harvestapi/linkedin/group-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/group-search` - **Credits**: 0.34 credits per 10 results - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Search LinkedIn groups by keywords. Credits: flat charge per page of up to 10 results, whether or not the page comes back full. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | yes | Group name keywords. | | `page` | integer | no | Page number, starting at 1. (min 1; max 100) | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/group-search?search=sales&page=1" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/group-search # Search GeoID — `GET /v1/harvestapi/linkedin/geo-id-search` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: HarvestAPI - **Endpoint**: `GET https://api.coldiq.com/v1/harvestapi/linkedin/geo-id-search` - **Credits**: 0.17 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Find the LinkedIn Geo ID for a location text, for use in the `geoId` / `geoIds` filters of the other searches. Credits: flat charge per call regardless of how many rows come back. Call get_endpoint_details for the live rate. ## Request ### Query parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `search` | string | yes | Location text. | ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/harvestapi/linkedin/geo-id-search?search=Brussels" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | HarvestAPI response | | `400` | Bad request (upstream validation message) | | `401` | Unauthorized | | `402` | Insufficient credits | | `404` | Not found on LinkedIn | | `429` | Provider busy — retry after `retry_after_seconds` (not charged) | | `502` | Provider error | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `elements` | array | yes | | | `pagination` | object \| null | yes | | | `pagination.totalElements` | number \| null | no | | | `pagination.totalPages` | number \| null | no | | | `pagination.pageNumber` | number \| null | no | | | `pagination.previousElements` | number \| null | no | | | `pagination.pageSize` | number \| null | no | | | `pagination.totalResultCount` | number \| null | no | | | `pagination.paginationToken` | string \| null | no | | Example response: ```json { "elements": [ {} ], "pagination": { "totalElements": 0, "totalPages": 0, "pageNumber": 0, "previousElements": 0, "pageSize": 0, "totalResultCount": 0, "paginationToken": "string" } } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/harvestapi?ep=get:/v1/harvestapi/linkedin/geo-id-search # Provider: Visitor ID # List Websites — `GET /v1/visitor-id/websites` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Visitor ID - **Endpoint**: `GET https://api.coldiq.com/v1/visitor-id/websites` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Every website you have a tracking pixel for, newest first. Agencies run one per client site. Credits: free. ## Request This endpoint takes no parameters. ## Example request ```bash curl -X GET "https://api.coldiq.com/v1/visitor-id/websites" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Your websites | | `400` | Bad request | | `401` | Unauthorized | | `402` | Not enough credits | | `404` | No such website | | `409` | That domain already has a pixel | | `429` | Rate limit exceeded | | `502` | Provider error | | `503` | At capacity | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `websites` | array | yes | | | `websites[].id` | number | yes | | | `websites[].domain` | string | yes | | | `websites[].name` | string | yes | | | `websites[].status` | string | yes | 'active' \| 'paused_insufficient_credits' \| 'deactivated' | | `websites[].identifying` | boolean | yes | Whether visitors are being identified right now. False when the site is off, when its monthly limit is reached, or when its funded window is spent and the balance cannot extend it | | `websites[].monthly_limit` | object | yes | One ceiling, reported in every unit it means something in — not separate budgets | | `websites[].monthly_limit.credits` | number | yes | The ceiling for one billing period, in credits | | `websites[].monthly_limit.companies` | number | yes | The same ceiling read as companies (1 credit each) | | `websites[].monthly_limit.people` | number | yes | The same ceiling read as people (6 credits each) | | `websites[].monthly_limit.used_credits` | number | yes | Credits already spent inside the current billing period | | `websites[].script_url` | string | yes | | | `websites[].created_at` | string | yes | | Example response: ```json { "websites": [ { "id": 0, "domain": "string", "name": "string", "status": "string", "identifying": false, "monthly_limit": { "credits": 0, "companies": 0, "people": 0, "used_credits": 0 }, "script_url": "string", "created_at": "string" } ] } ``` ## Errors Error bodies are JSON with an `error` message. `401` means the key is invalid, `402` means the workspace is out of credits, `429` means the rate limit was hit. A bare `403` with no body is a Cloudflare edge block — set a `User-Agent`. --- Generated from the live ColdIQ OpenAPI spec (https://api.coldiq.com/openapi.json). Playground: https://coldiq.com/marketplace/apis/visitor-id?ep=get:/v1/visitor-id/websites # Add Website — `POST /v1/visitor-id/websites` - **API**: ColdIQ API (OpenAPI 0.1.0) - **Provider / tag**: Visitor ID - **Endpoint**: `POST https://api.coldiq.com/v1/visitor-id/websites` - **Credits**: 0 credits per call - **Auth**: `Authorization: Bearer ` (HTTP bearer). Keys are created at https://coldiq.com/marketplace/settings/api-keys - **Rate limits**: 120 requests/minute and 3000 requests/hour per API key. Over the limit the API returns `429` with `retry_after_seconds` in the body. - **Also send**: `Content-Type: application/json` and an identifying `User-Agent` (some default client agents are blocked at the edge and get a bare `403`). ## Description Set up visitor identification for a website and get the tracking pixel to install. Identification starts as soon as the pixel is live and your balance can cover it; each identified person or company is charged then, never here. Credits: free. ## Request ### Body (application/json, required) | Field | Type | Required | Description | | --- | --- | --- | --- | | `domain` | string | yes | Website domain the tracking pixel will identify visitors for | | `name` | string | no | Display name for the workspace (defaults to the domain) | ## Example request ```bash curl -X POST "https://api.coldiq.com/v1/visitor-id/websites" \ -H "Authorization: Bearer YOUR_COLDIQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"domain":"coldiq.com"}' ``` Request body: ```json { "domain": "coldiq.com" } ``` ## Responses | Status | Meaning | | --- | --- | | `200` | Website already existed | | `201` | Website added | | `400` | Bad request | | `401` | Unauthorized | | `402` | Not enough credits | | `404` | No such website | | `409` | That domain already has a pixel | | `429` | Rate limit exceeded | | `502` | Provider error | | `503` | At capacity | ### `200` response shape | Field | Type | Required | Description | | --- | --- | --- | --- | | `id` | number | yes | | | `domain` | string | yes | | | `name` | string | yes | | | `status` | string | yes | 'active' \| 'paused_insufficient_credits' \| 'deactivated' | | `identifying` | boolean | yes | Whether visitors are being identified right now. False when the site is off, when its monthly limit is reached, or when its funded window is spent and the balance cannot extend it | | `monthly_limit` | object | yes | One ceiling, reported in every unit it means something in — not separate budgets | | `monthly_limit.credits` | number | yes | The ceiling for one billing period, in credits | | `monthly_limit.companies` | number | yes | The same ceiling read as companies (1 credit each) | | `monthly_limit.people` | number | yes | The same ceiling read as people (6 credits each) | | `monthly_limit.used_credits` | number | yes | Credits already spent inside the current billing period | | `script_url` | string | yes | | | `created_at` | string | yes | | | `embed_html` | string | yes | Ready-to-paste