Skip to content
Reporting and monitoring on top of your database

The SQL runs itself.The report arrives finished.

Connect your database, write the query, set the schedule. DataRunner runs it, formats it and delivers it by email, WhatsApp, Telegram or webhook — and holds the send when there is nothing worth reading.

No credit cardFree plan with no time limit23 queryable databases
execution cycleevery 15 min
01query

revenue_by_region.sql

02schedule

0 */15 * * * · America/Sao_Paulo

03deliver

email · WhatsApp · webhook

Runs on the database you already have

TLS on the wire, credentials encrypted at rest with AES-GCM.
PostgreSQLMySQLSQL ServerSQLiteMariaDBRedshiftCockroachDBTimescaleDBGreenplumOracleClickHouseBigQueryDuckDBMotherDuckTrinoPrestoElasticsearchIBM Db2FirebirdSnowflakebetaDatabricksbetaAmazon AthenabetaVerticabetaMongoDBRedisCassandraNeo4jInfluxDBDynamoDB
23
Databases that run queries

Six more connect for availability checks only.

4
Delivery channels

Email, WhatsApp Cloud API, Telegram and webhook.

3 years
Run history

On Business. One year on Pro, 30 days on the free plan.

15s
Shortest check interval

On Business. 60s on Pro, 5 min on the free plan.

How it works

Five steps, and the whole path stops being your problem.

No step needs an engineer. The one that needs SQL is the one you already write.

01

Connect

Point at the database you already run. Credentials are encrypted at rest with AES-GCM, the connection is TLS, and on PostgreSQL, MySQL, SQL Server and SQLite the schema loads immediately so you can browse it before writing a line.

TLS/SSLEncrypted credentialsLive schema
connections4 active
connections+ new
postgresanalytics-prodTLS12 ms
mysqlbillingTLS31 ms
clickhouseeventsTLS8 ms
mongodbcatalogTLS19 ms
sqlservererp-mirrorTLS44 ms
schema · analytics-prodpublic
orders18 columns4.2 M
customers11 columns318 k
order_items9 columns19.7 M
credentials encrypted at rest14 engines
02

Query

A real SQL workbench: syntax highlighting, autocomplete from your schema, and parameters in double braces. Run it once, see the result and the estimated cost, and only then put it on a schedule. Every saved version is kept.

AutocompleteParametersVersioning
workbenchrevenue_by_region.sql
1SELECT region,
2 sum(total) AS revenue
3 FROM orders
4 WHERE day >= {{start}}
5 GROUP BY 1
6 ORDER BY 2 DESC
result5 rows · 0.42 s
Sudeste1,284,900
Sul822,140
Nordeste603,775
Centro-Oeste334,020
Norte189,660
parameter start = 2026-08-01export csv · xlsx
03

Schedule

A cron expression and the timezone of that schedule — not the workspace default, that schedule. The history keeps every run, with its duration, row count, and the error when there was one.

CronPer-schedule timezoneRun history
schedulesnext in 04:12
0 */15 * * *|America/Sao_Pauloactive
run historylast 7
09:0012,480 rows1.2 s
08:4512,104 rows1.1 s
08:3011,870 rows1.3 s
08:1511,642 rows1.2 s
08:0011,401 rows1.4 s
07:4511,288 rows1.1 s
07:3011,019 rows1.2 s
timezone set on this schedule1,284 runs
04

Deliver

CSV, Excel, PDF or the table inline in the email; a message on WhatsApp and Telegram; a signed POST to your webhook. Delivery rules decide what actually goes out: skip when the result is empty, escalate past a row threshold.

EmailWhatsApp (beta)TelegramWebhook
deliverieslast 24h
deliveries · last 24 h96 sent
emailfinance@company.comxlsx
emailboard@company.comhtml
whatsapp+55 11 9•••• ••42text
telegram#data-alertstext
webhookPOST /hooks/revenue200 OK
webhookPOST /hooks/bi200 OK
rule: skip send when 0 rowson
2 sends skipped this week0 failures
05

