Signals

Request a quote for a Company Followers extraction

Get the price of extracting every follower of your Company Followers pages who matches the signal's ICP filters — the step that turns an icp signal from active-but-silent into one that delivers leads. Quoting is free and holds no credits; nothing is extracted until you accept.

Input: the signal ID in the path; no body. The quote is computed from the signal's stored config: linkedinCompanyUrls (required) and at least one ICP filter — targetPersonas, customPersonaTitles, companySizeFilters, locations or targetCompanies. To change what is quoted, PATCH /api/v1/signals/{signal_id} first, then quote again.

Output: extraction (same shape as GET .../extraction). Usually status: quoted straight away, with estimatedFollowers and creditsQuoted. It can also come back awaiting_quote: the quote is still being computed — read GET .../extraction again after a few minutes.

Pricing: 0.5 credit per matching follower, minimum 75 credits per extraction. A quote stays valid 30 days (expiresAt); unaccepted, it then turns failed with error: expired and you request a new one.

One step instead of three: create or update the signal with config.autoQuote: true and a config.maxCredits budget, and the quote is requested — and accepted when it is within budget — for you as soon as the signal is active.

Errors: NO_COMPANIES (400, no linkedinCompanyUrls), NO_FILTER (400, no ICP filter), COMPANY_UNRESOLVED (400, a targetCompanies URL could not be matched — the message lists them), TOO_MANY_TITLES / FILTERS_TOO_LONG (400, more targeting than one extraction can carry — the message says how much to remove), WRONG_EXTRACTION_MODE (400, the signal is in count mode — use .../extraction/extract), UNSUPPORTED (400, not a Company Followers signal), INSUFFICIENT_CREDITS (402, balance under the 75-credit minimum — top up first), ALREADY_ACTIVE (409, a quote or extraction is already open — accept or decline it first), COMPANY_PAGE_UNAVAILABLE (422, a linkedinCompanyUrls page does not exist on LinkedIn — error.companyUrls lists it; nothing is held or charged; replace it with PATCH /api/v1/signals/{signal_id}), NOT_FOUND (404).

post/api/v1/signals/{signal_id}/extraction/quote

Request

  • Base URL: https://api.rodz.io (the document declares no server; this is the origin it was published from)
  • URL: https://api.rodz.io/api/v1/signals/{signal_id}/extraction/quote
  • Auth: HTTP bearer

Path parameters

signal_idstring required

Response

Successful Response

Example response

{
  "extraction": {
    "createdAt": "2026-10-09T09:15:00+00:00",
    "creditsCharged": 0,
    "creditsHeld": 0,
    "creditsQuoted": 620,
    "creditsReleased": 0,
    "estimatedFollowers": 1240,
    "expiresAt": "2026-11-08T09:15:00+00:00",
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "mode": "icp",
    "status": "quoted",
    "updatedAt": "2026-10-09T09:15:02+00:00"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.