Skip to main content
For AI agents: a documentation index is available at https://docs.parallel.ai/llms.txt. The full text of all docs is at https://docs.parallel.ai/llms-full.txt. You may also fetch any page as Markdown by appending .md to its URL or sending Accept: text/markdown.

Overview

A candidate is an entity that FindAll discovers during the generation phase of a run. Each candidate represents a potential match that is evaluated against your match conditions.

Candidate States

Candidates progress through these states during evaluation:
  • Generated: Discovered from web data, queued for evaluation
  • Matched: Successfully satisfied all match conditions
  • Unmatched: Failed to satisfy one or more match conditions
  • Discarded: Removed from further evaluation because the candidate was invalid, irrelevant, or duplicated
Post-Match Events: When using Streaming Events or Webhooks, you may receive enriched events for matched candidates. These are event types (not match_status values) that indicate when additional data has been extracted via enrichments after a candidate has already matched.

Candidate Object Structure

Candidates in FindAll results, SSE events, and webhook payloads use this model. Webhook payloads also include findall_id. Optional fields are omitted when they are not available.

Understanding the output Field

The output field contains evaluation results where each key corresponds to a field name. Match conditions include an is_matched boolean, while enrichments do not:

Understanding the basis Field

The basis field provides citations, reasoning, and confidence scores for each field in output.
For complete details on basis structure and usage, see Access Research Basis.

Excluding Candidates

Use case: Excluding candidates is useful when you already know certain entities match your criteria (such as results from previous runs or entities you’ve already identified), allowing you to focus the run on discovering new matches.
FindAll uses intelligence to deduplicate and disambiguate candidates you provide in the exclude list, which handles aliases and entities with slightly different names or URL variations. However, using the most official and disambiguated name and URL is recommended for best results.
Provide an exclude_list with up to 10,000 entries to prevent specific entities from being generated or evaluated. Excluded entities do not appear in results or events. Exclude list structure: Array of objects with name (string) and url (string) fields.

Retrieving Candidates

Candidates can be accessed through multiple methods:
  • /result endpoint: Retrieve the current candidate snapshot while a run is active or after it stops. Active snapshots can also include generated candidates.
  • Streaming Events: Stream candidates in real-time as they’re generated and evaluated
  • Webhooks: Receive HTTP callbacks for the candidate event types emitted by the webhook runtime