{
 "categories": [
  "project-management",
  "collaboration"
 ],
 "deployment": "saas",
 "evidence": [
  {
   "date": "2026-09-28",
   "fact": "homepage",
   "note": "37signals presents Basecamp as its project-management product and says the 2026 release is Basecamp 5.",
   "source": "https://basecamp.com/",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "vendor",
   "note": "The homepage footer identifies the publisher as 37signals LLC.",
   "source": "https://basecamp.com/",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "status",
   "note": "The homepage offers current signup and describes Basecamp 5 as the 2026 release.",
   "source": "https://basecamp.com/",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "deployment",
   "note": "Basecamp is offered as an online account with a free plan and paid upgrades. No installable server edition was on the opened homepage.",
   "source": "https://basecamp.com/",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "platforms",
   "note": "The product is used through the Basecamp website and account. The opened homepage does not add a required desktop client.",
   "source": "https://basecamp.com/",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "license",
   "note": "Pricing lists a free plan limited to one project, then Freelancer at $25 per month, Studio at $59 per month, Pro at $99 per month, and Unlimited at $299 per month billed annually.",
   "source": "https://basecamp.com/pricing",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.api.exists",
   "note": "The Basecamp API reference documents HTTPS JSON requests under https://3.basecampapi.com/{accountId}/.",
   "source": "https://github.com/basecamp/bc-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.api.kinds[0]",
   "note": "The reference says all API data is JSON, URLs end in .json, and creates send Content-Type application/json.",
   "source": "https://github.com/basecamp/bc-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.api.auth[0]",
   "note": "The authentication guide says Basecamp 5 API requests use an OAuth 2 token sent as Authorization: Bearer. It also says Basecamp accepts a personal access token or a legacy Launchpad token, and that a DPoP-bound token must use Authorization: DPoP. Access tokens last two weeks.",
   "source": "https://github.com/basecamp/bc-api/blob/master/sections/authentication.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.api.coverage",
   "note": "The reference indexes projects, todos, messages, card tables, campfires, files, people, and other resources. It requires a User-Agent and documents dynamic rate limits, including 50 requests per 10 seconds per IP. Coverage of every console action is not stated.",
   "source": "https://github.com/basecamp/bc-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.api.docs",
   "note": "Opened the Basecamp API README in basecamp/bc-api, including the JSON request rules and the endpoint index.",
   "source": "https://github.com/basecamp/bc-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.sdk.exists",
   "note": "37signals publishes the Basecamp SDK as official API clients generated from one specification.",
   "source": "https://github.com/basecamp/basecamp-sdk",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.sdk.official",
   "note": "The SDK README calls the clients official. It also says there is no API key and no personal access token, and that a static token is one the caller already holds.",
   "source": "https://github.com/basecamp/basecamp-sdk",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.sdk.languages",
   "note": "The README lists active clients for Go, Ruby, TypeScript, Swift, Kotlin, Python, and Rust.",
   "source": "https://github.com/basecamp/basecamp-sdk",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.mcp.first_party",
   "note": "The official basecamp CLI, owned by the basecamp GitHub organization, documents basecamp mcp as a stdio MCP server for the signed-in account.",
   "source": "https://github.com/basecamp/basecamp-cli",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.mcp.verdict",
   "note": "basecamp mcp is a command in the official CLI, not a third-party repository. It serves sixteen domain tools and accepts --read-only.",
   "source": "https://github.com/basecamp/basecamp-cli",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.cli.exists",
   "note": "The README calls basecamp the official command-line interface and documents --json output, OAuth login, and device flow when the server advertises it.",
   "source": "https://github.com/basecamp/basecamp-cli",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.extensibility.webhooks",
   "note": "Basecamp notifies an application through HTTPS webhooks. Payloads are JSON. Chat is not a webhook type.",
   "source": "https://github.com/basecamp/bc-api/blob/master/sections/webhooks.md",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.data_access.export[0]",
   "note": "API responses are JSON.",
   "source": "https://github.com/basecamp/bc-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.data_access.import[0]",
   "note": "Create requests send a JSON body with Content-Type application/json.",
   "source": "https://github.com/basecamp/bc-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.rpa.ui_stack[0]",
   "note": "Basecamp is used as a website. No repeatable UI probe was run.",
   "source": "https://basecamp.com/",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.rpa.drivability",
   "note": "The opened product is a web application. Drivability was not measured.",
   "source": "https://basecamp.com/",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "modalities.agent_docs.llms_txt",
   "note": "A request for https://basecamp.com/llms.txt returned 404. No other first-party llms.txt was opened, so the field stays unknown.",
   "source": "https://basecamp.com/llms.txt",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "verdict.scores.api",
   "note": "The JSON API is broad, versioned by account, documented, and paired with official SDKs. User-Agent, OAuth, and rate limits are operational constraints inside an 8.",
   "source": "https://github.com/basecamp/bc-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "verdict.scores.cli",
   "note": "The official CLI has JSON output, OAuth with device flow, and commands for projects, todos, messages, and related resources.",
   "source": "https://github.com/basecamp/basecamp-cli",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "verdict.scores.mcp",
   "note": "Pricing still says official full MCP support for ChatGPT, Claude, and AI agents is coming soon. The current MCP path is the local basecamp mcp command.",
   "source": "https://basecamp.com/pricing",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "freshness.watch[0].url",
   "note": "Opened the Basecamp API reference, including OAuth, JSON, pagination, and the endpoint index.",
   "source": "https://github.com/basecamp/bc-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "freshness.watch[1].url",
   "note": "Opened the official CLI README, including JSON output and the basecamp mcp command.",
   "source": "https://github.com/basecamp/basecamp-cli",
   "tier": "declared"
  },
  {
   "date": "2026-09-28",
   "fact": "freshness.watch[2].url",
   "note": "Opened Basecamp pricing, including the free plan and the coming-soon line for full MCP support.",
   "source": "https://basecamp.com/pricing",
   "tier": "declared"
  }
 ],
 "freshness": {
  "last_verified": "2026-09-28",
  "volatility": "medium",
  "watch": [
   {
    "type": "docs",
    "url": "https://github.com/basecamp/bc-api"
   },
   {
    "type": "docs",
    "url": "https://github.com/basecamp/basecamp-cli"
   },
   {
    "type": "docs",
    "url": "https://basecamp.com/pricing"
   }
  ]
 },
 "homepage": "https://basecamp.com/",
 "id": "basecamp",
 "license": "freemium",
 "modalities": {
  "agent_docs": {
   "llms_txt": "unknown"
  },
  "api": {
   "auth": [
    "oauth2"
   ],
   "coverage": "partial",
   "docs": "https://github.com/basecamp/bc-api",
   "exists": true,
   "kinds": [
    "rest"
   ]
  },
  "cli": {
   "exists": true
  },
  "computer_use": {
   "issues": [],
   "viability": "unknown"
  },
  "data_access": {
   "export": [
    "json"
   ],
   "import": [
    "json"
   ]
  },
  "extensibility": {
   "scripting": [],
   "webhooks": true
  },
  "integrations": {
   "make": "unknown",
   "n8n": "unknown",
   "power_automate": "unknown",
   "zapier": "unknown"
  },
  "mcp": {
   "first_party": true,
   "third_party": [],
   "verdict": "official"
  },
  "rpa": {
   "drivability": "unknown",
   "notes": "No repeatable UI probe was run. Basecamp is a web product. The HTTP API, official CLI, and basecamp mcp command cover projects, todos, and messages without browser control.\n",
   "ui_stack": [
    "web-dom"
   ],
   "vendor_support": []
  },
  "sdk": {
   "exists": true,
   "languages": [
    "go",
    "ruby",
    "typescript",
    "swift",
    "kotlin",
    "python",
    "rust"
   ],
   "official": true
  }
 },
 "name": "Basecamp",
 "platforms": [
  "web"
 ],
 "related": {
  "alternatives": [
   "asana",
   "linear",
   "clickup"
  ],
  "our_products": []
 },
 "schema_version": 1,
 "score_version": 1,
 "status": "active",
 "vendor": "37signals",
 "verdict": {
  "best_path": "api",
  "scores": {
   "api": 8,
   "cli": 8,
   "computer_use": null,
   "integrations": null,
   "mcp": 7,
   "overall": 8,
   "rpa": null
  },
  "summary": "Basecamp is automatable today through its HTTP API. This record is the current Basecamp product from 37signals. The homepage calls the 2026 release Basecamp 5. HEY and Fizzy are separate products. API URLs start at https://3.basecampapi.com/{accountId}/ and end in .json. Requests send Authorization: Bearer and a User-Agent that names the application. Missing User-Agent returns 400. The authorization guide says every Basecamp 5 request uses an OAuth 2 token. Access tokens expire after two weeks. The same guide says Basecamp also accepts a personal access token and a legacy Launchpad token, and that a DPoP-bound token must use Authorization: DPoP rather than Bearer. The official SDK README says there is no API key and no personal access token, and that a static token is one the caller already holds. Account selection uses the product code bc3. The API reference lists projects, todos, messages, card tables, campfires, people, and many other resources, paginates with Link and X-Total-Count, and describes a first common limit of 50 requests per 10 seconds per IP. Official SDKs exist for Go, Ruby, TypeScript, Swift, Kotlin, Python, and Rust. The basecamp CLI is the official command-line interface, prints JSON with --json, and can log in with the OAuth device flow when the server advertises it. basecamp mcp serves that signed-in account over stdio, with a read-only flag. The pricing page still says official full MCP support for ChatGPT, Claude, and AI agents is coming soon. Webhooks POST JSON to an HTTPS URL. Connector catalogs were not opened. https://basecamp.com/llms.txt returned 404 on this pass, so an llms.txt guide is not established. Computer-use viability is unassessed. The API and CLI both score 8. The API is the best path because it does not depend on the local basecamp binary. The MCP command scores 7.\n"
 }
}