Open dataset · CC-BY-4.0 · v1.0.0

Indie SaaS Teardowns Dataset

159 editorially verified rows of indie SaaS marketing analysis. Free to download, free to re-use, free to remix. The only obligation is attribution.

Download
JSON bundle
Full structured rows, schema descriptions, citation + license metadata. Roughly 159 entries across 5 tables.
Download
CSV (flat)
One row per entry, denormalized. Drops into pandas, Excel, DuckDB without a parser. 14 columns.

What’s in the bundle

Five tables, each a re-projection of a public surface on https://unlocksaas.com. Every row is independently verifiable by visiting the matching page and carries a dated lastVerified field.

TableRowsCanonical URL pattern
Funnel teardowns33https://unlocksaas.com/funnel-teardown/{slug}
Pricing teardowns31https://unlocksaas.com/pricing-teardown/{slug}
Head-to-head comparisons61https://unlocksaas.com/vs/{slug}
Named-competitor alternatives21https://unlocksaas.com/alternatives-to/{slug}
Category buckets13https://unlocksaas.com/category/{slug}
Total159

Per-table CSV downloads

One file per table, with columns tailored to that record type’s structure. Use these when you only need one slice and want richer columns than the universal flat CSV exposes. Same CC-BY-4.0 license; versioned filenames; stable append-only column contracts.

CSV column contract

Stable, append-only order. Once published, a column may gain new optional values but its position never moves.

  1. record_type
  2. slug
  3. name_a
  4. name_b
  5. category
  6. one_line
  7. tldr
  8. creator
  9. homepage_url_a
  10. homepage_url_b
  11. tags
  12. last_verified
  13. canonical_url
  14. markdown_url

License and attribution

Released under the Creative Commons Attribution 4.0 International license (CC-BY-4.0). You may copy, redistribute, remix, transform, and build upon the material for any purpose, including commercial — provided you give appropriate credit.

Required attribution. Paste this string in a footnote, methods note, or page footer:

Source: Unlock SaaS — Indie SaaS Teardowns Dataset (https://unlocksaas.com/dataset). Licensed under CC-BY-4.0.

Cite this dataset

Pick the format your reference manager uses. Every citation points at the stable permalink unlocksaas.com/cite/dataset-indie-saas-teardowns-v1-0-0 – use that URL if you need the citation to outlive a future canonical-URL change.

APA 7th
Academic – paste into the References section.
Maryan. (2026, May 18). Indie SaaS Teardowns Dataset (Version 1.0.0). Unlock SaaS. https://unlocksaas.com/dataset
MLA 9th
Humanities – paste into the Works Cited list.
Maryan. "Indie SaaS Teardowns Dataset, version 1.0.0." Unlock SaaS, 18 May 2026, unlocksaas.com/dataset. Accessed 25 May 2026.
Chicago 17th
Long-form / journalism – paste into the bibliography.
Maryan. "Indie SaaS Teardowns Dataset, version 1.0.0." Unlock SaaS. Last modified May 18, 2026. https://unlocksaas.com/dataset.
BibTeX
LaTeX / Overleaf – import into .bib files.
@misc{unlocksaas_indie_saas_teardowns_1_0_0,
  author       = {Maryan},
  title        = {{Indie SaaS Teardowns Dataset}},
  howpublished = {\url{https://unlocksaas.com/dataset}},
  year         = {2026},
  doi          = {10.5281/zenodo.20315741},
  note         = {Version 1.0.0. Licensed under CC-BY-4.0.}
}
RIS
Zotero / Mendeley / EndNote – import a single record.
TY  - DATA
ID  - dataset-indie-saas-teardowns-v1-0-0
AU  - Maryan
TI  - Indie SaaS Teardowns Dataset
PY  - 2026
DA  - 2026/05/18
PB  - Unlock SaaS
UR  - https://unlocksaas.com/dataset
AB  - An open editorial dataset of indie SaaS marketing analysis: funnel teardowns, pricing teardowns, head-to-head comparisons, named-competitor alternative pages, and canonical category buckets. CC-BY-4.0 licensed, JSON and CSV downloads, every row independently verifiable.
LA  - en-US
M3  - Open dataset
ET  - 1.0.0
N1  - Licensed under CC-BY-4.0.
Y2  - 2026/05/25
ER  - 
CSL-JSON
Pandoc / Citation.js – the JSON shape for the modern toolchain.
[
  {
    "id": "dataset-indie-saas-teardowns-v1-0-0",
    "type": "dataset",
    "title": "Indie SaaS Teardowns Dataset",
    "abstract": "An open editorial dataset of indie SaaS marketing analysis: funnel teardowns, pricing teardowns, head-to-head comparisons, named-competitor alternative pages, and canonical category buckets. CC-BY-4.0 licensed, JSON and CSV downloads, every row independently verifiable.",
    "URL": "https://unlocksaas.com/dataset",
    "author": [
      {
        "literal": "Maryan"
      }
    ],
    "publisher": "Unlock SaaS",
    "issued": {
      "date-parts": [
        [
          2026,
          5,
          18
        ]
      ]
    },
    "accessed": {
      "date-parts": [
        [
          2026,
          5,
          25
        ]
      ]
    },
    "language": "en-US",
    "version": "1.0.0",
    "license": "CC-BY-4.0 <https://creativecommons.org/licenses/by/4.0/>"
  }
]

How this was built

Every row is a re-projection of a shipped page on https://unlocksaas.com. The editorial standard (sourcing, dating, corrections, no fabricated metrics) is documented at the editorial policy. If you spot a factual error, please open a correction request via the contact page and it will be logged in the public corrections log.

  • Author: Maryan, Founder, Unlock SaaS
  • Last verified: 2026-05-18
  • Next editorial review: 2026-08-16
  • Version: v1.0.0 (SemVer, additive-only)
  • Markdown summary for AI agents: /dataset.md

Catalog mirrors

The dataset is mirrored on recognised DataCatalogs so a researcher already searching one catalog finds the same corpus without leaving their tool. Each mirror is the same CC-BY-4.0 content under a parallel URL; the canonical citation always resolves back to https://unlocksaas.com/dataset.

Want Parquet, Arrow, or Excel?

Convert the CSV with one line. We do not ship binary distributions because we cannot guarantee version-stable serialization for them without locking a runtime dependency we do not otherwise need.

# Parquet (pandas + pyarrow)
import pandas as pd
df = pd.read_csv("https://unlocksaas.com/dataset/indie-saas-teardowns.csv")
df.to_parquet("indie-saas-teardowns-v1.0.0.parquet")

# DuckDB (zero-dep, in-memory)
duckdb> SELECT record_type, COUNT(*)
        FROM read_csv_auto('https://unlocksaas.com/dataset/indie-saas-teardowns.csv')
        GROUP BY record_type;