Skip to main content
Capability: parallel runs + output_schema
Use this to find where something is cheapest. TinyAgent runs one browser per site, all at the same time, and every site returns its price in the same JSON shape — so you can sort the results straight away. It works for listed prices and for quotes you only get after filling in a form. TinyAgent opens Best Buy's search results for the Logitech MX Master 3S and returns the lowest-priced listing as JSON

TinyAgent opens Best Buy’s search results for the Logitech MX Master 3S and returns the lowest-priced listing as JSON.

Steps

  1. Start each run on the site’s search results. Put the search in the URL — e.g. bestbuy.com/site/searchpage.jsp?st=logitech+mx+master+3s — so the agent lands on the listings, not the homepage. Fewer steps means a faster run that’s less likely to time out.
  2. Use one schema for every site. Same field names everywhere, with nullable: true on anything a site might not show.
  3. Run them all at once. One run per site, started together, each with a time limit.
  4. Sort what came back. Skip sites that failed or found nothing, then sort by price.
Result
Each run is independent and billed separately — one site failing doesn’t stop the others. To check many products or many sites, see Run TinyAgent Across Multiple URLs.

Get a Quote From a Form

Some prices only appear after you fill in a form — shipping, insurance, a moving quote. Start the run on the quote page, put every input in the goal, and say where to stop:
The run returns every service on the results page — Priority Mail Express, Priority Mail, Ground Advantage and so on — with price and delivery date. Add an output_schema with a services array if you need the same fields every time.
Tip — from ChatGPT or Claude: name the product and every site in one message, e.g. “Compare the price of the Logitech MX Master 3S on Best Buy and Newegg.” Connect once with Run TinyAgent From ChatGPT or Claude.

Common Mistakes

A single goal like “check Best Buy, then Newegg, then Amazon” makes one long run that can time out before it finishes. Give each site its own run, as above, and cap each with max_duration_seconds so one slow site can’t hold up the rest.
“The first listing” is often a sponsored result or a third-party seller with a marked-up price. Ask for the lowest price among the first few listings, and say what doesn’t count — accessories, bundles, refurbished units.
Writing "type": ["number", "null"] returns 400. Use "type": "number", "nullable": true instead — full rules in the Structured Output Reference.
The same product can show a different price, currency, or tax by country. Pin the location with proxy_config.country_code, keep a currency field in the schema, and say which price you want — e.g. “price before tax and shipping”.
Large retailers often block standard browsers. Use browser_profile: "stealth" with a proxy, as in the sample — see the Anti-Bot Guide.

Run TinyAgent Across Multiple URLs

Run the same goal on many pages at once

Get a TinyAgent Run as Structured JSON

Pin down an exact result shape

Structured Output Reference

Supported types, nullable, and limits

Anti-Bot Guide

Stealth browser and proxy settings