{"adoption": {"forks": 1423, "observed_at": "2026-08-28T04:11:12.284747+00:00", "stars": 15575}, "canonical_url": "https://ross.abutalabs.com/products/apitable", "card": {"archived": false, "artifact_type": "application", "description": "🚀🎉📚 APITable, an API-oriented low-code platform for building collaborative apps and better than all other Airtable open-source alternatives. ", "domain": ["web-development", "developer-tools", "self-hosted", "databases", "apis"], "enriched": true, "function": ["api-framework", "web-framework", "self-hosted", "developer-tools", "workflow-automation", "data-science"], "health_score": 62, "homepage": "https://aitable.ai", "language": "TypeScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["apitable/apitable"], "name": "apitable/apitable", "platform": ["self-hosted", "cross-platform"], "pushed_at": "2025-10-30T03:34:31+00:00", "repo": "apitable/apitable", "stars": 15575, "tags": ["airtable-alternative", "low-code", "no-code", "spreadsheet-database", "collaborative-apps", "automatic-api", "internal-tools", "nestjs", "nextjs", "spring-boot", "automation", "web-server", "docker", "nodejs"], "topics": ["airtable", "airtable-alternative", "nocodb", "nestjs", "nextjs", "spring", "low-code", "no-code", "notion", "api", "automatic-api", "embed", "spreadsheet", "hacktoberfest", "javascript", "react", "typescript", "admin-dashboard", "internal-tool"], "urls": [], "use_cases": ["self-host an Airtable alternative for my team", "build internal tools with a spreadsheet-like database", "expose a collaborative database as an automatic REST API", "create forms and dashboards without writing code", "embed a collaborative datasheet into my own app", "automate workflows by connecting a visual database to Zapier or Make", "manage CRM and project data with permissions and views"], "what_it_is": "APITable is an open-source, API-oriented low-code platform for building collaborative database-spreadsheet applications, positioned as an open-source alternative to Airtable and NocoDB. It combines a visual datasheet interface with automatic REST APIs, forms, dashboards, widgets, and automation integrations, built with TypeScript (NestJS/Next.js) and Java (Spring).", "when_to_avoid": ["you need a lightweight embedded spreadsheet component rather than a full platform", "you require a permissive license - APITable is AGPL-3.0", "you only need simple flat-file storage without collaboration or API features", "you want a fully managed SaaS without self-hosting overhead"], "when_to_choose": ["you want a self-hosted, API-first Airtable/NocoDB alternative", "you need programmatic access to spreadsheet data via generated APIs", "you want embeddable collaborative datasheets, forms, and dashboards", "you need a low-code platform with rich views (kanban, gantt, calendar, gallery)"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/apitable", "repo": "apitable/apitable", "role": "main", "score": 48}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:12.284747+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:05:38.781866+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "649b5c234c998e4af92fc6d83af0994da00b5c21fb1d10302342e644bc4aa5fe", "fetched_at": "2026-08-28T04:11:12.284747+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apitable/apitable"}, {"content_hash": "c29cc3bdec549d427dc41436bb10f6cde792e05e3f5fa44b983e69d235fd89ae", "fetched_at": "2026-08-29T08:04:06.516832+00:00", "kind": "homepage", "missing": false, "url": "https://aitable.ai"}, {"content_hash": "ba7541ac408623058bc01b4c978a7ce63f342be8b41403059fc26dd7731e01fd", "fetched_at": "2026-08-29T08:04:06.542973+00:00", "kind": "site_page", "missing": false, "url": "https://aitable.ai/pricing"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:12.284747+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:05:38.781866+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "649b5c234c998e4af92fc6d83af0994da00b5c21fb1d10302342e644bc4aa5fe", "fetched_at": "2026-08-28T04:11:12.284747+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apitable/apitable"}, {"content_hash": "c29cc3bdec549d427dc41436bb10f6cde792e05e3f5fa44b983e69d235fd89ae", "fetched_at": "2026-08-29T08:04:06.516832+00:00", "kind": "homepage", "missing": false, "url": "https://aitable.ai"}, {"content_hash": "ba7541ac408623058bc01b4c978a7ce63f342be8b41403059fc26dd7731e01fd", "fetched_at": "2026-08-29T08:04:06.542973+00:00", "kind": "site_page", "missing": false, "url": "https://aitable.ai/pricing"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:05:38.781866+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "649b5c234c998e4af92fc6d83af0994da00b5c21fb1d10302342e644bc4aa5fe", "fetched_at": "2026-08-28T04:11:12.284747+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apitable/apitable"}, {"content_hash": "c29cc3bdec549d427dc41436bb10f6cde792e05e3f5fa44b983e69d235fd89ae", "fetched_at": "2026-08-29T08:04:06.516832+00:00", "kind": "homepage", "missing": false, "url": "https://aitable.ai"}, {"content_hash": "ba7541ac408623058bc01b4c978a7ce63f342be8b41403059fc26dd7731e01fd", "fetched_at": "2026-08-29T08:04:06.542973+00:00", "kind": "site_page", "missing": false, "url": "https://aitable.ai/pricing"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:12.284747+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:12.284747+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:12.284747+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:05:38.781866+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "649b5c234c998e4af92fc6d83af0994da00b5c21fb1d10302342e644bc4aa5fe", "fetched_at": "2026-08-28T04:11:12.284747+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apitable/apitable"}, {"content_hash": "c29cc3bdec549d427dc41436bb10f6cde792e05e3f5fa44b983e69d235fd89ae", "fetched_at": "2026-08-29T08:04:06.516832+00:00", "kind": "homepage", "missing": false, "url": "https://aitable.ai"}, {"content_hash": "ba7541ac408623058bc01b4c978a7ce63f342be8b41403059fc26dd7731e01fd", "fetched_at": "2026-08-29T08:04:06.542973+00:00", "kind": "site_page", "missing": false, "url": "https://aitable.ai/pricing"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:12.284747+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:12.284747+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:05:38.781866+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "649b5c234c998e4af92fc6d83af0994da00b5c21fb1d10302342e644bc4aa5fe", "fetched_at": "2026-08-28T04:11:12.284747+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apitable/apitable"}, {"content_hash": "c29cc3bdec549d427dc41436bb10f6cde792e05e3f5fa44b983e69d235fd89ae", "fetched_at": "2026-08-29T08:04:06.516832+00:00", "kind": "homepage", "missing": false, "url": "https://aitable.ai"}, {"content_hash": "ba7541ac408623058bc01b4c978a7ce63f342be8b41403059fc26dd7731e01fd", "fetched_at": "2026-08-29T08:04:06.542973+00:00", "kind": "site_page", "missing": false, "url": "https://aitable.ai/pricing"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:12.284747+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:12.284747+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:12.284747+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:05:38.781866+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "649b5c234c998e4af92fc6d83af0994da00b5c21fb1d10302342e644bc4aa5fe", "fetched_at": "2026-08-28T04:11:12.284747+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apitable/apitable"}, {"content_hash": "c29cc3bdec549d427dc41436bb10f6cde792e05e3f5fa44b983e69d235fd89ae", "fetched_at": "2026-08-29T08:04:06.516832+00:00", "kind": "homepage", "missing": false, "url": "https://aitable.ai"}, {"content_hash": "ba7541ac408623058bc01b4c978a7ce63f342be8b41403059fc26dd7731e01fd", "fetched_at": "2026-08-29T08:04:06.542973+00:00", "kind": "site_page", "missing": false, "url": "https://aitable.ai/pricing"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:12.284747+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:12.284747+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:05:38.781866+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "649b5c234c998e4af92fc6d83af0994da00b5c21fb1d10302342e644bc4aa5fe", "fetched_at": "2026-08-28T04:11:12.284747+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apitable/apitable"}, {"content_hash": "c29cc3bdec549d427dc41436bb10f6cde792e05e3f5fa44b983e69d235fd89ae", "fetched_at": "2026-08-29T08:04:06.516832+00:00", "kind": "homepage", "missing": false, "url": "https://aitable.ai"}, {"content_hash": "ba7541ac408623058bc01b4c978a7ce63f342be8b41403059fc26dd7731e01fd", "fetched_at": "2026-08-29T08:04:06.542973+00:00", "kind": "site_page", "missing": false, "url": "https://aitable.ai/pricing"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:05:38.781866+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "649b5c234c998e4af92fc6d83af0994da00b5c21fb1d10302342e644bc4aa5fe", "fetched_at": "2026-08-28T04:11:12.284747+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apitable/apitable"}, {"content_hash": "c29cc3bdec549d427dc41436bb10f6cde792e05e3f5fa44b983e69d235fd89ae", "fetched_at": "2026-08-29T08:04:06.516832+00:00", "kind": "homepage", "missing": false, "url": "https://aitable.ai"}, {"content_hash": "ba7541ac408623058bc01b4c978a7ce63f342be8b41403059fc26dd7731e01fd", "fetched_at": "2026-08-29T08:04:06.542973+00:00", "kind": "site_page", "missing": false, "url": "https://aitable.ai/pricing"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:05:38.781866+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "649b5c234c998e4af92fc6d83af0994da00b5c21fb1d10302342e644bc4aa5fe", "fetched_at": "2026-08-28T04:11:12.284747+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apitable/apitable"}, {"content_hash": "c29cc3bdec549d427dc41436bb10f6cde792e05e3f5fa44b983e69d235fd89ae", "fetched_at": "2026-08-29T08:04:06.516832+00:00", "kind": "homepage", "missing": false, "url": "https://aitable.ai"}, {"content_hash": "ba7541ac408623058bc01b4c978a7ce63f342be8b41403059fc26dd7731e01fd", "fetched_at": "2026-08-29T08:04:06.542973+00:00", "kind": "site_page", "missing": false, "url": "https://aitable.ai/pricing"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:05:38.781866+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "649b5c234c998e4af92fc6d83af0994da00b5c21fb1d10302342e644bc4aa5fe", "fetched_at": "2026-08-28T04:11:12.284747+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apitable/apitable"}, {"content_hash": "c29cc3bdec549d427dc41436bb10f6cde792e05e3f5fa44b983e69d235fd89ae", "fetched_at": "2026-08-29T08:04:06.516832+00:00", "kind": "homepage", "missing": false, "url": "https://aitable.ai"}, {"content_hash": "ba7541ac408623058bc01b4c978a7ce63f342be8b41403059fc26dd7731e01fd", "fetched_at": "2026-08-29T08:04:06.542973+00:00", "kind": "site_page", "missing": false, "url": "https://aitable.ai/pricing"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 49, "longevity": 100, "rhythm": 16}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1477, "days_push": 307, "days_rel": 483, "gap_med": 127, "n_releases_24m": 2}, "score": 48, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}