{"adoption": {"forks": 136, "observed_at": "2026-08-28T04:04:52.235531+00:00", "stars": 1489}, "canonical_url": "https://ross.abutalabs.com/products/agentapi", "card": {"archived": false, "artifact_type": "service", "description": "HTTP API for Claude Code, Goose, Aider, Gemini, Amp, and Codex", "domain": ["large-language-models", "developer-tools", "apis"], "enriched": true, "function": ["api-framework", "http-server", "agent-framework", "mcp", "chat-interface", "cli"], "health_score": 90, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["coder/agentapi"], "name": "coder/agentapi", "platform": ["windows", "cli", "go", "self-hosted"], "pushed_at": "2026-05-27T15:06:20+00:00", "repo": "coder/agentapi", "stars": 1489, "tags": ["coding-agents", "claude-code", "aider", "gemini-cli", "codex", "http-api", "terminal-agents", "ai-agents", "automation", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["control claude code from an http api", "build a unified chat interface for coding agents", "let one ai agent control another coding agent via mcp", "automate submitting pull request reviews to a coding agent", "programmatically send messages and read conversation history from aider or goose", "integrate terminal coding agents into ci pipelines"], "what_it_is": "AgentAPI is a Go-based HTTP server that exposes a unified REST API for controlling terminal coding agents like Claude Code, Aider, Goose, Gemini CLI, Codex, and Cursor CLI. It also ships a built-in chat web interface and can serve as a backend for MCP servers that let one agent control another.", "when_to_avoid": ["you only use a single coding agent and its native API or SDK suffices", "you need a fully managed cloud service rather than a self-hosted binary", "your agents don't run in a terminal"], "when_to_choose": ["you need programmatic HTTP access to terminal-based coding agents", "you want one consistent API across multiple agent CLIs like Claude Code, Codex, and Aider", "you're building an MCP server or chat UI on top of coding agents"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/agentapi", "repo": "coder/agentapi", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.235531+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:33:40.626045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fe390025f8251ad55f560214d3b27320ce048a0bd5db7ed7705eee6d7b0e470", "fetched_at": "2026-08-28T04:04:52.235531+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coder/agentapi"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.235531+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:33:40.626045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fe390025f8251ad55f560214d3b27320ce048a0bd5db7ed7705eee6d7b0e470", "fetched_at": "2026-08-28T04:04:52.235531+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coder/agentapi"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:33:40.626045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fe390025f8251ad55f560214d3b27320ce048a0bd5db7ed7705eee6d7b0e470", "fetched_at": "2026-08-28T04:04:52.235531+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coder/agentapi"}], "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:04:52.235531+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.235531+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.235531+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:33:40.626045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fe390025f8251ad55f560214d3b27320ce048a0bd5db7ed7705eee6d7b0e470", "fetched_at": "2026-08-28T04:04:52.235531+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coder/agentapi"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.235531+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.235531+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:33:40.626045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fe390025f8251ad55f560214d3b27320ce048a0bd5db7ed7705eee6d7b0e470", "fetched_at": "2026-08-28T04:04:52.235531+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coder/agentapi"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.235531+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.235531+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.235531+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:33:40.626045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fe390025f8251ad55f560214d3b27320ce048a0bd5db7ed7705eee6d7b0e470", "fetched_at": "2026-08-28T04:04:52.235531+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coder/agentapi"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.235531+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.235531+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:33:40.626045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fe390025f8251ad55f560214d3b27320ce048a0bd5db7ed7705eee6d7b0e470", "fetched_at": "2026-08-28T04:04:52.235531+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coder/agentapi"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:33:40.626045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fe390025f8251ad55f560214d3b27320ce048a0bd5db7ed7705eee6d7b0e470", "fetched_at": "2026-08-28T04:04:52.235531+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coder/agentapi"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:33:40.626045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fe390025f8251ad55f560214d3b27320ce048a0bd5db7ed7705eee6d7b0e470", "fetched_at": "2026-08-28T04:04:52.235531+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coder/agentapi"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:33:40.626045+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fe390025f8251ad55f560214d3b27320ce048a0bd5db7ed7705eee6d7b0e470", "fetched_at": "2026-08-28T04:04:52.235531+00:00", "kind": "readme", "missing": false, "url": "https://github.com/coder/agentapi"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 84, "longevity": 36, "rhythm": 86}, "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": 513, "days_push": 98, "days_rel": 98, "gap_med": 6, "n_releases_24m": 34}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}