API Documentation

Programmatic access to cloud instance and LLM model pricing data. Read-only JSON API with Bearer token authentication.

Authentication

All API requests require a Bearer token in the Authorization header.

curl -H "Authorization: Bearer cp_your_key_here" \
  https://cloudpricing.buford.dev/api/v1/llm_models

Keys are issued via email after approval. Lost your key? Request a new one โ€” old keys can be revoked.

Base URL

https://cloudpricing.buford.dev/api/v1

Rate Limits

100 requests per minute per API key. Rate limit info is included in every response:

Header Description
X-RateLimit-Limit Max requests per minute (100)
X-RateLimit-Remaining Requests remaining in current window
Retry-After Seconds to wait (only on 429 responses)

Response Format

All responses are JSON. List endpoints return paginated results:

{
  "data": [ ... ],
  "meta": {
    "current_page": 1,
    "total_pages": 12,
    "total_count": 285,
    "per_page": 25
  }
}

Use page and per_page (max 100) query params to paginate.

Endpoints

GET /api/v1/instances

List cloud compute instances with optional filters.

Parameter Type Description
providers[] array Filter by provider slug: aws, gcp, azure
q string Search instance type names
vcpus_min / vcpus_max integer Filter by vCPU count range
memory_min / memory_max number Filter by memory (GB) range
family string Filter by instance family
sort string price, vcpus, memory, price_per_vcpu, price_per_gb, instance_type
direction string asc (default) or desc

Example

curl -H "Authorization: Bearer cp_..." \
  "https://cloudpricing.buford.dev/api/v1/instances?providers[]=aws&vcpus_min=4&sort=price"
GET /api/v1/instances/:id

Returns a single instance by ID. Response wraps the object in data.

GET /api/v1/llm_models

List LLM models with pricing and capability info.

Parameter Type Description
providers[] array Filter by provider slug: anthropic, openai, google, meta, mistral
q string Search model names
context_min / context_max integer Filter by context window size (tokens, in thousands)
sort string input_price, output_price, blended_price, context, name
direction string asc (default) or desc

Example

curl -H "Authorization: Bearer cp_..." \
  "https://cloudpricing.buford.dev/api/v1/llm_models?providers[]=anthropic&sort=output_price"
GET /api/v1/llm_models/:id

Returns a single LLM model by ID.

GET /api/v1/providers

List cloud infrastructure providers (AWS, GCP, Azure) with instance counts.

GET /api/v1/llm_providers

List LLM providers (Anthropic, OpenAI, Google, Meta, Mistral) with model counts.

Error Codes

Status Meaning
401 Unauthorized Missing, invalid, or revoked API key
404 Not Found Resource doesn't exist
429 Too Many Requests Rate limit exceeded โ€” check Retry-After header

Request Access

Submit your request and you'll receive an API key by email once approved.