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.Beta Notice: Parallel FindAll is currently in public beta. Endpoints and request/response formats are subject to change. We will provide 30 days notice before any breaking changes.
What is FindAll?
FindAll is a web-scale entity discovery system that turns natural language queries into structured, enriched databases of companies, people, and other real-world entities. It answers questions like “FindAll AI companies that raised Series A funding in the last 3 months” by combining intelligent search, evaluation, and enrichment capabilities. Unlike traditional search APIs that return a fixed set of results, FindAll generates candidates from web data, validates them against your criteria, and optionally enriches matches with additional structured information—all from a single natural language query.Key Features & Use Cases
FindAll excels at entity discovery and research tasks that require both breadth and depth:- Natural Language Input: Express complex search criteria in plain English
- Intelligent Entity Discovery: Automatically generates and validates potential matches
- Structured Enrichment: Extract specific attributes for each discovered entity
- Citation-backed Results: Evaluated fields can include reasoning and source citations through
basis - Asynchronous Processing: Handle large-scale searches without blocking your application
Pricing
See Pricing for a detailed schedule of rates.
Common Use Cases
- Market Mapping: “FindAll fintech companies offering earned-wage access in Brazil.”
- Competitive Intelligence: “FindAll AI infrastructure providers that raised Series B funding in the last 6 months.”
- Lead Generation: “FindAll residential roofing companies in Charlotte, NC.”
- People Search & Recruiting: “FindAll engineering leaders at Series B fintech companies headquartered in Berlin.”
- Financial Research: “FindAll S&P 500 stocks that dropped X% in last 30 days and listed tariffs as a key risk.”
What Happens During a Run
When you create a FindAll run, the system executes three key stages:-
Generate Candidates from Web Data: FindAll searches across the web to identify potential entities that might match your query. Each candidate enters the
generatedstatus. -
Evaluate Candidates Based on Match Conditions: Each generated candidate is evaluated against your match conditions. Candidates that satisfy all conditions reach
matchedstatus; those that do not becomeunmatched. The result snapshot can include both groups, so filter onmatch_statuswhen you need only successful matches. -
Extract Enrichments for Matched Candidates: After you add an enrichment through
/enrich, FindAll uses the Task API to extract those fields for matched candidates and handles the orchestration automatically.
Quick Example
Here’s a complete example that finds portfolio companies. The workflow consists of four steps: converting natural language to a schema, starting the run, polling for completion, and retrieving results.The Basic Workflow
The FindAll API follows a simple four-step workflow:- Ingest: Convert your natural language query into a structured schema
- Run: Start the findall run to discover and match candidates
- Poll: Check status until the run reaches a terminal state
- Fetch: Retrieve the current candidate snapshot and any available reasoning and citations
Step 1: Ingest
Purpose: Converts your natural language query into a structured schema withentity_type and match_conditions.
The ingest endpoint automatically extracts:
- What type of entities to search for (companies, people, products, etc.)
- Match conditions that must be satisfied
- Optional enrichment suggestions
Customizing the ingest schema
The ingest endpoint generates a suggested schema, but you can (and should) review and modify it before creating a run. Common modifications include:- Relaxing temporal conditions: Ingest may interpret phrases like “founded after 2023” strictly (e.g., “within the last 1 year”). You can broaden the description to be more inclusive.
- Adjusting match condition descriptions: Make descriptions more or less specific to control match rates.
- Adding or removing match conditions: Tailor the schema to your exact needs.
- Changing the entity type: Correct the entity type if ingest misidentified it.
"Company must have been founded within the last 1 year", you might change it to "Company must have been founded in 2025 or later" for more reliable matching.
Step 2: Create FindAll Run
Purpose: Starts the asynchronous findall process to generate and evaluate candidates. You can use the schema from ingest directly, or modify it before passing it to the create endpoint. Key parameters:generator: Choosepreview,base,core, orprobased on your needs (see Generators and Pricing)match_limit: Forbase,core, andpro, the maximum number of matches to find. Forpreview, the number of candidates to evaluate (5–10).
Step 3: Poll for Status
Purpose: Monitor progress and wait for completion. Request:Step 4: Get Results
Purpose: Retrieve a snapshot of the run and the candidates available at request time, with match details and any available reasoning and citations. While a run is active, the snapshot can includegenerated candidates that have not finished evaluation. You can call this endpoint while the run is active or after it finishes.
To understand the complete candidate object structure, see Candidates.
Troubleshooting
Run completed with 0 matched candidates
Run completed with 0 matched candidates
This typically happens when match conditions are too strict for the candidate pool. Try these fixes:
- Relax match condition descriptions: The ingest endpoint may generate overly strict conditions, especially for temporal queries. Edit condition descriptions to be more inclusive before creating the run.
- Use a stronger generator:
previewevaluates 5–10 candidates according tomatch_limit,basesearches broadly,coresearches deeper, andprois the most thorough. A stronger generator evaluates more candidates, increasing the chance of finding matches. - Check temporal language: Phrases like “founded after 2023” may be interpreted as “within the last year.” Use explicit ranges (e.g., “founded in 2025 or later”) for more predictable behavior.
- Broaden your query: If your criteria are very specific, consider starting broad, adding enrichments, and filtering the enriched results in your application.
- Start with preview: Always run with
generator: "preview"first to validate your schema and see how conditions are being evaluated before committing to a full run.
Ingest generated unexpected conditions
Ingest generated unexpected conditions
The ingest endpoint interprets natural language heuristically. If the generated
match_conditions don’t match your intent:- Modify the conditions before passing them to the create endpoint — see Customizing the ingest schema above.
- Skip ingest entirely and construct your own schema directly with
objective,entity_type, andmatch_conditions. - Use the schema endpoint on an existing run (
GET /v1beta/findall/runs/{findall_id}/schema) to see what schema was used, then iterate on it.
Next Steps
- Entity Search: Fast, synchronous people-and-company search for latency-sensitive workflows
- Candidates: Understand candidate object structure, states, and exclusion
- Generators and Pricing: Understand generator options and pricing
- Preview: Test queries with 5–10 evaluated candidates before running full searches
- Enrichments: Extract additional structured data for matched candidates
- 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
- API Reference: Complete endpoint documentation