One sentence in. A dataset out.
Four steps. The first two are free.
Free · no signup, no card
Pay once, from $12.99
Say what it should show.
Each phrase becomes a rule that holds across every row.
“5,000 SaaS customers. Monthly plans churn 3× more than annual.”
Each plan gets its own churn rate, and the gap holds in every file.
See 20 rows before you pay.
Change a word, preview again. Still free.
5,000 SaaS customers on Monthly, Annual and Enterprise plans. Monthly plans churn more than annual.
In these 20 rows: Monthly 30% churned · Annual 14% · Enterprise 0%
| customer_id | company | plan | seats | monthly_spend | churned |
|---|---|---|---|---|---|
| C-1042 | Pellow Analytics | Monthly | 3 | $89 | yes |
| C-1043 | Brightwater Ltd | Annual | 40 | $948 | no |
| C-1044 | Kestrel Freight | Monthly | 8 | $236 | no |
| C-1045 | Northgate Insurance | Enterprise | 310 | $6,480 | no |
| C-1046 | Orchard Studio | Monthly | 2 | $61 | yes |
| C-1047 | Fenwick & Hale | Annual | 22 | $534 | no |
| C-1048 | Lumen Dental | Monthly | 5 | $142 | no |
| C-1049 | Tidewell Co | Monthly | 11 | $327 | yes |
| C-1050 | Marlow Print | Annual | 15 | $352 | yes |
| C-1051 | Ridgeway Tutors | Monthly | 1 | $29 | no |
| C-1052 | Halden Systems | Enterprise | 185 | $3,902 | no |
| C-1053 | Oakridge Legal | Annual | 34 | $821 | no |
| C-1054 | Corvid Games | Monthly | 6 | $171 | no |
| C-1055 | Quayside Foods | Annual | 58 | $1,377 | no |
| C-1056 | Tamsin Bakery | Monthly | 4 | $118 | no |
| C-1057 | Ashby Motors | Enterprise | 420 | $8,795 | no |
| C-1058 | Birch Lane Clinic | Annual | 12 | $291 | no |
| C-1059 | Saltmarsh Media | Monthly | 9 | $259 | no |
| C-1060 | Ferro Works | Annual | 27 | $655 | no |
| C-1061 | Clearpath Travel | Monthly | 7 | $206 | no |
The pattern holds at any size.
Churn by plan, generated three times. Twenty rows wobble; big runs hold.
20 rows
Free preview
10,000 rows
$12.99 one-time
1,000,000 rows
$249.99 one-time
1,000 to 1,000,000 rows per run. Also 50,000 for $24.99 and 200,000 for $59.99. See pricing
Open it anywhere.
Download a file, or call it as an API.
- ExcelXLSXCSV
- Power BICSVXLSXParquet
- TableauCSVXLSXJSON
- PythonParquetCSVJSONL
- RCSVTSVParquet
- SQLSQLCSV
All 8 formats
CSVXLSXJSONJSONLParquetSQLTSVXML
GET /api/v1/datasets/shop/customers/8/orders
Real values, with sources.
Codes and ranges looked up on the web, each one cited. Never real people.
- Off until you turn it on. Your sentence becomes a few web searches, and you see which ones ran.
- It shapes the columns, not the rows. Which codes exist and which ranges are plausible; the rows are still generated.
- Kept with the dataset. Findings and sources stay on its page, ready for a methods section.
digital.nhs.ukWhich codes appear in admissions
who.intThe official ICD-10 titles
| I50.9 | Heart failure, unspecified | 12 |
|---|---|---|
| I50.1 | Left ventricular failure | 12 |
| I11.0 | Hypertensive heart disease with heart failure | 12 |
| I13.0 | Hypertensive heart and renal disease with heart failure | 12 |
Tables that join.
Ask for customers, their orders and the items in each. Every key resolves.
customers40,000 rows
- customer_id key
- company
- plan
- country
orders128,412 rows
- order_id key
- customer_id → customers
- ordered_on
- total
order_items431,908 rows
- item_id key
- order_id → orders
- product
- qty
128,412 of 128,412 orders have a customer · 431,908 of 431,908 items have an order
Not just parent and child
- Many-to-many
- Subtypes
- Trees
- Two keys, one parent
- Polymorphic keys
- Attribute tables
- Mutual keys
One table per file
SQL inserts come in dependency order, so they load first time.
- shop.zip
- customers.parquet
- orders.parquet
- order_items.parquet
- seed.sql
Or an API that walks the links
Follow one customer to their orders from any front end.
# one customer
GET /api/v1/datasets/shop/customers/8
# then their orders
GET /api/v1/datasets/shop/customers/8/ordersFor developers
Or straight into your database.
Postgres or SQLite. It reads the schema, fills tables in order, and undoes on request.
- Drop in a SQLite file up to 200 MB and get it back with the rows in it.
- Connect Postgres by connection string. Credentials are encrypted at rest and never logged.
- Or run the CLI beside it, and the credentials never leave your machine.
Every database is confirmed non-production before it is saved, and only tables you put in scope are touched.
Connect a dev database- 01Read the schemaTypes, enums, keys
- 02Dry runThen rolled back
- 03Write in batchesOne savepoint each
- 04UndoOnly this run’s rows
shop.customers40,000
shop.orders128,412
shop.order_items431,908
600,320 rows · 3 tables · every key resolved