Skip to main content

Quick Start

In the next 10 minutes you'll have two fully-working desktop tools:

1. Stock-Price Scraper – Enter a ticker (e.g. AAPL) and get the live price from Yahoo Finance.
Stock Scraper Demo

2. Amazon PDF-Invoice Extractor – Drag-and-drop an invoice PDF and extract GST No, Document No, Date and Place of Supply, etc.
PDF Extraction Demo

Both extractors share the same desktop shell, so once you build one, you already know how to build the otherβ€”and the next one you have in mind.

πŸ‘¨β€πŸ’» Project Setup β€” Clone, Install, Run​

1️⃣ Clone the Magic πŸ§™β€β™€οΈ:

git clone https://github.com/omkarcloud/botasaurus-desktop-starter my-botasaurus-app
cd my-botasaurus-app

2️⃣ Install Packages πŸ“¦:

npm install

3️⃣ Launch the Desktop App πŸš€:

npm run dev

A window opens with a heading scraper ready to test. Let's explore what you just launched.

πŸ‘€ Touring the Starter App​

The starter app demonstrates all the core features through a simple heading scraper:

1. Home (Input)

  • Enter any URL and click Run – the demo scraper grabs the page’s first <h1>.
    Input Form

2. Results

  • See the data returned by the task.
  • Export to CSV / XLSX / JSON.
    Results Table

3. Tasks

  • This Page shows all tasks you've started.
  • Abort or delete any task.
    Output Page

4. About

  • Renders your project’s README.md, servers as app docs.
    About Page

πŸ“‚ Project Structure at a Glance​

Before we build our extractors, here's a simplified view of the key files you'll work with:

my-botasaurus-app/
β”œβ”€ assets/ ← Icons for the installers
β”œβ”€ inputs/
β”‚ └─ scrapeHeadingTask.js ← Renders UI controls (one file per extractor)
β”œβ”€ src/
β”‚ └─ scraper/
β”‚ β”œβ”€ backend/
β”‚ β”‚ └─ server.ts ← Central registry – add your scrapers here
β”‚ └─ src/
β”‚ └─ scraper.ts ← Extraction logic (e.g., grab <h1> with Playwright)
β”œβ”€ release/ ← Installers (.exe, .dmg, .deb) after "npm run package"
└─ package.json ← Scripts + build settings

Mental model:

  • inputs/ = UI controls
  • src/scraper/src/ = extraction logic
  • src/scraper/backend/server.ts = add scraper here

Now that you understand the structure, let's build your first Stock-Price Scraper!