โ† All guides

When your fake data needs a backend (Mockaroo alternative)

Mockaroo is the gold standard of test-data generators, and this guide starts by saying so: 150+ field types (localized names, geo coordinates, regex patterns, custom formulas), output as CSV, JSON, SQL inserts, Excel or XML, and you can download files from the browser without even signing up. If your job is "produce a big file of realistic rows", keep using Mockaroo โ€” we won't pretend to match that catalogue.

The walls show up when the data needs to live somewhere (all verified against Mockaroo's official docs and pricing page, July 2026):

Mockaroo does have a Mock APIs feature (custom URLs, request-parameter handling, simulated errors โ€” genuinely useful), but it shares the free plan's request cap, and responses come from your schema definitions rather than a datastore you can write to. The moment the fake data has to act like a database behind an API โ€” create, edit, delete, filter, and still be there tomorrow โ€” you want a different shape of tool.

Try it in 10 seconds (no signup)

Mockbird's public demo is a live, persistent mock API โ€” and since spreadsheets are the lingua franca here, it speaks CSV both ways:

curl 'https://HOST/m/demo/products?limit=3'                # JSON, like any API
curl 'https://HOST/m/demo/products?mock_format=csv&select=name,price,inStock'
# id,name,price,inStock
# 1,Team Month,155.82,true
# 2,Light Stone Life House Work,250.62,true
# ...

Already have a Mockaroo CSV? One curl makes it a live API

This is the migration path: generate your rows in Mockaroo (their generators are better than ours โ€” use them!), then host the result here. Take any CSV โ€” this one uses Mockaroo's default columns:

curl -X POST 'https://HOST/api/projects/import?resource=people&name=my-api' \
  -H 'content-type: text/csv' --data-binary @MOCK_DATA.csv
# โ†’ {"id":"abc123","adminKey":"KEY",
#    "baseUrl":"https://HOST/m/abc123",
#    "resources":[{"name":"people","records":1000, ...}]}

Every row is now a typed record behind a real endpoint โ€” columns are type-sniffed (numbers stay numbers, booleans stay booleans, zero-padded codes stay strings), your id column is preserved, and all of this works immediately:

curl 'https://HOST/m/abc123/people?last_name_like=hop'   # substring filter
curl 'https://HOST/m/abc123/people/1'                    # a single row, by id
curl -X POST 'https://HOST/m/abc123/people' \
  -H 'content-type: application/json' \
  -d '{"first_name":"Alan","last_name":"Turing","email":"alan@example.com"}'
# โ†’ persisted with the next id; GET it back tomorrow, it's still there

curl 'https://HOST/m/abc123/people?mock_format=csv'      # full round-trip: CSV back out

Sorting (?_sort=last_name), pagination (?_page=2&_limit=50), full-text search (?q=turing), range filters (?salary_gte=100000), GraphQL, types.ts/Zod/OpenAPI/Postman exports โ€” all included, all free. Up to 1,000 records per collection (a familiar number, except ours is a storage limit on a live API, not a per-download cap โ€” and you get 10,000 requests/day against it).

Prefer a UI? The dashboard's import panel takes a pasted or picked CSV file โ€” no terminal involved.

No CSV yet? Seed realistic data directly

curl -X POST https://HOST/api/projects \
  -H 'content-type: application/json' -d '{"preset":"ecommerce"}'
# โ†’ products, orders, customers, reviews โ€” seeded and live in one call

Or define your own schema with our ~40 field types (names, emails, prices, dates, UUIDs, cities, enum-style oneOfโ€ฆ). It's a fraction of Mockaroo's catalogue โ€” but each seeded collection is a persistent, writable API from the first second.

Mockaroo concept โ†’ Mockbird

MockarooMockbird
Schema (field list + types)Resource with fields (or a preset / CSV import that infers them)
Download 1,000-row fileGET /people?mock_format=csv โ€” same file shape, from live data, any time
Generate API (X-API-Key, 200 req/day free)Every project URL, no key, 10,000 req/day
Mock APIs: custom URLsCustom routes with templating ({{params}}, {{now}}, {{uuid}})
Mock APIs: simulated errors?mock_status=500, ?mock_delay=2000, ?mock_chaos=0.3 on any endpoint
Datasets (upload for lookups)CSV / JSON / db.json / HAR / Postman / OpenAPI import โ€” rows become records verbatim
โ€” (no persistence)POST/PUT/PATCH/DELETE persist; snapshots save/restore whole datasets
โ€” (no auth simulation)Mock JWT login against your seeded users

Honest comparison

Mockaroo (free)Mockbird
Field-type catalogueโœ” 150+, localized, regex, formulas~40 types
Output formatsโœ” CSV, JSON, SQL, Excel, XMLJSON, CSV, db.json + OpenAPI/Postman/TS/Zod schema exports
Rows1,000/file (100k at $60/yr)1,000 stored records per collection, free
API requests200/day, signup + API keyโœ” 10,000/day per project, no signup, no key
Data persists behind a URLโœ˜ (files / per-request generation)โœ” it's a live datastore
CRUD writesโœ˜โœ” persisted, webhooks fire, inspector logs them
Filter / search / sort / paginateโœ˜ (you get what you generated)โœ” any field, ranges, substring, full-text
GraphQLโœ˜โœ” same data, typed schema
Self-hostdocker image at $7,500/yr (Enterprise)eject anytime: db.json export โ†’ npx json-server

Fair is fair: for generating a file of rich, localized, formula-derived fake data, Mockaroo wins and it isn't close. Use us when those rows need to sit behind a URL and behave like your future backend. The two compose nicely โ€” Mockaroo generates, Mockbird hosts.

This page is written by the Mockbird maker โ€” bias disclosed. Mockaroo facts (1,000 rows/file free, 200 API requests/day, X-API-Key requirement, $60/$500/$7,500 yearly tiers, 1x vs 8x speed) taken from mockaroo.com's official pricing and docs pages, July 2026 โ€” check them for current numbers. Every Mockbird command above was run against production before publishing.

More guides: CSV โ†’ REST API in one curl ยท randomuser.me alternative ยท host any JSON as an API. Create your API โ†’