Skip to Content
⚠️Active Development Notice: TimeTiles is under active development. Information may be placeholder content or not up-to-date.
DevelopmentPackagesScraper SDK (Node.js)

Scraper SDK (Node.js)

SDK for building TimeTiles scrapers in JavaScript and TypeScript. Provides type-safe CSV output and project scaffolding.

npm: @timetiles/scraper

Install

npm install @timetiles/scraper

Scaffold a New Project

The CLI generates a ready-to-run scraper project:

npx @timetiles/scraper init my-scraper npx @timetiles/scraper init my-scraper --runtime node

Usage

import { output } from "@timetiles/scraper"; const events = await fetchEvents(); for (const event of events) { output.writeRow({ title: event.name, date: event.date, location: event.venue }); } output.save(); console.log(`Wrote ${output.rowCount} events`);

TypeScript Support

Use generics on OutputWriter for type-safe row schemas:

import { OutputWriter } from "@timetiles/scraper"; interface Event { title: string; date: string; location: string; url: string; } const writer = new OutputWriter<Event>(); writer.writeRow({ title: "Concert", date: "2026-02-01", location: "Berlin", url: "..." }); writer.save("events.csv");

API

output (singleton)

Method / PropertyDescription
output.writeRow(row)Append a row. Headers are auto-detected from the first row.
output.writeRows(rows)Append multiple rows at once.
output.save(filename?)Write CSV to disk. Default filename: data.csv.
output.rowCountNumber of rows written so far.
output.toCsvString()Return CSV content as a string (useful for debugging).

OutputWriter<T> (class)

Create custom instances with a typed schema:

const writer = new OutputWriter<MySchema>(outputDir);

Environment

VariableDefaultDescription
TIMESCRAPE_OUTPUT_DIR/outputOutput directory for CSV files. Set automatically inside TimeTiles containers.
Last updated on