Skip to main content

Reqon

Declarative DSL for fetch, map, validate pipelines

Why Reqon?

Stop writing boilerplate. Start building data pipelines.

📝

Declarative syntax

Write clean, readable pipelines that describe what you want, not how to do it. Reqon handles pagination, retries, and error handling automatically.

Built-in best practices

Automatic pagination, exponential backoff, rate limiting, circuit breakers, and incremental sync are all built in. No boilerplate required.

🔐

Multiple auth methods

Support for OAuth 2.0, Bearer tokens, API keys, and Basic auth. Automatic token refresh for OAuth flows.

📋

OpenAPI integration

Load OpenAPI specs for type-safe API calls. Validate responses against schema definitions automatically.

💾

Flexible storage

Store data in memory, files, SQL (via PostgREST/Supabase), or NoSQL. Create custom adapters for any backend.

🚀

Production ready

Built-in scheduling with cron and intervals. Run as a daemon with health checks, metrics, and graceful shutdown.

Declarative data pipelines

Define what you want to happen, not how. Reqon handles pagination, retries, rate limiting, and error handling automatically.

  • Automatic pagination with offset, page, or cursor strategies
  • Built-in retry with exponential backoff
  • Incremental sync with checkpoint tracking
  • Pattern matching for error handling
Learn the syntax
sync.vague
mission SyncCustomers {
source API { auth: bearer, base: "https://api.example.com" }
store customers: file("customers")

action Fetch {
get "/customers" {
paginate: offset(page, 100),
until: length(response) == 0,
since: lastSync
}

for customer in response {
map customer -> Customer {
id: .id,
name: .name,
email: lowercase(.email)
}
store customer -> customers { key: .id, upsert: true }
}
}

run Fetch
}