Piggy Quick Start β
Get your first scraper running in under 5 minutes.
Prerequisites β
- Bun β₯ 1.0 installed (or Node.js β₯ 18)
- Nothing Browser binary (see below)
Installation β
bash
bun add nothing-browserDownload the Binary β
Download the Nothing Browser binary for your platform from GitHub Releases.
For most scraping tasks, use headless.
| Platform | Headless Binary |
|---|---|
| Linux | nothing-browser-headless-*-linux-x86_64.tar.gz |
| Windows | nothing-browser-headless-*-windows-x64.zip |
| macOS | nothing-browser-headless-*-macos.tar.gz |
Linux / macOS (Simple) β
bash
# Extract
tar -xzf nothing-browser-headless-*-linux-x86_64.tar.gz
# Make executable
chmod +x nothing-browser-headless
# Place in your project rootWindows (Custom Path) β
Extract the zip to a folder named brow in your project root:
C:\my-scraper\
βββ brow\
β βββ nothing-browser-headless.exe
βββ index.tsYour First Scraper β
Create scrape.ts:
ts
import piggy from "nothing-browser";
await piggy.launch({ mode: "tab", binary: "headless" });
await piggy.register("books", "https://books.toscrape.com");
await piggy.books.navigate();
await piggy.books.wait.selector({ selector: ".product_pod", state: "attached" });
const books = await piggy.books.evaluate(() =>
Array.from(document.querySelectorAll(".product_pod")).map(el => ({
title: el.querySelector("h3 a")?.getAttribute("title") ?? "",
price: el.querySelector(".price_color")?.textContent?.trim() ?? "",
}))
);
console.log(`Found ${books.length} books:`);
console.log(books.slice(0, 5));
await piggy.close();Run It β
bash
bun run scrape.tsNext Steps β
- Core Concepts β Launch, register, connect
- Find API β Query DOM elements
- Provide API β Extract structured data
- API Server β Turn your scraper into a REST API
Nothing Ecosystem Β· Ernest Tech House Β· Kenya Β· 2026