Scout

TypeScript SDK

Official Node.js / TypeScript client for Macro Scout — auth, typed calls, errors, job polling, and webhook signature helpers.

bash
pnpm add @macrocontent/scout

Quick start

example.ts
import { Scout } from '@macrocontent/scout'

const scout = new Scout({ apiKey: process.env.SCOUT_API_KEY! })

const shot = await scout.screenshot({
  url: 'https://example.com',
  mode: 'viewport',
})
// shot.buffer — ArrayBuffer (jpeg by default)

What it covers

  • Authorization: Bearer (or pass your key once in the constructor)
  • Methods for assert, screenshot, inspect, crawl, journey, checks, facts, jobs
  • ScoutError with code / retryable
  • waitForJob(id) polling helper
  • verifyWebhookSignature(…) for job webhooks
CLI
Prefer the terminal? @macrocontent/scout-cli wraps this SDK.

Assert example

assert.ts
const result = await scout.assert({
  url: 'https://example.com/pricing',
  dismiss_cookie_banner: true,
  assert: [
    { selector: '#buy', visible: true },
    { selector: '.price', contains: '29' },
    { selector: 'img.hero', count: 1 },
  ],
})

if (!result.passed) {
  console.error(result.results)
  process.exit(1)
}