Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

ScraperNode/sheets-plugin

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Weld Scraper — Google Sheets Add-on

A Google Sheets add-on that lets users trigger Weld scrapers and write results directly into spreadsheets.

Setup

Prerequisites

  • clasp installed globally: npm install -g @google/clasp
  • A Google account with Apps Script access
  • A Weld API key (from the Weld dashboard → Settings → API Keys)

Development

  1. Login to clasp:

    clasp login
  2. Create a new Apps Script project (bound to a test spreadsheet):

    cd packages/sheets-plugin
    clasp create --type sheets --title "Weld Scraper Dev"

    This updates .clasp.json with your script ID.

  3. Push code to Google:

    clasp push
  4. Open the script editor (to verify):

    clasp open
  5. Test in a spreadsheet:

    • Open the spreadsheet bound to the script
    • Refresh the page — a "Weld" menu appears
    • Click Weld → Open Sidebar

Watch mode

clasp push --watch

Automatically pushes on file changes.

Architecture

src/
├── Code.gs           # Menu, onOpen, sidebar launchers
├── Auth.gs           # API key storage & validation
├── Api.gs            # Weld REST API client (UrlFetchApp)
├── SheetWriter.gs    # Write scrape results to sheet tabs
├── Sidebar.html      # Main sidebar UI (scrape form, progress, results)
└── Setup.html        # Settings/API key configuration screen

How it works

  1. User opens the sidebar and enters their Weld API key
  2. User selects a scraper, pastes URLs (or loads from selected cells)
  3. Clicking "Start Scrape" calls POST /api/jobs/create via UrlFetchApp
  4. The sidebar polls GET /api/jobs/get every 4 seconds (client-side polling avoids the 6-minute GAS execution limit)
  5. On completion, SheetWriter.gs fetches results and writes them to a new sheet tab

API endpoints used

Method Endpoint Purpose
GET /api/scrapers List available scrapers
POST /api/jobs/create Create a scrape job
GET /api/jobs/get Poll job status
GET /api/jobs/results Fetch completed results
GET /api/jobs List job history
GET /api/credits/balance Show credit balance

Publishing

To publish to the Google Workspace Marketplace:

  1. Create a standard GCP project
  2. Switch the Apps Script project to use it
  3. Enable the Marketplace SDK
  4. Configure OAuth consent screen
  5. Create a versioned deployment in Apps Script
  6. Submit for Google review

See Google's publishing guide for details.

Scopes

The add-on requires these minimal OAuth scopes:

  • spreadsheets.currentonly — Read/write only the current spreadsheet
  • script.external_request — Make HTTP requests to the Weld API

About

Google Sheets add-on for Weld scrapers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.