Ask in plain English.The SQL arrives scheduled.
Point the model your company already pays for at the database you already run. It reads the schema, writes the query and proposes the time and the timezone — you review it and apply. From there DataRunner runs it, formats it and delivers it by email, WhatsApp, Telegram or webhook.
Coming from PopSQL? Your queries move over in minutes.
PopSQL is in limited support — no new features, and a shutdown postponed with no new date. Zip your Git sync folder and import it: queries land in the same folders, and {{variables}} become :variables bound as parameters.
Free plan, no time limit, no card.
- 01
Imports what you had
A Git sync folder or a single .sql, with a preview before anything is created. Liquid conditions ({% if %}, {% case %}) keep working.
- 02
The same way of working
Editor with autocomplete, live team editing, variables, folders, comments, charts, dashboards and the Explorer role.
- 03
And then some
Scheduled delivery over WhatsApp, Telegram, Teams and webhooks too, database and server monitoring, and your own AI provider with your own key.
Runs on the database you already have
TLS on the wire, credentials encrypted at rest with AES-GCM.Six more connect for availability checks only.
Email, WhatsApp, Telegram, Slack, Discord, webhook, PagerDuty and Opsgenie.
Claude, GPT and Gemini, with your own key — no model of ours in the middle.
On Business. 60s on Team, 2 min on Pro, 5 min on Solo.
How it works
From a sentence to a delivered report, with no step that needs an engineer.
The step that used to need SQL now has someone to write it. You still review everything before it applies — the model proposes, the product only runs what was approved.
Ask
Connect Claude, GPT or Gemini with your own key. The model reads the schema of the connection and hands back the query, the cron expression, the timezone and a name for the report; when the request is about operations, it hands back the monitor and the alert route instead. Always as a proposal — nothing exists until you tick the box.
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.
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.
Reports
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.
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.
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.
Marketing
Plan campaigns, follow sends in progress and inspect completed delivery with audience, delivery rate and failures in one board.
And also
What else is in the box.
None of this is a separate module or a separately sold product: they are screens in the same console, over the same connections. Nearly all of it is limited by volume — how many, how often, for how long. There are four exceptions, and they are named where they appear: pipelines, API keys and alert routes with on-call start on Team; the audit log, on Business.
Data
- Catalogue
- The schema read from the connection, with your description on every column — which comes back in editor autocomplete and in search.
- Metrics
- Define "revenue" once. Write {{metric:revenue}} in any query and it expands there — report, dashboard and one-off query all give the same answer.
- Quality
- Freshness, nulls, uniqueness and row counts tested on every run. When one fails, your webhook hears about it.
- Notebooks
- SQL cells in order with the result beside each one. For digging; whatever earns its keep becomes a saved query.
Automation
- Dashboards
- Panels of saved queries in thirteen shapes — from table and number to scatter, heatmap, treemap and funnel. A public link with password and expiry, or an iframe for the wall screen.
- Pipelines
- Queries chained together with their own cron and timezone, each step saying what to do if it fails: stop the rest or carry on. Team and up.
- Syncs
- The result copied outward on a schedule: webhook, Google Sheets or Slack — always after column masking.
- Insights
- Query latency, failure trend, a heatmap of runs and server pressure, in one place.
People
- Contacts and lists
- Fields you invent, spreadsheet import, segments by filter, and unsubscribes scoped to a workspace or to one list.
- Campaigns
- Email with your own template, variables filled per recipient, and delivery followed live.
- Sequences
- Steps with a wait between them — "two days after the last one" — triggered by hand, by a form or through the API.
- Forms
- A public page with a captcha that becomes a contact and joins a list by itself. The embed HTML comes ready.
Operations
- Monitors and hosts
- HTTP, TCP, DNS, certificate, database and heartbeat; plus CPU, memory and disk from servers, through a push-only agent.
- On-call and routes
- Who gets paged, on which channel, in what order, escalating on delay. Incidents open and close themselves on every plan; routes with an on-call rotation start on Team.
- Status pages
- The public page that answers before anyone asks, fed by the same monitors.
- Governance
- Roles with per-resource permissions, passkeys, 2FA and column masking — on every plan, the free one included. The exportable audit log is Business.
In 90 seconds
Every data team builds the same path — query, spreadsheet, email, repeat. Here it comes already built.
From connection to the first delivered report, uncut — and all by hand. It is the same path the assistant walks for you, so you can see there is no magic in the middle.
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.
One person, one database. No expiry date.
- 1 user · 1 connection
- 3 schedules · 500 queries/month
- 500 e-mails/month · 5,000 rows per query
- 1 monitor · 1 host
- Checks every 5 min
- 100 contacts · 2 dashboards
- 14 days of history
- 30 included AI requests/month · 100 e-mails without your own provider
or $190/year (2 months free)
Up to three people and a few databases.
- 3 users · 5 connections
- 20 schedules · 3,000 queries/month
- 5,000 e-mails/month · 50,000 rows per query
- 5 monitors · 5 hosts
- Checks every 2 min
- 1,000 contacts · 10 dashboards
- 90 days of history
- 300 included AI requests/month · 1,000 e-mails without your own provider
or $490/year (2 months free)
A whole team running on data.
- 10 users · 25 connections
- 100 schedules · 50,000 queries/month
- 50,000 e-mails/month · 1,000,000 rows per query
- 50 monitors · 25 hosts
- Checks every 60 s
- 10,000 contacts · 25 dashboards
- 1 year of history
- 1,500 included AI requests/month · 5,000 e-mails without your own provider
- Everything in Pro, plus API keys, pipelines and alert routes with on-call
Scale, governance and audit. Priced for your volume.
- 50 users · 100 connections
- 500 schedules · 500,000 queries/month
- 500,000 e-mails/month · 10,000,000 rows per query
- 500 monitors · 250 hosts
- Checks every 15 s
- 100,000 contacts · 200 dashboards
- 3 years of history
- 5,000 included AI requests/month · 20,000 e-mails without your own provider
- Everything in Team, plus audit logs and priority support
Billed in US dollars through Stripe — monthly, or yearly as one payment with two months free. In Brazil the same plans are billed in reais; the checkout picks the currency from where you are. Change or cancel your plan whenever you like. Business is quoted per company and invoiced — talk to us.
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, Slack, Discord, webhook, PagerDuty and Opsgenie. It also monitors HTTP endpoints and servers, opens and closes incidents, and publishes public status pages.
I use PopSQL. Can I move to DataRunner?
Yes. PopSQL is in limited support: no new features, and the shutdown it announced for September 1, 2026 was postponed with no new date. Zip the folder its Git sync wrote (or upload a single .sql) and import it under Settings → Import: each file becomes a query in the same folder, {{variables}} become :variables bound as parameters, and Liquid conditions ({% if %}, {% unless %}, {% case %}) keep working. Team editing with live collaboration, variables, dashboards, scheduled delivery and two-way Git sync are all there. Running dbt Core projects is not supported yet.
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?
Four plans, billed monthly through Stripe: Solo at $0, Pro at $19, Team at $49, and Business priced on request. Billed in US dollars, or in Brazilian reais (R$ 79 and R$ 197) for cards issued in Brazil. 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 Solo plan is one user and one connection, with 3 schedules, 500 queries per month, 1 monitor, 1 host, a 5-minute check interval and 14 days of history — with webhooks, export, failure alerts and column masking. No credit card is required to start.
How are reports delivered?
Reports go out as CSV, Excel (XLSX), PDF or inline HTML over eight channels: email, WhatsApp (Meta Cloud API), Telegram, Slack, Discord, signed webhooks, PagerDuty and Opsgenie. WhatsApp is still in beta. Delivery rules can skip a run that returned no rows or escalate when a result crosses a threshold.
Does the AI really write the SQL? How does it work?
Yes. You connect Claude, GPT or Gemini with your own key under Settings → Integrations — we do not resell models or bundle one of our own, so usage is billed to you by the provider directly. The model reads the schema of the connection you picked and returns the query; when your request says when it should run, it also returns the cron expression, the timezone for that schedule and a name for the report. Operational requests ("tell me if the portal goes down, on Slack") come back as a monitor and an alert route. All of it arrives on screen as a proposal: nothing is created until you approve it item by item.
What does DataRunner send to the AI model?
Your request and the structure of the database — table names, column names and types, plus any descriptions you wrote in the catalogue. Rows from your data are not sent. The call goes from our server to the provider you connected, with your key, and the reply is not retained beyond the query you choose to save. The assistant is optional: with no key connected the whole product works exactly the same, with you writing the SQL.
Is DataRunner a BI or ETL tool?
Neither, though it touches both. There are dashboards — panels of saved queries drawn as table, number, line, bar or pie, with public links — but no drag-and-drop chart builder: a widget is always fed by a SQL query. And there are pipelines and syncs, which chain queries and copy the result to a webhook, Google Sheets or Slack — but no warehouse-to-warehouse transformation and no dimensional modelling. That is the line: it reads from the database you already have and takes the result to where the people are.
How does DataRunner protect my database credentials?
Connection credentials and channel configuration are encrypted at rest with AES-GCM, and the key does not live in the same table. Traffic uses TLS between you and the service, and between the service and your database when the server offers it. Access is controlled by roles with per-resource permissions, passkeys and two-factor auth, and column policies mask sensitive fields for roles that should not see them.
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 say what you want to see.
The model writes the query and proposes the time and the timezone. You approve. The rest is ours.