Parallel FindAll

Discover entities (companies, people, products) matching a natural-language description via the Parallel FindAll API. Use when the user wants to 'find all X' or 'list every Y that…' — different from web search (returns webpages) and deep research (returns a narrative report). Returns a structured list of entities.

Audits

Pass

Install

openclaw skills install parallel-findall

Parallel FindAll

Discover entities matching a natural-language description. FindAll is for "give me a list of things that match this criteria" tasks — companies, people, products, papers, anything enumerable. Returns structured entities, not webpages or prose.

When to Use

Trigger this skill when the user asks for:

  • "find all [X]", "list every [Y] that…"
  • "discover [companies / people / products] matching…"
  • "give me a list of [SaaS in vertical Z / YC W24 dev tools / Series A AI startups]"
  • Bulk entity discovery where the answer is a structured list, not a narrative

Use Search for "what is X?"; use FindAll for "list every X that matches Y".

Quick Start

parallel-cli findall run "AI startups that raised Series A in 2026" --json

CLI Reference

Basic Usage

parallel-cli findall run "<objective>" [options]
parallel-cli findall status frun_xxx --json
parallel-cli findall poll frun_xxx --json
parallel-cli findall result frun_xxx --json
parallel-cli findall extend frun_xxx <n> --json
parallel-cli findall cancel frun_xxx

Common Flags

FlagDescription
-g, --generatorGenerator tier: preview, base, core (default), pro
-n, --match-limitMax matched candidates, 5-1000 (default: 10)
--exclude '<json>'Entities to exclude (JSON array of {name, url})
--no-waitReturn immediately with frun_xxx; poll separately
--dry-runPreview the schema FindAll will use, without creating a run
--jsonOutput as JSON
-o, --output <file>Save full result to file

Examples

Basic discovery:

parallel-cli findall run "Find roofing companies in Charlotte NC" --json

Larger result set with core generator:

parallel-cli findall run "AI startups that raised Series A in 2026" -n 50 --json

pro tier for deeper coverage:

parallel-cli findall run "YC W24 dev tools companies" -g pro -n 100 --json

Preview the schema before running:

parallel-cli findall run "Find Series B fintechs in Latin America" --dry-run --json

Exclude already-known entities:

parallel-cli findall run "Find AI startups in healthcare" \
  --exclude '[{"name": "Hippocratic AI", "url": "hippocraticai.com"}]' \
  --json

Async — launch then poll separately:

parallel-cli findall run "AI startups that raised Series A in 2026" --no-wait --json
# returns frun_xxx
parallel-cli findall status frun_xxx --json
parallel-cli findall poll frun_xxx --json    # waits and returns result

Extend an existing run with more matches:

parallel-cli findall extend frun_xxx 50 --json

Cancel a running job:

parallel-cli findall cancel frun_xxx

Best-Practice Prompting

Objective

1-3 sentences describing:

  • The entity type (companies / people / products / papers / etc.)
  • The matching criteria (vertical, geography, time range, status)
  • Any quality filters ("active", "publicly listed", "open-source")

Generator Tier

  • preview — fast scan, low coverage. Useful only for quick sanity checks.
  • base — broad and fast, but noisy (query echoes, no-URL entries, category placeholders). Use only when the user explicitly accepts noise.
  • core (default) — best balance of coverage and quality.
  • pro — deeper coverage, slower. Use for high-stakes discovery where missing matches is costly.

Match Limit

Pick the smallest -n that satisfies the user's intent. Default 10 is fine for "show me a few"; bump to 50–100 for "list every X". Max 1000.

Response Format

findall run returns JSON with:

  • findall_idfrun_xxx
  • statusrunning / completed / cancelled / failed
  • schema — the JSON Schema FindAll built for the matches
  • matches[] — array of entities, each with fields per the schema (typically name, url, plus skill-specific extracted fields)

Output Handling

When relaying matches to the user:

  • Filter noise: drop entries with empty url, query-echo names, or category placeholders. Especially important on -g base.
  • Group by source domain if the result set is large — helps the user spot duplicate sources.
  • Echo findall_id so the user can extend or cancel later.

Running Out of Context?

For large result sets (-n ≥ 50), save and use sessions_spawn:

parallel-cli findall run "<objective>" -n 100 --json -o /tmp/findall-<topic>.json

Then spawn a sub-agent:

{
  "tool": "sessions_spawn",
  "task": "Read /tmp/findall-<topic>.json and produce a deduplicated table grouped by category.",
  "label": "findall-summary"
}

Error Handling

Exit CodeMeaning
0Success
1Unexpected error (network, parse)
2Invalid arguments
3API error (non-2xx)

Prerequisites

Requires parallel-cli (installed and authenticated). If parallel-cli --version fails, or if a later command fails with an authentication error, tell the user to see https://docs.parallel.ai/integrations/cli and stop.

References