Skip to main content

What is Griffin?

Griffin is an open-source platform for writing API monitors in TypeScript and running them continuously against your production APIs. Write monitors as code, deploy them to a hub, and get notified when things break.

Get started

Write and run your first API monitor in minutes.

Key Features

TypeScript DSL

Write monitors using sequential or graph-based builders with full type safety and IDE autocomplete.

Continuous Monitoring

Schedule monitors to run every minute, hour, or day. Track success rates, latency, and uptime.

Multi-Location Execution

Run monitors from multiple regions to catch geographic issues.

Notifications

Get alerted via Slack, email, or webhooks when monitors fail or degrade.

Secret Management

Built-in support for env vars, AWS Secrets Manager, and HashiCorp Vault.

Cloud or Self-Hosted

Use Griffin Cloud for a managed experience, or self-host for full control.

Quick Example

import { createMonitorBuilder, GET, Json, Assert, Frequency } from "@griffin-app/griffin";

const monitor = createMonitorBuilder({
  name: "health-check",
  frequency: Frequency.every(1).minute(),
})
  .request("check", {
    method: GET,
    base: "https://api.example.com",
    response_format: Json,
    path: "/health",
  })
  .assert((state) => [
    Assert(state["check"].status).equals(200),
    Assert(state["check"].latency).lessThan(2000),
  ])
  .build();

export default monitor;

Learn More

Installation

Install the Griffin CLI.

Architecture

Understand how Griffin works.

CLI Reference

See all CLI commands.

API Reference

Explore the Hub REST API.