Point-and-click web scraper.Exports a Python script you own.
Point at the page; keep the scraper. A no-code Chrome extension: click the fields you want and it infers the CSS selectors, previews the rows, and exports a standalone Playwright script that writes a CSV and a JSON file. Working out the selectors and writing the code both happen in your browser, and no page data leaves it. You keep a Python file, not a subscription that runs your scrapes.
For people who can run a Python file. The extension is point-and-click; the thing it hands you is scrape.py, and running it means pip3 install playwright on your own machine. If that sentence is fine, the rest of this page is for you.
Not on the Chrome Web Store yet. One email from [email protected] when it lands, then nothing else, and everyone on the list can buy at the £29 introductory price before it ever rises.
Click a field in the page below. This is a real page, the same one the script further down scrapes. Click a quote, then an author.
Nothing picked yet. Click any field in the page.
Nothing to preview.
In the extension these write the file. Here they are just the panel.
The export is a Python file, not a service.
You end up with one file, scrape.py, on your disk, yours. It imports Playwright and nothing of ours. Run it with python3 and it writes scrape_output.csv and scrape_output.json beside itself.
The picks are baked in as plain constants at the top, so changing the start URL, the page cap or a selector is an edit, not a re-pick. Every non-obvious branch in it explains itself, including the two failures you will actually meet: a cookie wall and a bot check. Read the whole file, annotated.
If Scrapejig disappears tomorrow, the script keeps running.
"""Scrape quotes.toscrape.com — generated by Scrapejig on 2026-09-09.
Setup (one time):
pip3 install playwright
python3 -m playwright install chromium
Run:
python3 scrape_quotes_toscrape_com.py
If pip3 says "externally-managed-environment" (Homebrew, Debian, Ubuntu 23.04+),
create a virtual environment and run all three lines inside it:
python3 -m venv .venv && source .venv/bin/activate
Every new terminal needs that activate line again before the script will run.
On Windows the launcher is py: py -m pip install playwright, then
py -m playwright install chromium, then py scrape_quotes_toscrape_com.py.
A venv activates there with .venv/Scripts/activate in place of the source line.
Output: scrape_output.csv and scrape_output.json in the working directory.
This file is yours — edit it freely. The constants below are the usual knobs.
"""
import csv
import json
import sys
import time
from playwright.sync_api import sync_playwright
START_URL = "https://quotes.toscrape.com/"
HEADLESS = True
OUTPUT_BASE = "scrape_output"
DELAY_SECONDS = 1.0 # pause between page loads; raise to be gentler
ITEM_SELECTOR = "div.quote"
FIELDS = ["quote", "author", "tags"]
NEXT_SELECTOR = "li.next a"
MAX_PAGES = 5 # set in the panel; change to None to scrape every page
def extract_item(item):
"""Pull one row's fields from a single item element."""
return {
"quote": text(item, "span.text"),
"author": text(item, "small.author"),
"tags": text(item, "div.tags"),
}
145 more lines: reading each row, opening the start page, walking the pages, writing the CSV and JSON.
Pagination, infinite scroll, load-more: four ways it walks the site.
Pick the mode in the panel before you export. The preview and Copy CSV always show the page in front of you; the generated script is what does the walking. A worked example of each.
Single page
Scrape what is in front of you and stop. The right answer more often than people expect.
Pagination
Pick the next link once. The script clicks through until the link runs out.
Cap it at 3 pages to test, then set it to every page.Infinite scroll
Scrolls and re-reads until the feed stops growing, then writes the file.
Hard stop at 200 scrolls, so a feed that never ends cannot cost you the afternoon.Load more button
Pick the button. The script clicks it until it goes away.
Hard stop at 200 clicks, for the same reason.Drill-down
Follow each row's link and take fields from the page behind it, the detail page. Mark a link column to follow, pick fields on one detail page, and those columns join every row, so a listing page and 200 detail pages come out as one table.
One detail page failing costs you that page's fields and nothing else. The row keeps everything the listing gave it. A lot of scrapers drop the whole row.Web scraping that never sends your data anywhere.
Working out the selectors, the live preview and writing the code all happen inside the extension. Nothing you look at, pick or preview is sent anywhere, because there is nowhere for it to go. The only request Scrapejig ever makes is the licence-key check. Once a key is activated it is re-checked at most every thirty days, and if that check ever fails, our server, your wifi, us gone, nothing changes and the key keeps working.
What Scrapejig does not do, and what that buys you.
Stated plainly, so nothing here is a surprise after paying:
- No scheduled runs. Nothing of ours is running when you are not looking. Put the script on cron, a GitHub Action or your own box and it runs on your terms.
- No cloud scraping. Your machine runs the script, from your IP, at your pace, which is why there is no per-row pricing, no queue and no monthly bill.
- No sharing recipes between people. Your picks stay in your browser. Share the exported
scrape.pyinstead: it is a file, and it needs nothing of ours to run. - No team accounts. One key, three machines, one payment. If you need seats and an admin console, buy something with a sales team.
Everything absent from that list is absent on purpose. What is left is a scraper you own outright.
Pricing: buy it once, £29.
For comparison, the hosted scrapers that do this job — Octoparse and Web Scraper Cloud — rent from $50 to $249 a month; this is £29, once. One purchase, one licence key, no renewal. Picking and previewing stay free whether you buy or not.
Free
No key, no email
Point, click, pick fields, set the flow mode and watch the live preview. Unlimited, on any site, forever.
Includes pick and preview.
Free key
Email address, key by return
Everything above, plus getting the previewed rows — the page you're on — out of the panel and into a spreadsheet.
Adds Copy CSV.
Pro
Introductory price, one-time
Everything above, plus the generated Playwright script — the thing you keep, edit and run yourself. One person, up to three machines at once.
Adds Export Python.
Requires Python 3 and Playwright on your machine. Free and Free key need nothing installed — try those first, and only buy Pro once you have run the sample file yourself.
Tell me when it's on the StoreNot on the Chrome Web Store yet
Leave your email and you get one message from [email protected] on the day it lands, carrying the install link, and everyone on that list can buy at £29 before the introductory price ever rises.
The address goes to api.scrapejig.com when you press the button and never before. It is stored under a hash of itself with the time it arrived, used for that one email, and deleted once the email has gone out — or sooner if you write to [email protected]. There is no list beyond it and no sequence after it. The privacy notice says the same.
£29 is the introductory price and the only price Scrapejig has ever been sold at. One payment, no renewal, no seat count. If it ever rises, the rise is announced on the changelog and by email to the launch list at least two weeks before it takes effect, and nothing already bought changes. That is what the box above is for.
Fourteen days, no questions, no form. Email support@scrapejig.com and the key is refunded and revoked. You keep any script you already exported: it is a file, and revoking a key cannot reach into your machine. That is a deliberate choice, not an oversight. The terms of sale say the rest.
Prices are charged in pounds sterling. If your card is in another currency, any figure shown next to the price is an approximation: your bank converts at its own rate and may add a non-sterling fee.
Questions people ask before buying.
Will it work on the site I care about?
Probably, if what you want is repeating rows or cards in the page's own HTML: listings, tables, search results, feeds. The picker is measured against 17 saved pages, including an Amazon search, a Rightmove listing, GitHub Trending, Hacker News, a jobs board and a spec table. Picking and previewing are free and need no account, so the honest answer is to open the panel on that page and find out in ten seconds. That is why the free tier has no time limit.
Does anything I scrape leave my browser?
No. Working out the selectors, the live preview and writing the code all happen inside the extension. There is no telemetry of any kind, and the only server the extension ever contacts is the licence server: it sends a licence key and a random per-install identifier, or an email address when you ask for a free key, and never page content. The privacy page names every request that exists in the codebase.
Do I need to know Python to use it?
To pick fields and watch the preview, no, and nothing needs installing for that. To run what it exports you need Python 3 and Playwright on your machine, and you need to be comfortable running a file from a terminal. You do not need to write any Python: your picks arrive as plain constants at the top of the generated script.
Is there a free trial?
There is a permanent free tier, which is better. Picking fields, choosing how the scraper walks the site and watching the live preview cost nothing, need no account, and never expire, on any site. Give an email address and you get a free key that adds Copy CSV. The one payment of £29 buys the Python export.
What does the £29 buy?
Export Python, once, with no renewal. Picking fields, setting the flow mode and watching the live preview are free whether you buy or not, and a free key, which needs only an email address, adds Copy CSV. The Pro licence adds the generated Playwright script: the file you keep, edit and run yourself.
Can I get a refund?
Fourteen days, no questions, no form. Email support@scrapejig.com and the key is refunded and revoked. You keep any script you already exported: revoking a key cannot reach a file on your disk, and it was never designed to. The terms of sale have the rest.
Can it handle pagination, infinite scroll and load-more buttons?
Yes. Those are three of the four flow modes, and the fourth is for a page that genuinely ends. You choose the mode in the panel before exporting, and each one has its own stopping condition written into the generated script. The flow modes page prints the real code for all four, plus drill-down into detail pages.
Can it scrape results behind a search form, or only pages I can reach by URL?
It scrapes the page in front of you, then walks onwards by following a link you pick, scrolling, or clicking a load-more button. If you can navigate to the results in Chrome, you can pick them, and the exported script starts from that results URL. Driving the search form itself, typing a query and submitting it, is something you would add to the exported script, and it is ordinary Playwright work.
What happens when the site changes and the scraper stops working?
You edit a string. Every selector lives near the top of the exported file: one for the repeating item, one per column inside extract_item, and one for the next link or load-more button. Re-picking in the panel and exporting again works too, and is quicker when several things moved at once. The annotated walk-through shows where each one is.
Can Scrapejig run my scrapes on a schedule?
No. There are no scheduled runs, no cloud scraping, no recipe sharing and no team accounts, in any tier. What you get is an ordinary Python file, so putting it on a schedule is a line in cron or a task in Windows Task Scheduler, running on your own machine.
Can it scrape a site behind a cookie banner or a login?
Often, and the generated file carries the fix for both in a comment inside main(). A headless browser starts with a profile that has agreed to nothing, so plenty of sites cover the page with a consent overlay that swallows every click, and a login-gated site never shows the content at all. Record a session once with Playwright's codegen, change one line, and every run reuses it. It is not a guarantee against every bot check, and the script says so on standard error when it meets one.
Does it run in Edge, Brave, Arc or Opera?
It is built for Chrome 120 and up and distributed through the Chrome Web Store. Chromium browsers that support Manifest V3 side panels and can install from the Web Store generally run it, but Chrome is the only browser it is tested in and the only one supported.
Windows, Mac or Linux?
The extension runs wherever Chrome does. The exported script runs wherever Python 3 and Playwright do, which is all three; its setup comment gives the Windows py launcher form alongside python3. Nothing in the generated file is specific to an operating system.
How is this different from Web Scraper.io?
Their free browser extension runs the scrape itself, with nothing else installed on your machine. Scrapejig does not run scrapes at all: it writes you a Playwright script in Python, and you run that. The comparison page covers both sides fairly, including the cases where theirs is the better answer.
How is this different from Instant Data Scraper?
Instant Data Scraper is free and guesses the table on the page for you, then hands you an Excel or CSV file of that one crawl. Scrapejig makes you click the fields, then writes a Python script that fetches them again whenever you run it. The comparison page covers both sides fairly, including its publisher's privacy policy and the cases where theirs is the better answer.
Is there a tutorial for my job?
Four so far, each a complete Playwright script you can run for free, followed by the file Scrapejig exports for the same page: scraping an infinite scroll page with Playwright, exporting an HTML table from a website to CSV, scraping product prices to CSV, scraping a paginated listing, with drill-down into detail pages.