Watch

HTTP endpoint monitors and servers running our own agent, in the same place. When something falls over the incident opens itself, the alert route pages whoever is on call, and the public status page answers before anyone asks.

UptimeIncidentsStatus page
monitors99.98% · 30d
api.company.com99.98%90 d
incidentsstatus.company.com
resolvedlatency above 2 s on /orders18 min
resolvedhost app-02 not responding6 min
resolvedcertificate expires in 12 days
on-call paged automatically2 monitors · 1 host

Plans

Start free. Pay when the volume justifies it.

No per-query charge and no per-row charge. The plan sets volume, not features — every plan gets every connector.

Free
R$ 0/mo

No expiry date.

  • 3 database connections
  • 10 schedules · 1,000 queries/month
  • 3 monitors and 3 hosts
  • Checks every 5 minutes
  • 30 days of history
ProRecommended
R$ 197/mo

For the team that runs on data.

  • 25 connections · 100 schedules
  • 50 monitors · 25 hosts
  • Checks every 60 seconds
  • API keys, pipelines and custom branding
  • 1 year of history
Business
R$ 597/mo

Scale, governance and audit.

  • 100 connections · 500 schedules
  • 500 monitors · 250 hosts
  • Checks every 15 seconds
  • SSO/SAML, SCIM and audit logs
  • 3 years of history

Billed monthly in Brazilian reais (BRL) through Stripe. Change or cancel your plan whenever you like.

FAQ

Questions people ask before starting

Short, exact answers — the same facts an assistant would quote.

What is DataRunner?

DataRunner is a tool for scheduled SQL reporting and infrastructure monitoring. You connect a database, write a query, and attach a schedule; it runs the SQL, formats the result as CSV, Excel, PDF or HTML, and delivers it by email, WhatsApp, Telegram or webhook. It also monitors HTTP endpoints and servers, opens and closes incidents, and publishes public status pages.

Which databases does DataRunner support?

It connects to 29 database kinds. 23 run queries — including PostgreSQL, MySQL, SQL Server, SQLite, MariaDB, Redshift, Oracle, ClickHouse, BigQuery, Snowflake, Databricks and Athena. Six NoSQL engines (MongoDB, Redis, Cassandra, Neo4j, InfluxDB, DynamoDB) are monitored for availability but not queried, because they are not SQL.

How much does DataRunner cost?

Three plans, billed monthly in Brazilian reais through Stripe: Free at R$ 0, Pro at R$ 197, and Business at R$ 597. Every plan includes every connector — the plan sets volume (connections, schedules, monitors, check interval, history), not which features you get.

Is there a free plan?

Yes, and it does not expire. The Free plan includes 3 connections, 10 schedules, 1,000 queries per month, 3 monitors, 3 hosts, a 5-minute check interval and 30 days of history. No credit card is required to start.

How are reports delivered?

Reports go out as CSV, Excel (XLSX), PDF or inline HTML over four channels: email, WhatsApp (Meta Cloud API), Telegram, and signed webhooks. Delivery rules can skip a run that returned no rows or escalate when a result crosses a threshold.

Is DataRunner a BI or ETL tool?

No. There is no drag-and-drop chart builder — you write SQL — and it does not transform pipelines between warehouses. It reads from your database and delivers the result. It is reporting and monitoring, not business intelligence or ETL.

How does monitoring work, and is it safe?

DataRunner checks HTTP endpoints, database health and TLS expiry, and collects CPU, memory, disk and more from servers running a push-only agent. The agent holds no database credentials and accepts no remote command; incidents open and close themselves, alert routes page an on-call rotation, and public status pages show the result.

Where does DataRunner run — browser, desktop, self-hosted?

The web console at console.datarunner.app is the complete product. A desktop app is published for Windows and Linux (macOS is not released yet), and the monitoring agent runs on Windows and Linux, x86-64 and ARM64.

Connect a database and watch the first report go out.

Write the SQL, pick the time, point at a channel. The rest is ours.