Browser Product Scraper
Playwright opens a live store, grabs the page text, and an LLM turns it into structured product data.
Click a node for real config and output
Replays the recorded run on the canvas
Deterministic replay of a real Heym run recorded on 2026-07-28. Every step, output, and timing is genuine. Nothing is simulated.
What happens in this run
Three nodes, zero glue code: a Playwright node navigates to a real public store (books.toscrape.com), reads the visible page text, and hands it to an LLM that returns clean JSON with product titles and prices. Every output and timing below comes from the recorded run. Nothing is mocked. This is the same browser automation you get in self-hosted Heym: the Playwright node can also fill forms, click through login flows, wait for selectors, and capture screenshots on a schedule, all configured on the visual canvas without writing scraper code.
1ScrapeBooksplaywright node · 1.7s
Input
Trigger node, no upstream input.
Output
from ScrapeBooks
{
"status": "ok",
"results": {
"heading": "All products",
"pageText": "Books to Scrape We love being scraped!\nHome All products\nBooks\nTravel\nMystery\nHistorical Fiction\nSequential Art\nClassics\nPhilosophy\nRomance\nWomens Fiction\nFiction\nChildrens\nReligion\nNonfiction\nMusic\nDefault\nScience Fiction\nSports and Games\nAdd a comment\nFantasy\nNew Adult\nYoung Adult\nScience\nPoetry\nParanormal\nArt\nPsychology\nAutobiography\nParenting\nAdult Fiction\nHumor\nHorror\nHistory\nFood and Drink\nChristian Fiction\nBusiness\nBiography\nThriller\nContemporary\nSpirituality\nAcademic\nSelf Help\nHistorical\nChristian\nSuspense\nShort Stories\nNovels\nHealth\nPolitics\nCultural\nErotica\nCrime\nAll products\n1000 results - showing 1 to 20.\nWarning! This is a demo website for web scraping purposes. Prices and ratings here were randomly assigned and have no real meaning.\n\n \n\nA Light in the ...\n\n£51.77\n\n In stock\n\nAdd to basket\n\n \n\nTipping the Velvet\n\n£53.74\n\n In stock\n\nAdd to basket\n\n \n\nSoumission\n\n£50.10\n\n In stock\n\nAdd to basket\n\n \n\nSharp Objects\n\n£47.82\n\n In stock\n\nAdd to basket\n\n \n\nSapiens: A Brief History ...\n\n£54.23\n\n In stock\n\nAdd to basket\n\n \n\nThe Requiem Red\n\n£22.65\n\n In stock\n\nAdd to basket\n\n \n\nThe Dirty Little Secrets ...\n\n£33.34\n\n In stock\n\nAdd to basket\n\n \n\n
…2ExtractProductsllm node · 1.0s
Input
from ScrapeBooks
{
"status": "ok",
"results": {
"heading": "All products",
"pageText": "Books to Scrape We love being scraped!\nHome All products\nBooks\nTravel\nMystery\nHistorical Fiction\nSequential Art\nClassics\nPhilosophy\nRomance\nWomens Fiction\nFiction\nChildrens\nReligion\nNonfiction\nMusic\nDefault\nScience Fiction\nSports and Games\nAdd a comment\nFantasy\nNew Adult\nYoung Adult\nScience\nPoetry\nParanormal\nArt\nPsychology\nAutobiography\nParenting\nAdult Fiction\nHumor\nHorror\nHistory\nFood and Drink\nChristian Fiction\nBusiness\nBiography\nThriller\nContemporary\nSpirituality\nAcademic\nSelf Help\nHistorical\nChristian\nSuspense\nShort Stories\nNovels\nHealth\nPolitics\nCultural\nErotica\nCrime\nAll products\n1000 results - showing 1 to 20.\nWarning! This is a demo website for web scraping purposes. Prices and ratings here were randomly assigned and have no real meaning.\n\n \n\nA Light in the ...\n\n£51.77\n\n In stock\n\nAdd to basket\n\n \n\nTipping the Velvet\n\n£53.74\n\n In stock\n\nAdd to basket\n\n \n\nSoumission\n\n£50.10\n\n In stock\n\nAdd to basket\n\n \n\nSharp Objects\n\n£47.82\n\n In stock\n\nAdd to basket\n\n \n\nSapiens: A Brief History ...\n\n£54.23\n\n In stock\n\nAdd to basket\n\n \n\nThe Requiem Red\n\n£22.65\n\n In stock\n\nAdd to basket\n\n \n\nThe Dirty Little Secrets ...\n\n£33.34\n\n In stock\n\nAdd to basket\n\n \n\n
…Output
from ExtractProducts
{
"text": "```json\n[\n {\"title\": \"A Light in the ...\", \"price\": \"£51.77\"},\n {\"title\": \"Tipping the Velvet\", \"price\": \"£53.74\"},\n {\"title\": \"Soumission\", \"price\": \"£50.10\"}\n]\n```",
"model": "zai-glm-4.7",
"usage": {
"prompt_tokens": 634,
"completion_tokens": 532,
"total_tokens": 1166
},
"tokens_per_sec": 1145.12,
"elapsed_ms": 1018.23
}3ProductDataoutput node · 0ms
Input
from ExtractProducts
{
"text": "```json\n[\n {\"title\": \"A Light in the ...\", \"price\": \"£51.77\"},\n {\"title\": \"Tipping the Velvet\", \"price\": \"£53.74\"},\n {\"title\": \"Soumission\", \"price\": \"£50.10\"}\n]\n```",
"model": "zai-glm-4.7",
"usage": {
"prompt_tokens": 634,
"completion_tokens": 532,
"total_tokens": 1166
},
"tokens_per_sec": 1145.12,
"elapsed_ms": 1018.23
}Output
from ProductData
{
"result": "```json\n[\n {\"title\": \"A Light in the ...\", \"price\": \"£51.77\"},\n {\"title\": \"Tipping the Velvet\", \"price\": \"£53.74\"},\n {\"title\": \"Soumission\", \"price\": \"£50.10\"}\n]\n```"
}3 recorded steps · 2.7s of real execution · recorded 2026-07-28
Where teams use this pattern
- Price and product monitoring for pages without an API
- Turning any web page into structured, machine-readable records
- Scheduled scrapes that feed sheets, databases, or alerts
Browse more ready-made flows in the template gallery.
Don’t have Heym yet?
Heym is Self Hosted and Source Available, clone it and spin up the canvas locally in under a minute, then run the workflow you just watched.