API Reference Documentation

Every action performed in the user interface is fully supported by our REST API. CORS headers are enabled globally to allow programmatic downloads and metadata querying from external build scripts or CLI pipelines.

GET/api/tools
List available SDK tools/packages

Retrieve all tools with optional filtering by type/name, OS, version, and architecture. Supports paginated results.

Query Parameters

NameTypeRequirementDescription
namestringOPTIONALFilter by category name (e.g. ndk, cmake, build-tools)
versionstringOPTIONALFilter by exact version number
osstringOPTIONALFilter by OS compatibility (windows, macosx, linux)
archstringOPTIONALFilter by target CPU architecture (x86_64, arm64, x86)
qstringOPTIONALGeneral keyword query to search across name and version (e.g. 26.2.11394342)
pageintegerOPTIONALPage index (starts at 1, defaults to 1)
limitintegerOPTIONALItems per page (max 100, defaults to 20)

CURL Request Example

curl "http://localhost:3000/api/tools?name=cmake&os=linux"

JSON Response Schema

{
  "success": true,
  "data": [
    {
      "name": "cmake",
      "version": "3.22.1",
      "os": "linux",
      "arch": "x86_64",
      "downloadUrl": "https://dl.google.com/android/repository/cmake-3.22.1-linux-x86_64.zip",
      "checksum": "a394e3e41e7044e1dba2e89ff5187479451eabf01fb78af6dfcb131a6481ee6620",
      "sizeBytes": 82194829,
      "lastUpdated": "2026-06-05T18:10:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1,
    "totalPages": 1
  }
}
GET/api/tools/versions
Get available versions of a tool

List all unique versions available for a tool by name, optionally filtered by platform and architecture.

Query Parameters

NameTypeRequirementDescription
namestringREQUIREDCategory name (e.g. ndk, cmake)
osstringOPTIONALFilter by OS target
archstringOPTIONALFilter by CPU architecture

CURL Request Example

curl "http://localhost:3000/api/tools/versions?name=ndk&os=macosx"

JSON Response Schema

{
  "success": true,
  "name": "ndk",
  "versions": [
    "26.1.10909125",
    "25.2.9519653"
  ]
}
GET/api/tools/download
Download a tool package

Logs the download statistics and redirects the client directly to the raw Google CDN zip package.

Query Parameters

NameTypeRequirementDescription
namestringREQUIREDName of the tool (e.g. ndk)
versionstringREQUIREDVersion string (e.g. 26.1.10909125)
osstringREQUIREDTarget OS (windows, macosx, linux)
archstringREQUIREDTarget architecture (x86_64, arm64)

CURL Request Example

curl -L -o "ndk.zip" "http://localhost:3000/api/tools/download?name=ndk&version=26.1.10909125&os=macosx&arch=arm64"

JSON Response Schema

HTTP/1.1 302 Found
Location: https://dl.google.com/android/repository/android-ndk-r26b-darwin.zip
GET/api/stats
Get download metrics & telemetry summary

Returns aggregated statistics counts grouped by name, operating system, CPU architecture, and daily download frequency.

CURL Request Example

curl "http://localhost:3000/api/stats"

JSON Response Schema

{
  "success": true,
  "data": {
    "totalDownloads": 319,
    "topTools": [
      { "_id": "ndk", "count": 124 },
      { "_id": "cmake", "count": 85 }
    ],
    "osBreakdown": [
      { "_id": "linux", "count": 180 },
      { "_id": "macosx", "count": 95 }
    ],
    "archBreakdown": [
      { "_id": "x86_64", "count": 210 },
      { "_id": "arm64", "count": 109 }
    ],
    "trends": [
      { "_id": "2026-06-05", "count": 25 }
    ]
  }
}