Open dataset: visual editor and page builder libraries
The complete EditorStack dataset — every product record with licences, pricing, capabilities and measured bundle sizes — as JSON and CSV under CC BY 4.0, with an open CORS policy and no API key.
TL;DR
- The full dataset is available at /api/libraries.json and /api/libraries.csv with no key, no rate limit and CORS open to any origin.
- It is licensed CC BY 4.0: use it commercially, build products on it, republish it — attribute EditorStack and link back.
- The dataset includes our own measurement runs, so the bundle-size and time-to-editor numbers come with the versions, method and dates that produced them.
Downloads
| File | Format | Contents | |---|---|---| | /api/libraries.json | JSON | Every product record in full, plus both measurement runs | | /api/libraries.csv | CSV | One row per product, flattened for spreadsheets | | /api/schema.json | JSON Schema | Field definitions and allowed values | | /llms-full.txt | Markdown | Every page on the site as one document |
Every page also has a markdown twin: append .md to any URL. There is no key, no quota and no
sign-up, and the CORS policy allows any origin.
curl -s https://www.editorstack.cc/api/libraries.json | jq '.libraries[] | select(.pricing.model == "open-source") | {name, bundle: .tech.bundle_size_min_gzip_kb}'Licence
The dataset is published under Creative Commons Attribution 4.0.
You may copy, redistribute, transform and build upon it, including commercially, provided you give
credit. A link to editorstack.cc alongside the data satisfies that.
What is in a record
Each product record carries identity fields (slug, name, type, categories), licensing and pricing, technical facts (language, framework support, SSR, measured bundle size), a capability matrix, an extensibility block, repository and registry metrics, an argued best-for and worst-for list, optional scores with their written rationale, and a source list with access dates.
Two conventions matter when you consume it:
null means unverified, never zero. We leave a field empty rather than estimate it. If you
aggregate this data, treat null as missing rather than as a false or a 0.
metrics.status tells you the freshness of the count fields. pending means the automated sync
has not run against that record yet; not-applicable means the product has no npm package or public
repository for those numbers to exist.
Measurements included
The JSON download embeds both measurement runs in full, not just the summary numbers:
measurements.bundles— per package: resolved version, raw and gzipped size, which modules were treated as external, and the bundler and Node versions used.measurements.time_to_editor— per application: lines of code, direct dependency count, median time to a rendered editor, the number of runs, and any bundler workaround required.
The scripts that produced them are scripts/measure-bundles.mjs and
scripts/measure-time-to-editor.mjs in the repository,
and the benchmark applications are in benchmarks/. Running node scripts/measure-bundles.mjs --verify
re-measures everything and exits non-zero if any published number has drifted.
Citing it
See how to cite for BibTeX and plain-text formats. If you publish something built on this data we would like to see it — open an issue on the repository.
Frequently asked questions
- Do I need an API key?
- No. Both endpoints are static files served with Access-Control-Allow-Origin set to *, so you can fetch them from a browser, a notebook or a server without registering.
- How should I attribute the dataset?
- Any clear credit works. 'Data from EditorStack (editorstack.cc), CC BY 4.0' with a link to the page you used satisfies the licence.
- How often does the data change?
- Facts change when products change; each record carries its own last_verified date. Repository and download metrics are refreshed by a daily automated job, and every substantive change is listed in the changelog.
- What does null mean in the data?
- Unverified. It never means zero. If we could not confirm a fact from a source we trust, the field is null and the site displays 'Unverified' rather than an estimate.
Written by the EditorStack Research Team. How we test and what we refuse to publish is on the methodology page.