-
Notifications
You must be signed in to change notification settings - Fork 4.6k
ai agent price tracking
Prices hide behind things a plain HTTP request never renders: a widget that swaps in a discount after a script runs, a country redirect that changes the currency, a login wall around a member price. A browser agent opens the page the way a shopper does and reads what is actually on screen, which a static scraper cannot.
A price on a modern retail or travel page rarely sits static in the page a server first sends. It is assembled after load: a script checks your session and location, a currency switcher rewrites the number from a cookie or an inferred country, and a widget crosses out a list price to print a lower one, itself a small decision, not a value baked into the HTML.
A plain fetch gets whatever was there before any of that ran, often the wrong number. A browser agent waits for the page to settle, then reads what actually rendered.
The hard part is rarely finding a number on the page. It is making sure the agent reads the one a shopper would call "the price." Most product pages show three or four candidates: a crossed-out list price, a flash-sale price, a coupon-only price, a subscription price beside the one-time price. A vague "read the price" leaves the model guessing, and it guesses differently between runs.
Naming the one you want, and what to ignore, fixes that. Typed into
uvx aihawk ui, or handed to your assistant with AIHawk's browser attached:
Go to
<the product page URL>. Find the price a first-time buyer pays today: no subscription, no coupon. Ignore any crossed-out or "was" price. If a subscription price sits beside a one-time price, report the one-time price. If price differs by size or color, name the default option. Reply with one line: price, currency, option if any.
A single run can visit several sellers of the same item and return one line per seller, the whole point of using an agent instead of five tabs by hand. List the pages and repeat the same reading rule for each, or the comparison collapses the moment one seller's number is a sale price and another's a subscription price:
Check the current one-time price for
<the item>on<url 1>,<url 2>,<url 3>, in order. Ignore subscription and crossed-out prices everywhere, note any assumed size or color, write UNKNOWN if out of stock. Output one table: seller, price, currency, in stock, notes.
Bound the list the way you would any extraction: three or four sellers read reliably in one session, twenty is a longer, costlier run whose clean-output mechanics belong to extracting data to a CSV with an AI agent.
A one-off comparison is fine as a small table in the reply, exactly what the prompt above asked for. For a comparison you will run again, or paste into a spreadsheet, ask for CSV instead: a named header row, one line per seller, no commentary before or after. A model asked for "a table" with nothing more sometimes hands back markdown nothing else can read; CSV forces a format any spreadsheet opens without cleanup.
A price rarely moves minute to minute outside an active sale, so once a day covers nearly everything worth tracking. A fixed schedule that never varies is itself something a site can read, the signal the monitoring page covers in full, scheduling mechanics included. Jitter the run time instead of the same clock minute daily, and do not retry inside the same run if a check fails; let the next scheduled run be the retry.
Each run is a full browser session plus several model turns, real cost, so a five-minute cadence adds up for something that changes once a day at most. If a check that used to work starts failing, read why does my AI agent get blocked? before blaming the price logic.
Two obstacles, two fixes. Some prices only appear after signing in, and
--profile-dir keeps that session on disk so the agent does not sign in
again next run.
A region redirect is different: the price is locale-specific, and AIHawk's
--proxy option sets an egress point the timezone and locale follow, so a
check from the wrong country returns the wrong currency or inventory. Run
through a proxy in the country you need, or accept that a home connection
gives you the price your own market sees; some region prices only surface at
checkout once a local billing address is entered, and no instruction gets
around that.
A handful of retailers checked once a day sits in the low-volume, high-judgment territory where an agent earns its cost, the general trade the scraping comparison page works out. Each run is a browser session plus several model turns: real minutes, real cents, never free.
Once you are watching the same known URLs for the same fields daily, a script that requests them directly costs a fraction of that per check and never waits on a model. An agent earns its cost on the one thing a script cannot do cheaply: deciding which of four visible numbers is "the price" on a page whose layout you do not control.
Can an AI agent track prices for me? Yes: it opens each seller's page, reads the price after scripts and region logic run, and reports the number you defined as "the price."
How do I stop it reading the wrong price? Name the exact price you want and name what to ignore: crossed-out, subscription, coupon-only prices. A vague "read the price" reports whichever one the model sees first.
Can it check several sites at once? In one session, sequentially: list the pages, apply the same reading rule to each, and ask for one table or CSV row per seller.
Will daily checks get an agent blocked? A light load at that frequency; risk grows with volume and a fixed schedule. Jitter the timing, and read why does my AI agent get blocked? if a working check starts failing.
Is this better than a scraper? For a handful of retailers checked daily, an agent reads a rendered price a raw fetch can miss. Past a few hundred pages a day, a script is cheaper, faster, and the better tool.
See also: monitoring a page for changes with an AI agent, extracting data to a CSV with an AI agent, why does my AI agent get blocked?, and AI browser agents vs traditional scraping.
Retrieved 2026-09-05.
-
AIHawk README, for the
uvx aihawk uiinterface, the--proxyoption and its effect on timezone, locale and egress, and the--profile-diroption for keeping a session between runs.
From the AIHawk wiki. The agent reads the number that is actually on the screen; catching a mispriced sale banner before checkout is still the reader's job.
- OpenAI Operator alternatives
- Open-source Operator-style agents
- Is OpenAI Operator still available?
- OpenAI Operator vs Claude computer use
- browser-use alternatives
- Choosing an AI browser agent
- Open-source AI browser agents
- Open-source computer-use agents
- What is an AI web agent?
- AI browser agents vs traditional scraping
- Cloud browser infrastructure for AI agents, explained
- Browserbase alternatives
- Firecrawl vs an AI browser agent
- Skyvern alternatives
- Stagehand vs browser-use
- Project Mariner is gone: what replaced it
- Manus alternatives
- Gemini computer use vs Claude computer use
- AIHawk, reviewed honestly by its own wiki
- AI browser vs AI browser agent: which one do you want?
- AI browser agent vs RPA: which one fits the job
- AI browser agent vs n8n, Zapier and Make
- Vercel agent-browser alternatives, compared honestly
- Why does my AI agent get blocked?
- The timing signal AI agents give off
- Agent retry loops trip rate limits, not fingerprints
- Claude computer use detected as a bot
- browser-use getting blocked: what you can and cannot change
- Getting an AI agent to fill out forms
- Which model to use with AIHawk
- Browser problem or model problem?
- Running AIHawk's browser from Claude Code
- Extracting data to a CSV with an AI agent
- Monitoring a page for changes with an AI agent
- Running AIHawk's browser from Claude Desktop
- Running AIHawk's browser from Cursor
- Using an AI agent to hunt for apartments
- Getting website data into Google Sheets with an AI agent
- Using an AI agent to download invoices from portals
- AI agents for web research
- Using an AI agent to test your own website
- Running AIHawk's browser from Cline
- Posting to social media with an AI agent
- Posting to Facebook with an AI agent
- Posting to Instagram with an AI agent
- Posting to X with an AI agent
- Automating LinkedIn posts: read this first
- Appointment bots: what they are and what an agent can legitimately do
- Track prices across sites with an AI agent
- Build a lead list with an AI browser agent
- Run an AI browser agent on a schedule
- AI browser agent with a local LLM: what changes
- Should you log your AI agent into your accounts?
- How to write a task an AI browser agent can follow
- Move data between two web apps with an AI agent
- The MCP server
- How the tools are shaped, and why