from parallel import Parallel
client = Parallel()
# Use the output from the ingest step, or provide your own values
ingest = client.beta.findall.ingest(
objective="Find all AI companies that raised Series A funding in 2024",
)
run = client.beta.findall.create(
objective=ingest.objective,
entity_type=ingest.entity_type,
match_conditions=[mc.model_dump() for mc in ingest.match_conditions],
generator="base",
match_limit=10,
)
print(f"FindAll run {run.findall_id} created, response:")
print(run.model_dump_json(indent=2))import Parallel from "parallel-web";
const client = new Parallel();
// Use the output from the ingest step, or provide your own values
const ingest = await client.beta.findall.ingest({
objective: "Find all AI companies that raised Series A funding in 2024",
});
const run = await client.beta.findall.create({
objective: ingest.objective,
entity_type: ingest.entity_type,
match_conditions: ingest.match_conditions,
generator: "base",
match_limit: 10,
});
console.log(`FindAll run ${run.findall_id} created, response:`);
console.log(JSON.stringify(run, null, 2));HttpResponse<String> response = Unirest.post("https://api.parallel.ai/v1beta/findall/runs")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"objective\": \"<string>\",\n \"entity_type\": \"<string>\",\n \"match_conditions\": [\n {\n \"name\": \"<string>\",\n \"description\": \"Company must have SOC2 Type II certification (not Type I). Look for evidence in: trust centers, security/compliance pages, audit reports, or press releases specifically mentioning 'SOC2 Type II'. If no explicit SOC2 Type II mention is found, consider requirement not satisfied.\"\n }\n ],\n \"match_limit\": 123\n}")
.asString();curl --request POST \
--url https://api.parallel.ai/v1beta/findall/runs \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data @- <<EOF
{
"objective": "<string>",
"entity_type": "<string>",
"match_conditions": [
{
"name": "<string>",
"description": "Company must have SOC2 Type II certification (not Type I). Look for evidence in: trust centers, security/compliance pages, audit reports, or press releases specifically mentioning 'SOC2 Type II'. If no explicit SOC2 Type II mention is found, consider requirement not satisfied."
}
],
"match_limit": 123
}
EOF{
"findall_id": "findall_56ccc4d188fb41a0803a935cf485c774",
"status": {
"status": "queued",
"is_active": true,
"metrics": {
"generated_candidates_count": 0,
"matched_candidates_count": 0
}
},
"generator": "base",
"metadata": {},
"created_at": "2025-09-10T21:02:08.626446Z",
"modified_at": "2025-09-10T21:02:08.627376Z"
}{
"type": "error",
"error": {
"ref_id": "fcb2b4f3-c75e-4186-87bc-caa1a8381331",
"message": "Payment required: insufficient credit in account"
}
}{
"type": "error",
"error": {
"ref_id": "fcb2b4f3-c75e-4186-87bc-caa1a8381331",
"message": "Unprocessable content: request validation error"
}
}{
"type": "error",
"error": {
"ref_id": "fcb2b4f3-c75e-4186-87bc-caa1a8381331",
"message": "Too many requests: quota temporarily exceeded"
}
}Create FindAll Run
Starts a FindAll run.
This endpoint immediately returns a FindAll run object with status set to ‘queued’. You can get the run result snapshot using the GET /v1beta/findall/runs//result endpoint. You can track the progress of the run by:
- Polling the status using the GET /v1beta/findall/runs/ endpoint,
- Subscribing to real-time updates via the /v1beta/findall/runs//events endpoint,
- Or specifying a webhook with relevant event types during run creation to receive notifications.
from parallel import Parallel
client = Parallel()
# Use the output from the ingest step, or provide your own values
ingest = client.beta.findall.ingest(
objective="Find all AI companies that raised Series A funding in 2024",
)
run = client.beta.findall.create(
objective=ingest.objective,
entity_type=ingest.entity_type,
match_conditions=[mc.model_dump() for mc in ingest.match_conditions],
generator="base",
match_limit=10,
)
print(f"FindAll run {run.findall_id} created, response:")
print(run.model_dump_json(indent=2))import Parallel from "parallel-web";
const client = new Parallel();
// Use the output from the ingest step, or provide your own values
const ingest = await client.beta.findall.ingest({
objective: "Find all AI companies that raised Series A funding in 2024",
});
const run = await client.beta.findall.create({
objective: ingest.objective,
entity_type: ingest.entity_type,
match_conditions: ingest.match_conditions,
generator: "base",
match_limit: 10,
});
console.log(`FindAll run ${run.findall_id} created, response:`);
console.log(JSON.stringify(run, null, 2));HttpResponse<String> response = Unirest.post("https://api.parallel.ai/v1beta/findall/runs")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"objective\": \"<string>\",\n \"entity_type\": \"<string>\",\n \"match_conditions\": [\n {\n \"name\": \"<string>\",\n \"description\": \"Company must have SOC2 Type II certification (not Type I). Look for evidence in: trust centers, security/compliance pages, audit reports, or press releases specifically mentioning 'SOC2 Type II'. If no explicit SOC2 Type II mention is found, consider requirement not satisfied.\"\n }\n ],\n \"match_limit\": 123\n}")
.asString();curl --request POST \
--url https://api.parallel.ai/v1beta/findall/runs \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data @- <<EOF
{
"objective": "<string>",
"entity_type": "<string>",
"match_conditions": [
{
"name": "<string>",
"description": "Company must have SOC2 Type II certification (not Type I). Look for evidence in: trust centers, security/compliance pages, audit reports, or press releases specifically mentioning 'SOC2 Type II'. If no explicit SOC2 Type II mention is found, consider requirement not satisfied."
}
],
"match_limit": 123
}
EOF{
"findall_id": "findall_56ccc4d188fb41a0803a935cf485c774",
"status": {
"status": "queued",
"is_active": true,
"metrics": {
"generated_candidates_count": 0,
"matched_candidates_count": 0
}
},
"generator": "base",
"metadata": {},
"created_at": "2025-09-10T21:02:08.626446Z",
"modified_at": "2025-09-10T21:02:08.627376Z"
}{
"type": "error",
"error": {
"ref_id": "fcb2b4f3-c75e-4186-87bc-caa1a8381331",
"message": "Payment required: insufficient credit in account"
}
}{
"type": "error",
"error": {
"ref_id": "fcb2b4f3-c75e-4186-87bc-caa1a8381331",
"message": "Unprocessable content: request validation error"
}
}{
"type": "error",
"error": {
"ref_id": "fcb2b4f3-c75e-4186-87bc-caa1a8381331",
"message": "Too many requests: quota temporarily exceeded"
}
}Authorizations
Headers
Body
Input model for FindAll run.
Natural language objective of the FindAll run.
Type of the entity for the FindAll run.
List of match conditions for the FindAll run.
Show child attributes
Show child attributes
Generator for the FindAll run. One of base, core, pro, preview.
base, core, pro, preview Maximum number of matches to find for this FindAll run. Must be between 5 and 1000 (inclusive). May return fewer results.
List of entity names/IDs to exclude from results. At most 10,000 entries are allowed.
10000Show child attributes
Show child attributes
Metadata for the FindAll run.
Show child attributes
Show child attributes
Webhook for the FindAll run.
Show child attributes
Show child attributes
User-provided key identifying the memory scope to use. Omit to use personal memory, if available.
1 - 128^[a-zA-Z0-9_-]+$Response
Successful Response
FindAll run object with status and metadata.
ID of the FindAll run.
Status object for the FindAll run.
Show child attributes
Show child attributes
Generator for the FindAll run.
base, core, pro, preview Metadata for the FindAll run.
Show child attributes
Show child attributes
Timestamp of the creation of the run, in RFC 3339 format.
Timestamp of the latest modification to the FindAll run result, in RFC 3339 format.