Skip to main content
Three requests, about five minutes: describe who you want, wait for Origami to go find them, read them back. That’s the whole loop, and every other Leads flow is a variation on it. New to the API? The overview explains how the pieces fit together first.
Building with an AI coding assistant? Download the OpenAPI spec or install the Origami skill.

Prerequisites

  • An Origami account on a paid plan
  • An API key (create one in Settings → Developers)
  • curl and jq
POST /leads/searches creates a list, sources leads, and researches them — all from one sentence. The brief is the steer; there is no filter DSL, so say what you’d say to a researcher.
You get 202 Accepted with a Job already running. Nothing is finished yet — keep id, that’s what you poll next.

Step 2: Poll the Job

Poll GET /jobs/{job_id} until status is no longer queued or running. Honor next_poll_at (or the Retry-After header). Polling faster than the hint is served from a short-lived cache — it costs you requests without surfacing progress sooner.
A sourcing Job stays running with phase: "enriching" until the cells it owns finish, so succeeded genuinely means done — result counts won’t move afterwards. Expect a few minutes for 25 leads.
Prefer push over poll? Subscribe to job.succeeded and read the Job when the event arrives.

Step 3: Read the rows

result.row_ids are exactly the rows this run added, so you can read them without paging the whole list. Reads are free. Cap is 100 ids per call.
To export the whole list, pass format=csv on the same endpoint.

What’s next

You now have a list with 23 researched rows in it. From here:

Build a list

Go deeper on the same search, bring your own rows, add research columns.

Run a campaign

Enroll this list in an email or LinkedIn sequence.

The Job object

Cancelling, credits, and the questions a Job can ask you.

Conventions

Paging, errors, idempotency, and destructive-call previews.
Start at count: 10, read the rows, refine the brief, and only then ask for hundreds with fetch-more on the same search. Refining early is much cheaper than re-running.