Built on Task API: Find All enrichments are powered by our Task API. All Task API concepts—including task specifications, processors, output schemas, and pricing—apply directly to enrichments. We handle the orchestration automatically, running tasks on each matched candidate.
Overview
Find All enrichments allow you to extract additional non-boolean information about candidates that should not be used as filters for matches. For example, if you’re finding companies, you might want to extract the CEO name as pure enrichment data—something you want to know about each match, but not something that should affect whether a candidate matches your criteria.Match Conditions vs. Enrichments
Understanding the distinction between match conditions and enrichments is fundamental to using Find All effectively.| Match Conditions | Enrichments | |
|---|---|---|
| Purpose | Required criteria that determine whether a candidate is a match | Additional data fields extracted only for matched candidates |
| When Executed | During Find All generation and evaluation process | Only on matched candidates using the Task API |
| Output format | Boolean (yes/no) + extracted value | String values (by default) |
| Type of Criteria | Must be boolean/filterable (yes/no questions) | Can be any type of data extraction |
| Affects Matching? | ✅ Yes - determines which candidates reach matched status | ❌ No - does not affect which candidates match |
| When to Add | Must be defined when creating the run | Can be added when creating the run, or multiple times after |
| Example Questions | • “Is the company founded after 2020?” • “Has the company raised Series A funding?” • “Is the company in the healthcare industry?” | • “What is the CEO’s name?” • “What is the company’s revenue?” • “What products does the company offer?” |
Why This Separation Matters
This two-stage approach is efficient and cost-effective:- Filter first: Match conditions quickly narrow down candidates to relevant matches
- Enrich selectively: Extract detailed data only from the matches that matter
Adding Enrichments
Enrichments can be added anytime after a Find All run is created, even for completed runs. Once added:- Enrichments will run on all matches (both ones that exist when the request is made and all future matches)
- If enrichments are present, extend will also perform the same set of enrichments on all extended matches
Creating Enrichments
Task API Concepts Apply Here: Enrichments use the same task spec structure as Task API runs. You’ll define:
- Processors: Choose from
base,advanced, orauto(same as Task API) - Output Schema: Define structured JSON output (same format as Task API)
- Pricing: Charged according to Task API processor pricing
input_schema—it’s automatically set to the candidate’s name, url, and description.Quick Example
Retrieving Enrichment Results
You can access enrichment results through multiple methods:- Streaming Events (
/events): Enrichment results stream in real-time as they complete - Webhooks: Subscribe to
findall.candidate.enrichedevents to receive enrichment results via HTTP callbacks - Result endpoint (
/result): Enrichment data is included when fetching the final results of a Find All run
Enrichment data is added to the candidate’s
output object with type: "enrichment". See Candidates for details on how enrichments appear in the candidate structure.Related Topics
Task API Foundation
Enrichments are built on Task API, so these guides will help you understand how they work:- Task API Quickstart: Learn the Task API that powers enrichments
- Specify a Task: Master task_spec structure and best practices
- Choose a Task Processor: Understand Task API processor options
- Execute Task Runs: Learn about pricing and execution patterns
Find All Features
- Preview: Test queries with ~10 candidates before running full searches
- Extend Runs: Increase match limits without paying new fixed costs
- Streaming Events: Receive real-time updates via Server-Sent Events
- Webhooks: Configure HTTP callbacks for run completion and matches
- Run Lifecycle: Understand run statuses and how to cancel runs
- API Reference: Complete endpoint documentation