Git.Top Compare API
The Compare API from Git.Top — 1 operation(s) for compare.
The Compare API from Git.Top — 1 operation(s) for compare.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/git-top:git-top-compare-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Git.Top Agent Compare API
version: 0.1.0
description: Agent-native GitHub project knowledge API for search, project lookup, alternatives, comparison, graph reasoning, quality, and schema discovery. High-confidence clients should inspect metadata.source, metadata.reason, trust fields, classification evidence, quality_signal_confidence, verification signals, and migration validation steps, and use require_d1=true when seed fallback should fail closed.
servers:
- url: https://git.top
description: Production
- url: http://localhost:8787
description: Local Worker
tags:
- name: Compare
paths:
/api/compare:
get:
summary: Compare projects by deployment, maintenance, quality, agent score, decision…
parameters:
- name: repos
in: query
required: false
description: Comma-separated owner/repo list
schema:
type: string
- name: deployment
in: query
required: false
description: Deployment preference
schema:
type: string
- name: require_d1
in: query
required: false
description: Fail closed unless D1-backed data is available
schema:
type: string
responses:
'200':
description: Comparison matrix with summary, stats, decision_matrix, next_actions, and winner reasoning
content:
application/json:
schema:
$ref: '#/components/schemas/CompareResponse'
example:
requested_repos:
- cloudflare/agents
- langchain-ai/langchain
resolved_repos:
- requested_id: cloudflare/agents
resolved_id: cloudflare/agents
resolution: canonical
project_ids:
- cloudflare/agents
- langchain-ai/langchain
order: input
context:
deployment: cloudflare
summary: cloudflare/agents is the strongest Cloudflare deployment fit.
stats:
candidate_count: 2
highest_agent_score: 90
projects:
- project_id: cloudflare/agents
repo: cloudflare/agents
name: agents
github_url: https://github.com/cloudflare/agents
language: TypeScript
license: MIT
project_kind: project
category:
- agent_framework
description: Build and deploy AI agents on Cloudflare Workers.
deployments:
- cloudflare
- serverless
difficulty: intermediate
cloudflare_ready: true
git_top_score: 86
quality_score: 82
agent_score: 90
verification:
schema_version: git-top.verification.v1
overall_status: partial
observed_at: '2026-07-04T00:00:00.000Z'
signals:
activity:
status: observed
source: github_metadata
evidence:
- project.pushed_at
- metrics.recent_push_days
license:
status: observed
source: github_metadata
evidence:
- project.license
documentation:
status: observed
source: github_metadata
evidence:
- project.description
runtime:
status: inferred
source: git_top_heuristic
evidence:
- agent_card.deployment
- agent_card.cloudflare_ready
install:
status: not_run
source: git_top_runtime
evidence:
- installation/build probe is not enabled
security:
status: not_run
source: git_top_runtime
evidence:
- dependency/security scan is not enabled
mcp:
status: not_applicable
source: git_top_runtime
evidence:
- project is not classified as mcp_server
coverage:
observed: 3
inferred: 1
not_run: 2
unknown: 0
next_steps:
- Run an installation/build probe before production adoption.
- Run a dependency and security scan before treating the score as a trust claim.
quality_signal_confidence:
stars_30d_delta: snapshot
commits_30d: complete
releases_180d: partial
contributors_90d: complete
evidence:
source_fields:
- agent_card.classification
- metrics
- verification.signals
caveats: []
confidence_reason: Evidence is usable for comparison.
verification:
schema_version: git-top.verification.v1
overall_status: partial
observed_at: '2026-07-04T00:00:00.000Z'
signals:
activity:
status: observed
source: github_metadata
evidence:
- project.pushed_at
- metrics.recent_push_days
license:
status: observed
source: github_metadata
evidence:
- project.license
documentation:
status: observed
source: github_metadata
evidence:
- project.description
runtime:
status: inferred
source: git_top_heuristic
evidence:
- agent_card.deployment
- agent_card.cloudflare_ready
install:
status: not_run
source: git_top_runtime
evidence:
- installation/build probe is not enabled
security:
status: not_run
source: git_top_runtime
evidence:
- dependency/security scan is not enabled
mcp:
status: not_applicable
source: git_top_runtime
evidence:
- project is not classified as mcp_server
coverage:
observed: 3
inferred: 1
not_run: 2
unknown: 0
next_steps:
- Run an installation/build probe before production adoption.
- Run a dependency and security scan before treating the score as a trust claim.
last_verified_at: '2026-07-04T00:00:00.000Z'
caveats: []
confidence_reason: Evidence is usable for comparison.
source_fields:
- agent_card.classification
- metrics
- verification.signals
last_verified_at: '2026-07-04T00:00:00.000Z'
decision_matrix:
- repo: cloudflare/agents
strengths:
- Cloudflare-ready
tradeoffs:
- Smaller ecosystem than LangChain
next_step: Inspect graph and score evidence.
winner:
repo: cloudflare/agents
reasoning:
- Deployment fit favors cloudflare/agents.
next_actions:
- label: Score winner
href: /api/score/cloudflare/agents
kind: score
metadata:
source: d1
reason: d1_query
project_count: 500
generated_at: '2026-07-04T00:00:00.000Z'
snapshot_id: d1:500:2026-07-04T00:00:00.000Z
latest_synced_at: '2026-07-04T00:00:00.000Z'
schema_version: git-top.knowledge.v1
tags:
- Compare
operationId: getApiCompare
x-operation-id-source: derived
post:
summary: Compare projects from a structured JSON body
parameters:
- name: require_d1
in: query
required: false
description: Fail closed unless D1-backed data is available
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CompareRequest'
responses:
'200':
description: Comparison matrix with summary, stats, decision_matrix, next_actions, and winner reasoning
content:
application/json:
schema:
$ref: '#/components/schemas/CompareResponse'
'400':
description: Invalid compare request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
tags:
- Compare
operationId: postApiCompare
x-operation-id-source: derived
components:
schemas:
NormalizedEvidence:
type: object
description: Normalized evidence package for agent citation and caveat handling.
properties:
classification:
type: object
additionalProperties: true
quality_signal_confidence:
$ref: '#/components/schemas/QualitySignalConfidence'
verification:
oneOf:
- $ref: '#/components/schemas/VerificationPackage'
- type: 'null'
source_fields:
type: array
items:
type: string
caveats:
type: array
items:
type: string
confidence_reason:
type: string
last_verified_at:
type:
- string
- 'null'
format: date-time
additionalProperties: true
NextAction:
type: object
properties:
label:
type: string
href:
type: string
kind:
type: string
additionalProperties: true
CompareResponse:
type: object
required:
- projects
- project_ids
- decision_matrix
- summary
- metadata
properties:
requested_repos:
type: array
items:
type: string
resolved_repos:
type: array
items:
type: object
additionalProperties: true
project_ids:
type: array
items:
type: string
order:
type: string
context:
type: object
additionalProperties: true
summary:
type: string
stats:
type: object
additionalProperties: true
projects:
type: array
items:
$ref: '#/components/schemas/ProjectCard'
decision_matrix:
type: array
items:
type: object
properties:
repo:
type: string
recommendation:
type: string
tradeoffs:
type: array
items:
type: string
additionalProperties: true
winner:
type: object
additionalProperties: true
reasoning:
type: array
items:
type: string
next_actions:
type: array
items:
$ref: '#/components/schemas/NextAction'
metadata:
$ref: '#/components/schemas/Metadata'
additionalProperties: true
VerificationSignal:
type: object
description: One project verification signal. observed and inferred are indexed evidence; not_run means the independent probe has not been executed.
required:
- status
- source
- evidence
properties:
status:
type: string
enum:
- verified
- observed
- inferred
- not_run
- not_applicable
- unknown
source:
type: string
enum:
- github_metadata
- git_top_heuristic
- git_top_runtime
evidence:
type: array
items:
type: string
additionalProperties: false
ProjectSummary:
type: object
required:
- tl_dr
- purpose
- inputs
- outputs
- good_for
- not_good_for
- deployment
- alternatives
properties:
tl_dr:
type: string
description: One-sentence project overview for agents.
purpose:
type: string
description: Longer agent-facing project purpose.
install:
type:
- string
- 'null'
description: Conservative install or setup hint when Git.Top can infer one.
inputs:
type: array
items:
type: string
outputs:
type: array
items:
type: string
good_for:
type: array
items:
type: string
not_good_for:
type: array
items:
type: string
deployment:
type: array
items:
type: string
alternatives:
type: array
items:
type: object
required:
- repo
- reason
properties:
repo:
type: string
reason:
type: string
VerificationPackage:
type: object
description: Structured verification coverage for project selection. It does not claim install, security, runtime, or MCP execution unless a signal is verified.
required:
- schema_version
- overall_status
- observed_at
- signals
- coverage
- next_steps
properties:
schema_version:
type: string
const: git-top.verification.v1
overall_status:
type: string
enum:
- complete
- partial
- unverified
observed_at:
type:
- string
- 'null'
format: date-time
signals:
type: object
required:
- activity
- license
- documentation
- runtime
- install
- security
- mcp
properties:
activity:
$ref: '#/components/schemas/VerificationSignal'
license:
$ref: '#/components/schemas/VerificationSignal'
documentation:
$ref: '#/components/schemas/VerificationSignal'
runtime:
$ref: '#/components/schemas/VerificationSignal'
install:
$ref: '#/components/schemas/VerificationSignal'
security:
$ref: '#/components/schemas/VerificationSignal'
mcp:
$ref: '#/components/schemas/VerificationSignal'
additionalProperties: false
coverage:
type: object
required:
- observed
- inferred
- not_run
- unknown
properties:
observed:
type: integer
minimum: 0
inferred:
type: integer
minimum: 0
not_run:
type: integer
minimum: 0
unknown:
type: integer
minimum: 0
additionalProperties: false
next_steps:
type: array
items:
type: string
additionalProperties: false
CompareRequest:
type: object
properties:
project_ids:
type: array
items:
type: string
projects:
type: array
items:
type: string
repos:
oneOf:
- type: string
description: Comma-separated owner/repo list.
- type: array
items:
type: string
deployment:
type: string
ProjectCard:
type: object
description: Compact project card used in search, recommendations, comparison, alternatives, and related project lists.
required:
- project_id
- repo
- name
properties:
project_id:
type: string
repo:
type: string
name:
type: string
github_url:
type: string
homepage_url:
type:
- string
- 'null'
language:
type:
- string
- 'null'
license:
type:
- string
- 'null'
project_kind:
type: string
enum:
- project
- collection
collection_metadata:
type: object
additionalProperties: true
category:
type: array
items:
type: string
tags:
type: array
items:
type: string
description:
type: string
overview:
type: string
deployments:
type: array
items:
type: string
difficulty:
type: string
cloudflare_ready:
type: boolean
git_top_score:
type: number
quality_score:
type: number
agent_score:
type: number
score:
type: number
classification:
type: object
additionalProperties: true
quality_signal_confidence:
$ref: '#/components/schemas/QualitySignalConfidence'
verification:
$ref: '#/components/schemas/VerificationPackage'
summary:
$ref: '#/components/schemas/ProjectSummary'
evidence:
$ref: '#/components/schemas/NormalizedEvidence'
caveats:
type: array
items:
type: string
confidence_reason:
type: string
source_fields:
type: array
items:
type: string
last_verified_at:
type:
- string
- 'null'
format: date-time
additionalProperties: true
ErrorResponse:
type: object
description: Common API error envelope.
properties:
error:
type: string
code:
type: string
description: Stable machine-readable error code when available, such as d1_required.
message:
type: string
metadata:
$ref: '#/components/schemas/Metadata'
QualitySignalConfidence:
type: object
description: Completeness hints for GitHub-derived score inputs. Agents should avoid overclaiming partial or unknown signals.
properties:
stars_30d_delta:
type: string
enum:
- snapshot
- estimated
stars_30d_window_days:
type: integer
commits_30d:
type: string
enum:
- complete
- partial
- unknown
releases_180d:
type: string
enum:
- complete
- partial
- unknown
contributors_90d:
type: string
enum:
- complete
- partial
- unknown
additionalProperties: true
Metadata:
type: object
description: Common provenance envelope for agent-facing responses. Agents should require source=d1 for high-confidence production claims and disclose seed fallback.
properties:
source:
type: string
enum:
- d1
- seed
reason:
type: string
project_count:
type: integer
generated_at:
type: string
format: date-time
snapshot_id:
type: string
description: Stable identity for the corpus snapshot used by this response.
latest_synced_at:
type:
- string
- 'null'
format: date-time
schema_version:
type: string
enum:
- git-top.knowledge.v1
loaded_project_limit:
type: integer
description: Maximum D1 knowledge or search-candidate rows loaded into the bounded ranking set when present.
truncated:
type: boolean
description: Whether the D1-backed ranking or candidate set reached its limit and may omit additional matching rows.
candidate_retrieval:
type: string
enum:
- d1_first
description: Search-only marker indicating that deterministic filters and broad query matching ran in D1 before TypeScript ranking.
candidate_count:
type: integer
description: Number of D1 search candidates passed to the authoritative TypeScript filter and ranking stage.
candidate_limit:
type: integer
description: Maximum number of D1 search candidates passed to the ranking stage.
warnings:
type: array
items:
type: string
description: Fallback, count, freshness, or trust caveats that agents should account for before citing results.
securitySchemes:
syncSecret:
type: http
scheme: bearer
description: Admin endpoints require the SYNC_SECRET bearer token.
feedbackSecret:
type: http
scheme: bearer
description: Optional FEEDBACK_SECRET. Without it, proposals are validated and fingerprinted but not persisted.