Skip to main content

ScrapStation — Source Configuration Guide

ScrapStation is driven entirely by YAML configuration files. Each file describes one source — a website you want to browse and download from. You write the config; the engine does the rest.

There is no code to write. Everything from scraping game listings, rendering detail pages, handling authentication, resolving download links across dozens of file hosters, and presenting a custom settings UI — all of it is expressed in YAML.


How it works

  1. Drop a .yaml file into your Sources Folder (Settings → Open Sources Folder), or drag-and-drop it directly onto the app window
  2. The source list reloads automatically — no restart needed
  3. Your source appears in the sidebar immediately

One file = one source. The filename must match the id field inside it.

sources/
mysite.yaml ← id: mysite
anothersite.yaml ← id: anothersite

Anatomy of a config

Every config is divided into independent sections. You only include what you need.

┌─────────────────────────────────────────────────────┐
│ IDENTITY name, id, type, base_url, ui │
│ URLS browse, paginate, search endpoints │
│ RATE LIMIT throttle requests politely │
│ SELECTORS CSS selectors for HTML sources │
│ JSON PATHS JSONPath for API sources │
│ FIELD MAPPING map scraped keys → standard fields │
│ TRANSFORMATIONS clean / normalize field values │
│ METADATA extract structured data from text │
│ TAGS badge rules for game cards │
│ DETAIL PAGE layout of the game detail view │
│ SETTINGS UI per-source settings panel in app │
│ AUTHENTICATION login flow via WebView or cookies │
│ HOSTS smart download for file hosters │
│ LINK RESOLUTION resolve redirect / obfuscated URLs │
│ NAVIGATION PATHS complex multi-step link resolution │
│ NOTICES one-time popup modals for users │
└─────────────────────────────────────────────────────┘

TopicWhat it covers
Getting StartedYour first working source in 5 minutes
Identity & UIRequired fields, icons, colors
URLs & PaginationBrowse, paginate, search
HTML SelectorsCSS selectors, field extraction
JSON APIJSONPath-based API sources
Field MappingMap scraped data to standard fields
TransformationsClean and reshape field values
Metadata ExtractionParse structured data from text
TagsConditional badges on game cards
Detail PageSection-based game detail layout
Settings UIBuild a custom settings panel
AuthenticationLogin flows, cookies, WebView sessions
HostsSmart download for file hosters
Link ResolutionResolve redirect chains
Navigation PathsMulti-step programmatic navigation
NoticesOne-time popup modals shown to users