Git.Top Category API

The Category API from Git.Top — 1 operation(s) for category.

GitHub OpenAPI

Operations 1

GET /api/category/{category} List projects in a category with snapshot-bound cursor pagination #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/git-top:git-top-category-api"
All apis
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.

Get an API 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 Specification

git-top-category-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Git.Top Agent Category 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: Category
paths:
  /api/category/{category}:
    get:
      summary: List projects in a category with snapshot-bound cursor pagination
      parameters:
      - name: category
        in: path
        required: true
        description: Git.Top project category
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Maximum result count
        schema:
          type: string
      - name: cursor
        in: query
        required: false
        description: Opaque next_cursor bound to this category and corpus snapshot
        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: Category knowledge rows with pagination and metadata
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryResponse'
        '400':
          description: Invalid cursor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Cursor snapshot is stale
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Category
      operationId: getApiCategoryByCategory
      x-operation-id-source: derived
components:
  schemas:
    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'
    CursorPage:
      type: object
      required:
      - offset
      - limit
      - has_more
      - next_cursor
      - snapshot_id
      properties:
        offset:
          type: integer
          minimum: 0
        limit:
          type: integer
          minimum: 1
          maximum: 100
        has_more:
          type: boolean
        next_cursor:
          type:
          - string
          - 'null'
          description: Opaque cursor for the next page, or null on the final page.
        snapshot_id:
          type: string
          description: Corpus snapshot to which this page and cursor are bound.
    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.
    CategoryResponse:
      type: object
      required:
      - projects
      - page
      - metadata
      properties:
        projects:
          type: array
          items:
            type: object
            additionalProperties: true
          description: Full project knowledge rows retained for backward compatibility.
        page:
          $ref: '#/components/schemas/CursorPage'
        metadata:
          $ref: '#/components/schemas/Metadata'
  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.