Search preparation
Extract search from prompt
Turn a job description into filters and qualification criteria, without running a search.
POST
Extract search from prompt
First time? Set up Authentication
Learn how to authenticate your API requests with your API key.
filters and qualificationCriterias used by qualified search and by talent-pool estimation. This endpoint stops at extraction: it does not return profiles.
The interpretation is the same as qualified search by prompt. The filters are written for the gate engine, which is the mode qualified search always runs in. See Search modes.
Post data as-is to POST /v1/search/talents/estimation. Post it to POST /v1/search/talents/qualified as well: if qualificationCriterias is empty, add at least one criterion first, because qualified search requires one. POST /v1/search/talents also accepts data as-is and ignores qualificationCriterias. That call runs a paid search: it charges 1 API credit per profile returned, and nbToFetch defaults to 10.
The same prompt can yield slightly different filters, so store data if you need a stable search.
Request body
string
required
Job description or natural-language brief, for example
"Data engineer in Paris with 5+ years of experience who knows Spark and has managed a team".
From 1 to 4,000 characters after leading and trailing whitespace is trimmed.
If the prompt cannot be turned into any usable filter, the request returns
prompt_interpretation_failed.prompt only. Any other field, such as nbToFetch, is rejected with 400 validation_error.
Limits
Response
Successful responses carry two headers:
Error responses do not send these headers.
boolean
Whether the request completed without errors.
object
Present when
success is true.object
Error details, present when
success is false.Credits
A successful call consumes 1 API credit. The response sendsX-Api-Credits-Used: 1 and X-Api-Credits-Remaining. Billing labels the debit “API search inputs extraction”.
- If the balance is
0, the route returns402insufficient_api_creditsand does not extract.availableis0andrequiredis1. - Otherwise 1 credit is reserved before the prompt is read.
- If the prompt yields no usable filter, or the call fails at any step, the reservation is cancelled and no credit is consumed.
- On success, the reserved credit is consumed.
Errors
Response examples
200 — Success
200 — Success
Request
Response headers
Response
400 — Validation error
400 — Validation error
Returned when the body does not match the schema. Here An empty prompt returns the same envelope with this issue:
nbToFetch is not accepted by this route.Request
Response
400 — Missing connected LinkedIn account
400 — Missing connected LinkedIn account
Returned when the prompt asks for LinkedIn connections and the workspace has no connected LinkedIn account. No credit is consumed.
Response
401 — Authentication error
401 — Authentication error
Returned when the API key is missing or invalid, or when an OAuth access token has expired.
Request
Response (missing key)
Response (invalid key)
Response (expired OAuth token)
402 — Insufficient API credits
402 — Insufficient API credits
Returned when the balance is 0. Nothing is extracted. Top up your credits and retry.
Response
402 — Plan upgrade required
402 — Plan upgrade required
Returned by authentication when the workspace must subscribe or upgrade its plan. Search routes, including this one, do not require a subscription today.
Response
422 — Prompt interpretation failed
422 — Prompt interpretation failed
Returned when the prompt could not be turned into any usable filter. Rephrase it with concrete criteria such as a job title, a location, or a skill. No credit is consumed.
Request
Response
422 — Unsupported location
422 — Unsupported location
Returned when a location in the prompt cannot be resolved. Remove that location or rephrase it. Retrying the same value will not succeed. No credit is consumed.
Response
429 — Rate limit exceeded
429 — Rate limit exceeded
Returned when an API-key request window is exceeded. A per-IP limit on failed authentication returns the same code with the message
Too many requests, please try again later and no details. See Rate limits.Response
500 — Internal error
500 — Internal error
Returned when the extraction fails unexpectedly. No credit is consumed. Retry, and include
debugTrackingCode if you contact support.Response

