What you need
- An Outcrawl API key in
OUTCRAWL_API_KEY. npm install @outcrawl/sdkorpip install outcrawl. No other service: extraction happens on the page read.
How it works
1
Search each angle
One search per topic, five results each. A URL two topics both found is read once.
2
Read every result in parallel
Each page is scraped with the
json format and a schema that asks for claims, each with the sentence it came from, and for two verdicts: is the page relevant, and is the answer behind a control on the page.3
4
Stay inside your browser slots
Every key on your account shares one browser slot count. Browsers, agent runs, crawls, searches and scrapes that aren’t served from cache each hold a slot. A small semaphore keeps the program below your plan’s limit, waits 20 seconds and retries on
ConcurrencyLimitError, and waits out a per-minute QuotaExceededError for the seconds it names.5
Write the report
Claims go under their topic with a numbered citation, and the sources list says which ones an agent read.
claims.json keeps every quote so a reviewer can check each claim against its page.The program
What you get back
report.md (an illustrative sample; your run reports what the pages say on the day):
claims.json holds the same claims with their verbatim quotes:
What it costs
- Search: 5 credits per 10 results. Four searches of 5 results is 20 results: 10 credits.
- Reads: 1 credit per page. About 16 distinct pages: 16 credits.
- Agents: billed for the model’s usage, browser time and proxy usage, and a typical run costs about 15 credits a minute all in. About 3 pages need an agent, each about a minute: 3 × 15 = about 45 credits, with a
caps.budgetof 40 for each run.
Make it yours
- Let your own model write the topics and queries from the question, and write prose from
claims.json, keeping the[n]markers. - Add a second pass: search again for any topic that ended with no claims.
- Raise
limiton each search to 10 for a wider report; the search line doubles and the reads grow with it. - Set the semaphore to your plan’s browser count less one, so other jobs on the account still have a slot.
Related
Search
Queries, limits and hits.
Scrape
The
json format and schemas.Agents
Schemas, caps and statuses.
Errors
ConcurrencyLimitError and QuotaExceededError.Pricing
Every rate on this page.