Open-source headless CMS — AI Recommendation History

What AI assistants recommended for open-source headless cms, date by date. Every ranking we publish is frozen the day it publishes, so this is a record of what was said — not a re-computation of what today's data would say about the past.

Record: 26 dated snapshots · Aug 14, 2026 – Sep 8, 2026

What changed

Computed by comparing each dated snapshot with the one before it. Share moves smaller than 1pp are treated as noise and left out — the same threshold that suppresses trend arrows on the ranking.

Sep 8, 2026vs Sep 7, 2026
  • ▲ INStoryblok entered the top 10 (#12 → #8)
  • ▼ OUTGhost left the top 10 (#10 → #11)
  • ▲Storyblok moved #12 → #8
  • ▲Payload moved #3 → #2
  • ▼Directus moved #2 → #3
  • ▲Node.js moved #6 → #5
  • ▼PostgreSQL moved #5 → #6
  • ▼MySQL moved #8 → #9
  • ▼Docker moved #9 → #10
  • ▼Ghost moved #10 → #11
  • ▼PostgreSQL -2.3pp (30.2% → 27.9%)
  • ▲Storyblok +1.6pp (17.5% → 19.1%)
  • ▲Nuxt +1.5pp (20.6% → 22.1%)
  • ▼MySQL -1.4pp (19% → 17.6%)
  • ▼Docker -1.4pp (19% → 17.6%)
  • ▼Ghost -1.4pp (19% → 17.6%)
  • ▲Payload +1.3pp (82.5% → 83.8%)
Sep 7, 2026vs Sep 6, 2026

No change above the noise floor.

Sep 6, 2026vs Sep 5, 2026

No change above the noise floor.

Sep 5, 2026vs Sep 4, 2026

No change above the noise floor.

Sep 4, 2026vs Sep 3, 2026

No change above the noise floor.

Sep 3, 2026vs Sep 2, 2026

No change above the noise floor.

Sep 2, 2026vs Sep 1, 2026

No change above the noise floor.

Sep 1, 2026vs Aug 31, 2026

No change above the noise floor.

Aug 31, 2026vs Aug 30, 2026

No change above the noise floor.

Aug 30, 2026vs Aug 29, 2026

No change above the noise floor.

Aug 29, 2026vs Aug 28, 2026

No change above the noise floor.

Aug 28, 2026vs Aug 27, 2026

No change above the noise floor.

Aug 27, 2026vs Aug 26, 2026

Methodology change: extraction rules 4-7 → 5-7 between these dates. Differences below may reflect the rule change rather than a change in what AI recommends — see the methodology changelog.

  • ▲MySQL moved #10 → #8
  • ▲PostgreSQL moved #6 → #5
  • ▼Node.js moved #5 → #6
  • ▼Docker moved #8 → #9
  • ▼Ghost moved #9 → #10
  • ▼Directus -2.9pp (87% → 84.1%)
  • ▲PostgreSQL +2.9pp (27.3% → 30.2%)
  • ▼Next.js -2.7pp (66.2% → 63.5%)
  • ▼Payload -1.9pp (84.4% → 82.5%)
  • ▼Strapi -1.7pp (92.2% → 90.5%)
  • ▼Node.js -1.3pp (29.9% → 28.6%)
Aug 26, 2026vs Aug 25, 2026

No change above the noise floor.

Aug 25, 2026vs Aug 24, 2026

No change above the noise floor.

Aug 24, 2026vs Aug 23, 2026

No change above the noise floor.

Aug 23, 2026vs Aug 22, 2026
  • ▲ INMySQL entered the top 10 (#11 → #10)
  • ▼ OUTKeystoneJS left the top 10 (#9 → #15)
  • ▼KeystoneJS moved #9 → #15
  • ▲Docker moved #10 → #8
  • ▼Ghost moved #7 → #9
  • ▲Nuxt moved #8 → #7
  • ▲MySQL moved #11 → #10
  • ▼Ghost -3.6pp (23.1% → 19.5%)
  • ▼KeystoneJS -3.1pp (18.7% → 15.6%)
  • ▼Node.js -2pp (31.9% → 29.9%)
  • ▲Next.js +1.4pp (64.8% → 66.2%)
  • ▼Payload -1.3pp (85.7% → 84.4%)
  • ▲Nuxt +1pp (19.8% → 20.8%)
Aug 22, 2026vs Aug 21, 2026
  • ▲ INDocker entered the top 10 (#13 → #10)
  • ▼ OUTStoryblok left the top 10 (#10 → #13)
  • ▲Docker moved #13 → #10
  • ▼Storyblok moved #10 → #13
  • ▲Ghost +1.7pp (21.4% → 23.1%)
  • ▲Docker +1.4pp (17.3% → 18.7%)
  • ▲Directus +1.1pp (85.7% → 86.8%)
  • ▲Payload +1pp (84.7% → 85.7%)
Aug 21, 2026vs Aug 20, 2026
  • ▲ INStoryblok entered the top 10 (#11 → #10)
  • ▼ OUTDecap CMS left the top 10 (#10 → #12)
  • ▼Decap CMS moved #10 → #12
  • ▲Nuxt moved #9 → #8
  • ▼KeystoneJS moved #8 → #9
  • ▲Storyblok moved #11 → #10
  • ▼Next.js -2.8pp (68.1% → 65.3%)
  • ▼Ghost -1.7pp (23.1% → 21.4%)
  • ▼KeystoneJS -1.4pp (19.8% → 18.4%)
  • ▼Decap CMS -1.4pp (18.7% → 17.3%)
  • ▲PostgreSQL +1.3pp (24.2% → 25.5%)
  • ▼Directus -1.1pp (86.8% → 85.7%)
  • ▼Payload -1pp (85.7% → 84.7%)
Aug 20, 2026vs Aug 19, 2026
  • ▲ INPostgreSQL entered the top 10 (#11 → #6)
  • ▲ INKeystoneJS entered the top 10 (#12 → #8)
  • ▼ OUTStoryblok left the top 10 (#7 → #11)
  • ▼ OUTContentful left the top 10 (#9 → #13)
  • ▲PostgreSQL moved #11 → #6
  • ▲KeystoneJS moved #12 → #8
  • ▼Storyblok moved #7 → #11
  • ▼Contentful moved #9 → #13
  • ▼Decap CMS moved #8 → #10
  • ▼Ghost moved #6 → #7
  • ▲Nuxt moved #10 → #9
  • ▲PostgreSQL +6.7pp (17.5% → 24.2%)
  • ▲Node.js +4.9pp (27% → 31.9%)
  • ▲Ghost +2.5pp (20.6% → 23.1%)
  • ▲KeystoneJS +2.3pp (17.5% → 19.8%)
  • ▲Payload +1.6pp (84.1% → 85.7%)
  • ▲Next.js +1.4pp (66.7% → 68.1%)
  • ▼Contentful -1.4pp (19% → 17.6%)
  • ▲Directus +1.1pp (85.7% → 86.8%)
Aug 19, 2026vs Aug 18, 2026
  • ▲ INStoryblok entered the top 10 (#12 → #7)
  • ▲ INContentful entered the top 10 (#11 → #9)
  • ▲ INNuxt entered the top 10 (#13 → #10)
  • ▼ OUTSanity left the top 10 (#8 → #13)
  • ▼ OUTWebiny left the top 10 (#9 → #14)
  • ▼ OUTPostgreSQL left the top 10 (#10 → #11)
  • ▲Storyblok moved #12 → #7
  • ▼Sanity moved #8 → #13
  • ▼Webiny moved #9 → #14
  • ▲Nuxt moved #13 → #10
  • ▼Decap CMS moved #6 → #8
  • ▲Contentful moved #11 → #9
  • ▲Ghost moved #7 → #6
  • ▼PostgreSQL moved #10 → #11
  • ▼Decap CMS -6pp (25% → 19%)
  • ▼Sanity -5.1pp (22.6% → 17.5%)
  • ▼Payload -4pp (88.1% → 84.1%)
  • ▼Node.js -4pp (31% → 27%)
  • ▼PostgreSQL -3.9pp (21.4% → 17.5%)
  • ▼Webiny -3.9pp (21.4% → 17.5%)
  • ▼Ghost -3.2pp (23.8% → 20.6%)
  • ▼Directus -2.4pp (88.1% → 85.7%)
  • ▼Strapi -1.5pp (95.2% → 93.7%)
  • ▼Storyblok -1.2pp (20.2% → 19%)
  • ▼Contentful -1.2pp (20.2% → 19%)
  • ▼Nuxt -1.2pp (20.2% → 19%)
Aug 18, 2026vs Aug 17, 2026

No change above the noise floor.

Aug 17, 2026vs Aug 16, 2026

No change above the noise floor.

Aug 16, 2026vs Aug 15, 2026

No change above the noise floor.

Aug 15, 2026vs Aug 14, 2026

No change above the noise floor.

The ranking, date by date

Top 10 on each archived date, exactly as published. Cite a date and it stays true: snapshots are append-only, and a correction appends a new revision rather than overwriting the original.

Sep 8, 202668 sampled answers · window 2026-08-11 – 2026-09-08 · rules v5-7
  • #1Strapi91.2%
  • #2Payload83.8%
  • #3Directus83.8%
  • #4Next.js63.2%
  • #5Node.js27.9%
  • #6PostgreSQL27.9%
  • #7Nuxt22.1%
  • #8Storyblok19.1%
  • #9MySQL17.6%
  • #10Docker17.6%
Sep 7, 202663 sampled answers · window 2026-08-10 – 2026-09-07 · rules v5-7
  • #1Strapi90.5%
  • #2Directus84.1%
  • #3Payload82.5%
  • #4Next.js63.5%
  • #5PostgreSQL30.2%
  • #6Node.js28.6%
  • #7Nuxt20.6%
  • #8MySQL19%
  • #9Docker19%
  • #10Ghost19%
Sep 6, 202663 sampled answers · window 2026-08-09 – 2026-09-06 · rules v5-7
  • #1Strapi90.5%
  • #2Directus84.1%
  • #3Payload82.5%
  • #4Next.js63.5%
  • #5PostgreSQL30.2%
  • #6Node.js28.6%
  • #7Nuxt20.6%
  • #8MySQL19%
  • #9Docker19%
  • #10Ghost19%
Sep 5, 202663 sampled answers · window 2026-08-08 – 2026-09-05 · rules v5-7
  • #1Strapi90.5%
  • #2Directus84.1%
  • #3Payload82.5%
  • #4Next.js63.5%
  • #5PostgreSQL30.2%
  • #6Node.js28.6%
  • #7Nuxt20.6%
  • #8MySQL19%
  • #9Docker19%
  • #10Ghost19%
Sep 4, 202663 sampled answers · window 2026-08-07 – 2026-09-04 · rules v5-7
  • #1Strapi90.5%
  • #2Directus84.1%
  • #3Payload82.5%
  • #4Next.js63.5%
  • #5PostgreSQL30.2%
  • #6Node.js28.6%
  • #7Nuxt20.6%
  • #8MySQL19%
  • #9Docker19%
  • #10Ghost19%
Sep 3, 202663 sampled answers · window 2026-08-06 – 2026-09-03 · rules v5-7
  • #1Strapi90.5%
  • #2Directus84.1%
  • #3Payload82.5%
  • #4Next.js63.5%
  • #5PostgreSQL30.2%
  • #6Node.js28.6%
  • #7Nuxt20.6%
  • #8MySQL19%
  • #9Docker19%
  • #10Ghost19%
Sep 2, 202663 sampled answers · window 2026-08-05 – 2026-09-02 · rules v5-7
  • #1Strapi90.5%
  • #2Directus84.1%
  • #3Payload82.5%
  • #4Next.js63.5%
  • #5PostgreSQL30.2%
  • #6Node.js28.6%
  • #7Nuxt20.6%
  • #8MySQL19%
  • #9Docker19%
  • #10Ghost19%
Sep 1, 202663 sampled answers · window 2026-08-04 – 2026-09-01 · rules v5-7
  • #1Strapi90.5%
  • #2Directus84.1%
  • #3Payload82.5%
  • #4Next.js63.5%
  • #5PostgreSQL30.2%
  • #6Node.js28.6%
  • #7Nuxt20.6%
  • #8MySQL19%
  • #9Docker19%
  • #10Ghost19%
Aug 31, 202663 sampled answers · window 2026-08-03 – 2026-08-31 · rules v5-7
  • #1Strapi90.5%
  • #2Directus84.1%
  • #3Payload82.5%
  • #4Next.js63.5%
  • #5PostgreSQL30.2%
  • #6Node.js28.6%
  • #7Nuxt20.6%
  • #8MySQL19%
  • #9Docker19%
  • #10Ghost19%
Aug 30, 202663 sampled answers · window 2026-08-02 – 2026-08-30 · rules v5-7
  • #1Strapi90.5%
  • #2Directus84.1%
  • #3Payload82.5%
  • #4Next.js63.5%
  • #5PostgreSQL30.2%
  • #6Node.js28.6%
  • #7Nuxt20.6%
  • #8MySQL19%
  • #9Docker19%
  • #10Ghost19%
Aug 29, 202663 sampled answers · window 2026-08-01 – 2026-08-29 · rules v5-7
  • #1Strapi90.5%
  • #2Directus84.1%
  • #3Payload82.5%
  • #4Next.js63.5%
  • #5PostgreSQL30.2%
  • #6Node.js28.6%
  • #7Nuxt20.6%
  • #8MySQL19%
  • #9Docker19%
  • #10Ghost19%
Aug 28, 202663 sampled answers · window 2026-07-31 – 2026-08-28 · rules v5-7
  • #1Strapi90.5%
  • #2Directus84.1%
  • #3Payload82.5%
  • #4Next.js63.5%
  • #5PostgreSQL30.2%
  • #6Node.js28.6%
  • #7Nuxt20.6%
  • #8MySQL19%
  • #9Docker19%
  • #10Ghost19%
Aug 27, 202663 sampled answers · window 2026-07-30 – 2026-08-27 · rules v5-7
  • #1Strapi90.5%
  • #2Directus84.1%
  • #3Payload82.5%
  • #4Next.js63.5%
  • #5PostgreSQL30.2%
  • #6Node.js28.6%
  • #7Nuxt20.6%
  • #8MySQL19%
  • #9Docker19%
  • #10Ghost19%
Aug 26, 202677 sampled answers · window 2026-07-29 – 2026-08-26 · rules v4-7
  • #1Strapi92.2%
  • #2Directus87%
  • #3Payload84.4%
  • #4Next.js66.2%
  • #5Node.js29.9%
  • #6PostgreSQL27.3%
  • #7Nuxt20.8%
  • #8Docker19.5%
  • #9Ghost19.5%
  • #10MySQL18.2%
Aug 25, 202677 sampled answers · window 2026-07-28 – 2026-08-25 · rules v4-7
  • #1Strapi92.2%
  • #2Directus87%
  • #3Payload84.4%
  • #4Next.js66.2%
  • #5Node.js29.9%
  • #6PostgreSQL27.3%
  • #7Nuxt20.8%
  • #8Docker19.5%
  • #9Ghost19.5%
  • #10MySQL18.2%
Aug 24, 202677 sampled answers · window 2026-07-27 – 2026-08-24 · rules v4-7
  • #1Strapi92.2%
  • #2Directus87%
  • #3Payload84.4%
  • #4Next.js66.2%
  • #5Node.js29.9%
  • #6PostgreSQL27.3%
  • #7Nuxt20.8%
  • #8Docker19.5%
  • #9Ghost19.5%
  • #10MySQL18.2%
Aug 23, 202677 sampled answers · window 2026-07-26 – 2026-08-23 · rules v4-7
  • #1Strapi92.2%
  • #2Directus87%
  • #3Payload84.4%
  • #4Next.js66.2%
  • #5Node.js29.9%
  • #6PostgreSQL27.3%
  • #7Nuxt20.8%
  • #8Docker19.5%
  • #9Ghost19.5%
  • #10MySQL18.2%
Aug 22, 202691 sampled answers · window 2026-07-25 – 2026-08-22 · rules v4-7
  • #1Strapi92.3%
  • #2Directus86.8%
  • #3Payload85.7%
  • #4Next.js64.8%
  • #5Node.js31.9%
  • #6PostgreSQL26.4%
  • #7Ghost23.1%
  • #8Nuxt19.8%
  • #9KeystoneJS18.7%
  • #10Docker18.7%
Aug 21, 202698 sampled answers · window 2026-07-24 – 2026-08-21 · rules v4-7
  • #1Strapi92.9%
  • #2Directus85.7%
  • #3Payload84.7%
  • #4Next.js65.3%
  • #5Node.js31.6%
  • #6PostgreSQL25.5%
  • #7Ghost21.4%
  • #8Nuxt19.4%
  • #9KeystoneJS18.4%
  • #10Storyblok18.4%
Aug 20, 202691 sampled answers · window 2026-07-23 – 2026-08-20 · rules v4-7
  • #1Strapi93.4%
  • #2Directus86.8%
  • #3Payload85.7%
  • #4Next.js68.1%
  • #5Node.js31.9%
  • #6PostgreSQL24.2%
  • #7Ghost23.1%
  • #8KeystoneJS19.8%
  • #9Nuxt19.8%
  • #10Decap CMS18.7%
Aug 19, 202663 sampled answers · window 2026-07-22 – 2026-08-19 · rules v4-7
  • #1Strapi93.7%
  • #2Directus85.7%
  • #3Payload84.1%
  • #4Next.js66.7%
  • #5Node.js27%
  • #6Ghost20.6%
  • #7Storyblok19%
  • #8Decap CMS19%
  • #9Contentful19%
  • #10Nuxt19%
Aug 18, 202684 sampled answers · window 2026-07-21 – 2026-08-18 · rules v4-7
  • #1Strapi95.2%
  • #2Directus88.1%
  • #3Payload88.1%
  • #4Next.js66.7%
  • #5Node.js31%
  • #6Decap CMS25%
  • #7Ghost23.8%
  • #8Sanity22.6%
  • #9Webiny21.4%
  • #10PostgreSQL21.4%
Aug 17, 202684 sampled answers · window 2026-07-20 – 2026-08-17 · rules v4-7
  • #1Strapi95.2%
  • #2Directus88.1%
  • #3Payload88.1%
  • #4Next.js66.7%
  • #5Node.js31%
  • #6Decap CMS25%
  • #7Ghost23.8%
  • #8Sanity22.6%
  • #9Webiny21.4%
  • #10PostgreSQL21.4%
Aug 16, 202684 sampled answers · window 2026-07-19 – 2026-08-16 · rules v4-7
  • #1Strapi95.2%
  • #2Directus88.1%
  • #3Payload88.1%
  • #4Next.js66.7%
  • #5Node.js31%
  • #6Decap CMS25%
  • #7Ghost23.8%
  • #8Sanity22.6%
  • #9Webiny21.4%
  • #10PostgreSQL21.4%
Aug 15, 202684 sampled answers · window 2026-07-18 – 2026-08-15 · rules v4-7
  • #1Strapi95.2%
  • #2Directus88.1%
  • #3Payload88.1%
  • #4Next.js66.7%
  • #5Node.js31%
  • #6Decap CMS25%
  • #7Ghost23.8%
  • #8Sanity22.6%
  • #9Webiny21.4%
  • #10PostgreSQL21.4%
Aug 14, 202684 sampled answers · window 2026-07-17 – 2026-08-14 · rules v4-7
  • #1Strapi95.2%
  • #2Directus88.1%
  • #3Payload88.1%
  • #4Next.js66.7%
  • #5Node.js31%
  • #6Decap CMS25%
  • #7Ghost23.8%
  • #8Sanity22.6%
  • #9Webiny21.4%
  • #10PostgreSQL21.4%

Read any date directly

Every archived date is machine-readable at /api/index/open-source-headless-cms/as-of/<YYYY-MM-DD>, which returns the ranking as it stood, with the extraction version and revision it was published under. Dates before the record begins return no_record rather than a recomputation — we do not reconstruct history on demand and present it as what we said. See what the engines actually said.

[ORBATOR]

© 2026 Orbator. All rights reserved.