A free data storage endpoint for scripts, automations, IoT devices, and AI apps. No database to run, no schema ceremony, CORS enabled.
A remarkable amount of software needs exactly one data operation: save this object somewhere I can find it later. A cron job logging its runs. An experiment script recording results. A browser tool bookmarking pages. An IoT gadget posting sensor readings. An AI agent noting what it did. For every one of these, standing up a database — accounts, schemas, migrations, backups, a VM or a serverless stack — is disproportionate to the value of the data.
FormLM's Data API is the other end of that trade-off. One endpoint per form. POST JSON, get back a record id. Read everything back through a paginated query API. The schema is optional — auto-create fields mean your first submission defines the columns and later submissions can add more. The API documents itself in Markdown at ?help, so even an AI agent can integrate it from a single URL.
# The write path $ curl -X POST https://formlm.me/api/v3/share/YOUR_TOKEN \ -H "Content-Type: application/json" \ -d '{ "data": { "experiment": "batch-04", "accuracy": 0.873, "params": {"lr": 0.001, "epochs": 40} }, "meta": {"source": "train-script"} }' # Response: {"code":200,"data":{"id":"a1b2c3..."}} # The read path — page through every record $ curl https://formlm.me/api/v3/share/YOUR_TOKEN/query?page=1&size=100
Both paths accept flat JSON without the data wrapper, too — whatever is most natural for the caller. Numbers stay numbers, nested objects are preserved, and repeated submissions accumulate as separate records, not overwritten blobs.
Every script run posts its outcome and parameters. Later, the query API turns the log into a results table — no spreadsheet discipline required.
A microcontroller with HTTPS support can POST readings straight to the endpoint. The summary API gives you averages without storing a single row yourself.
Point a third-party webhook at your endpoint and its payloads become queryable records — the fastest way to inspect what a service actually sends you.
Agents log actions and observations as records, then read the query endpoint to recall them. The AI agents guide covers the pattern.
The honest boundary: this is not a transactional database for complex relational queries at high volume. It's a collection endpoint with a read path — brilliant at exactly the jobs above, deliberately not a general-purpose DB. When your stored data outgrows storage and deserves interpretation, the same records flow into FormLM's scoring and reporting engine.
Use a hosted storage API. POST your JSON to a FormLM endpoint and each request becomes a stored record — no database to provision, migrate, or back up. You read the data back through a paginated query API or export it as CSV.
POST to your endpoint with Content-Type application/json. The canonical shape is {"data": {...}, "meta": {...}} — data holds your fields, meta optionally holds source and timestamp — but flat objects without the wrapper are accepted too.
No. With auto-create fields enabled, the keys of your first submission define the columns, and new keys in later submissions are added automatically (up to 50 fields). If you do define fields in FormLM, submissions map onto them by name.
Yes. The query endpoint pages through records (with page and size parameters, up to 1000 per page) and the summary endpoint returns aggregate statistics. Both are enabled per form and document themselves at ?help.
It's built for lightweight collection — logs, events, surveys, prototypes, agent outputs. For high-volume transactional data with complex queries you still want a real database; the Data API shines where standing one up would cost more than the data is worth.
Free endpoint, JSON in, queryable records out.
Create your free endpoint →