Api Endpoint

api.agentstools.dev

Pick the cheapest LLM that passes your task and constraints. Give a task class and optional constraints such as minimum context, required tool-use, vision or reasoning, maximum input and output price per million tokens, a minimum coding benchmark and a provider filter, and get a ranked cheapest-first list of models that pass, plus a recommended pick and a deterministic rationale. Fused from open keyless catalogs LiteLLM, models dev and Aider with a citation on every model.

Open interactive test console

Offering

Provider
api.agentstools.dev
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Development
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://api.agentstools.dev/model/route
MIME type
application/json
First seen
2026-10-16T01:50:45.949Z
Last seen
Tags
LLM, model-routing, model-selection, pricing, benchmark, capabilities, cheapest, Agent-Infra, coding-agent, orchestration, litellm, aider

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.02 USDC
Atomic price: 20000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "20000",
    "payTo": "0xF22e558a00D91Ee12A1F50C52186FecB8dDFf493"
  }
]

Observed health

Status
Healthy
Latest latency
1240 ms
Average latency
794 ms
HTTP status
402
Last checked
Reachability
100% over 12 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "HEAD",
        "DELETE"
      ]
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "task": {
          "type": "string",
          "enum": [
            "coding",
            "reasoning",
            "vision",
            "tool-use",
            "long-context",
            "cheap-chat",
            "general"
          ],
          "description": "The workload class to route for. Each class implies required capabilities and a sensible context floor that your explicit constraints override."
        },
        "min_context": {
          "type": "integer",
          "minimum": 0,
          "description": "Minimum context window in tokens."
        },
        "needs_tools": {
          "type": "boolean",
          "description": "Require function or tool calling support."
        },
        "needs_vision": {
          "type": "boolean",
          "description": "Require image or vision input support."
        },
        "needs_reasoning": {
          "type": "boolean",
          "description": "Require extended reasoning support."
        },
        "max_input_price": {
          "type": "number",
          "minimum": 0,
          "description": "Maximum input price in USD per million tokens."
        },
        "max_output_price": {
          "type": "number",
          "minimum": 0,
          "description": "Maximum output price in USD per million tokens."
        },
        "min_benchmark": {
          "type": "number",
          "minimum": 0,
          "maximum": 100,
          "description": "Minimum Aider coding pass rate percent."
        },
        "provider": {
          "type": "string",
          "description": "Optional provider filter such as anthropic or openai."
        }
      },
      "required": [
        "task"
      ]
    }
  },
  "required": [
    "type",
    "method"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET",
            "HEAD",
            "DELETE"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "max_input_price": {
              "description": "Maximum input price in USD per million tokens.",
              "minimum": 0,
              "type": "number"
            },
            "max_output_price": {
              "description": "Maximum output price in USD per million tokens.",
              "minimum": 0,
              "type": "number"
            },
            "min_benchmark": {
              "description": "Minimum Aider coding pass rate percent.",
              "maximum": 100,
              "minimum": 0,
              "type": "number"
            },
            "min_context": {
              "description": "Minimum context window in tokens.",
              "minimum": 0,
              "type": "integer"
            },
            "needs_reasoning": {
              "description": "Require extended reasoning support.",
              "type": "boolean"
            },
            "needs_tools": {
              "description": "Require function or tool calling support.",
              "type": "boolean"
            },
            "needs_vision": {
              "description": "Require image or vision input support.",
              "type": "boolean"
            },
            "provider": {
              "description": "Optional provider filter such as anthropic or openai.",
              "type": "string"
            },
            "task": {
              "description": "The workload class to route for. Each class implies required capabilities and a sensible context floor that your explicit constraints override.",
              "enum": [
                "coding",
                "reasoning",
                "vision",
                "tool-use",
                "long-context",
                "cheap-chat",
                "general"
              ],
              "type": "string"
            }
          },
          "required": [
            "task"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}