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).
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
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.