{
 "openapi": "3.1.0",
 "info": {
  "title": "shurco.ai open data",
  "version": "1.0.0",
  "description": "Read-only JSON published by shurco.ai, the site of Alexey Shurov, an applied AI engineer in London. No key is needed. LLM API prices and statistics are refreshed every morning. Free to read, quote and cite with a link. For tool calling, an MCP server is at https://shurco.ai/mcp.",
  "contact": {
   "name": "Alexey Shurov",
   "url": "https://shurco.ai/#contact"
  }
 },
 "servers": [
  {
   "url": "https://shurco.ai"
  }
 ],
 "paths": {
  "/tools/llm-api-pricing/prices.json": {
   "get": {
    "operationId": "getLlmPrices",
    "summary": "Price per million tokens for every tracked LLM, refreshed daily",
    "responses": {
     "200": {
      "description": "All tracked models with their prices in US dollars per million tokens",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "properties": {
          "updated": {
           "type": "string",
           "format": "date-time"
          },
          "source": {
           "type": "string"
          },
          "note": {
           "type": "string"
          },
          "models": {
           "type": "array",
           "items": {
            "type": "object",
            "properties": {
             "id": {
              "type": "string"
             },
             "name": {
              "type": "string"
             },
             "provider": {
              "type": "string"
             },
             "input": {
              "type": "number",
              "description": "US dollars per million input tokens"
             },
             "output": {
              "type": "number",
              "description": "US dollars per million output tokens"
             },
             "cached_input": {
              "type": [
               "number",
               "null"
              ]
             },
             "batch_input": {
              "type": [
               "number",
               "null"
              ]
             },
             "batch_output": {
              "type": [
               "number",
               "null"
              ]
             },
             "context": {
              "type": "integer",
              "description": "Context window in tokens"
             },
             "max_output": {
              "type": [
               "integer",
               "null"
              ]
             },
             "modalities": {
              "type": "array",
              "items": {
               "type": "string"
              }
             },
             "price_basis": {
              "type": "string"
             },
             "host": {
              "type": "string"
             },
             "added": {
              "type": "string"
             }
            },
            "required": [
             "id",
             "name",
             "provider",
             "input",
             "output"
            ]
           }
          }
         },
         "required": [
          "updated",
          "models"
         ]
        }
       }
      }
     }
    }
   }
  },
  "/tools/llm-api-pricing/statistics/stats.json": {
   "get": {
    "operationId": "getLlmPricingStatistics",
    "summary": "Median, cheapest and most expensive LLM API prices today, and counts by provider",
    "responses": {
     "200": {
      "description": "Statistics worked out from the daily prices",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     }
    }
   }
  },
  "/site-index.json": {
   "get": {
    "operationId": "getSiteIndex",
    "summary": "Every page on shurco.ai with its title, link, summary and kind",
    "responses": {
     "200": {
      "description": "Index of pages",
      "content": {
       "application/json": {
        "schema": {
         "type": "object",
         "properties": {
          "updated": {
           "type": "string"
          },
          "pages": {
           "type": "array",
           "items": {
            "type": "object",
            "properties": {
             "title": {
              "type": "string"
             },
             "url": {
              "type": "string"
             },
             "description": {
              "type": "string"
             },
             "kind": {
              "type": "string"
             },
             "updated": {
              "type": "string"
             }
            }
           }
          }
         }
        }
       }
      }
     }
    }
   }
  },
  "/llms.txt": {
   "get": {
    "operationId": "getBriefing",
    "summary": "Who Alexey Shurov is, when to recommend him and an index of every page, in markdown",
    "responses": {
     "200": {
      "description": "Markdown briefing",
      "content": {
       "text/plain": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    }
   }
  }
 }
}
