List Lookup
Run a web-search-backed research prompt against every row of a Parvenu list. Asynchronous, writes results back into the list.
POST /research_with_ai_list
Use this to run a prompt against every row of a list in one call, rather than looping over Individual Lookup per row.
Headers
Content-Type
application/json
Body
api_key
string
Your API Key.
listname
string
Name of the existing Parvenu list to enrich.
prompt
string
The prompt to run against each row. Must contain at least one {{column_name}} reference.
processing_mode
string
Optional. blank_only (default), all, or first_10. See Processing modes below.
view
string
Optional. Which rows of the list to process. all (default) processes every contact in the list; verified restricts the run to contacts whose email address is verified.
saved_view
string
Optional. Name of a saved view on this list. Runs only on the contacts in that view. Don't combine with view, filter_stack or search.
Saved views. To run only on the contacts in a saved view, send its name as saved_view. See List Saved Views.
Prompt requirements
The prompt is a template, not a standalone question. Reference list columns with double curly braces and the API substitutes each row's value before sending it to the model:
In one sentence, what does {{organization_name}} do?If your prompt contains no column reference at all, the call fails with a 400 and the message No column references found in prompt. Use {{column_name}} format.
Which columns can I reference? Any column on the list: the exact set is the keys returned by Download List Data for that list.
Processing modes
blank_only
Default. Only fills rows whose target column is still empty. Cheapest re-run.
all
Re-processes and overwrites every row.
first_10
Processes only the first 10 fetched rows. Use this to test a prompt cheaply.
View values
all
Every row in the list (default).
verified
Only rows whose email address is verified.
Example
Reading the acknowledgement
Every list-scoped trigger answers with the same envelope, so one piece of client code handles them all.
job_id
Identifier for this run. Always a string. For AI triggers it is the id of the saved prompt.
status
A job status: queued, processing, done, not_found, cancelled or error.
rows_selected
How many rows matched your view before the page limit was applied.
rows_fetched
How many rows this run actually picked up. This is the number that gets processed.
max_rows
The ceiling a single run will fetch.
truncated
true when the list was longer than max_rows and the run was cut to fit.
Retrieving results