Get search status
Poll a v3 people search, track each phase, and use results as they become ready.
sources containing search, candidate_discovery, or both. Known-search results retain their lightweight preview on every poll, regardless of include_profile. When include_profile is true, every poll also embeds the latest readable canonical profile, including a level 1 profile while that result is still enriching.
Know when a search is done
status answers one question: is the whole search done, and how did it go? Continue polling while it is running. Stop when it becomes:
completed: every result reached the requestedprofile_depth. A search can also complete with an emptyresultslist when nothing matched.completed_with_errors: ready results are available, but at least one result or candidate discovery failed.failed: work failed and the search has no ready results.
Track each phase
Two snapshot fields report the search’s phases independently:candidate_discovery_completedanswers: is the result list final? Whentrue, discovery adds no more results to this search. For discovery searches it becomestrueas soon as clustering fixes the candidate set and every discovered person appears inresults— usually while those results are stillgenerating. Present only when the search ran withcandidate_discovery: true. If discovery failed,candidate_discovery_failureexplains why.profile_upgrades_completedanswers: are the current profiles final? Whentrue, every result currently inresultsreached the requestedprofile_depthor failed. Whilecandidate_discovery_completedisfalse, discovery can still add results that bring new profile work.
status alone — it is the only signal that the search is finished. Use these fields to show progress. For a discovery search, candidate_discovery_completed: true with profile_upgrades_completed: false is the normal mid-run state: all people are found and their profiles are still building, so you can render the final list of people while their profiles fill in.
Result statuses
Each entry inresults moves through its own lifecycle, separate from the search status:
generating becomes enriching, enriching becomes ready or failed, and ready never regresses.
Result stability
Snapshots are stable between polls:- A result never disappears from a later response. New candidate results append after the existing rows.
limitcaps only the initial matches from the existing Orbit index. Candidate Discovery results append outside that quota, and profile upgrades update rows in place. The finalresultscount can therefore exceedlimitand has no fixed multiple of it.
profile_id and update rows in place. You can render ready results while the rest of the search is still running.
discovered_sources starts filling within seconds of the search starting, while Orbit is still gathering, and decreases as Orbit assigns sources to candidates. The assigned receipts appear in results[].candidate_sources and remain there when the result becomes ready. Every receipt contains link, title, and sourceImage. results[].sources is the existing result-origin list and does not contain source receipts.
In both receipt arrays, link is the URL of the discovered source page, title is the display title of the source page or site, and sourceImage is the URL of the favicon for the site that hosts the source page.
This endpoint requires search:read. If the original search used include_profile: true, the caller also needs profile:read. A search is only visible to the API key that created it.Authorizations
Use an Orbit API key from the developer dashboard.
Path Parameters
The search ID returned by POST /v3/search.
1Response
The current search snapshot.
Server-generated identifier for this search. Use it to poll the status endpoint.
The idempotency key from the original request, or a generated value when the request omitted it.
Overall search lifecycle. running means work is still in progress; poll until the status is terminal. completed means every result reached the requested profile depth; a search can complete with an empty results list when nothing matched. completed_with_errors means ready results are available but some work failed. failed means work failed and no ready results are available.
running, completed, completed_with_errors, failed Whether this search runs candidate discovery, as resolved from the request.
The minimum profile depth requested for each ready result.
partial, full Whether ready results embed the full profile object.
Whether every result in results has reached the requested profile_depth or failed. While candidate_discovery_completed is false, discovery can still add results with new profile work.
The people this search has found so far. Results are append-only: a reported result is never removed, and a ready result never regresses.
When the search was created.
When the snapshot last changed.
Whether the result list is final. Once true, discovery adds no more results to this search; the results themselves can still be generating or enriching toward the requested depth. For discovery searches this becomes true when clustering completes and every discovered person appears in results. If discovery failed, candidate_discovery_failure explains why. Present only when candidate_discovery is true.
Candidate Discovery source receipts that have not yet been assigned to a result. Present when candidate_discovery is true.
Why candidate discovery failed. Present only when discovery failed.
