import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as models from "../models/index.js"; import * as operations from "../models/operations/index.js"; import { PageIterator } from "../types/operations.js"; export declare class Datasets extends ClientSDK { /** * Top apps by token usage * * @remarks * Returns the top public apps on OpenRouter ranked by token usage inside the requested * date window, matching the public apps marketplace on openrouter.ai/apps. Token totals * are `prompt_tokens + completion_tokens`; hidden and private apps are excluded and * traffic from related app aliases is merged into the canonical visible app. * * `sort=popular` (default) ranks by total token volume inside the window. * `sort=trending` ranks by absolute excess token growth: window volume minus the average * volume of the three equal-length periods immediately preceding the window. Apps with * no excess growth are omitted, so `trending` may return fewer than `limit` rows. * * Filter with `category` (marketplace category group, e.g. `coding`) or `subcategory` * (e.g. `cli-agent`). Ranks are re-numbered 1..N after filtering. Page with `offset` — * `rank` stays absolute, so the first row of `offset=50` is `rank: 51`. * * Authenticate with any valid OpenRouter API key (same key used for inference). * Rate-limited to 30 requests/minute per key and 500 requests/day per account. * * When republishing or quoting this dataset, OpenRouter must be cited as: * "Source: OpenRouter (openrouter.ai/apps), as of {as_of}." * * Token counts come from each upstream provider's own tokenizer, so a token attributed * to one app is not directly comparable to a token attributed to another app whose * traffic flows through a different provider. * * Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter. */ getAppRankings(request?: operations.GetAppRankingsRequest | undefined, options?: RequestOptions): Promise>; /** * Daily token totals for top 50 models * * @remarks * Returns the top 50 public models per day by total token usage on OpenRouter, plus a * single aggregated `other` row per day that sums every model outside that top 50. * Token totals are `prompt_tokens + completion_tokens`, matching the public rankings * chart on openrouter.ai/rankings. * * Each row is a distinct `(date, model_permaslug)` pair. The `other` row uses the * reserved permaslug `other` and is always returned last within its date, so callers * can compute `top-50 traffic / total daily traffic` without a second request. * * Optional filters slice the dataset. `period` (`day`/`week`/`month`) sets the time * grain. `modality` and `context_bucket` narrow the exact dataset by output/input * modality (or tool-calling activity) and request context length. `category` and * `language_type` instead read a sampled, upsampled dataset whose `total_tokens` are * weekly-grain estimates — they cannot be combined with each other or with the exact * filters, and reject `period=day` with a 400. * * Authenticate with any valid OpenRouter API key (same key used for inference). * Rate-limited to 30 requests/minute per key and 500 requests/day per account. * * When republishing or quoting this dataset, OpenRouter must be cited as: * "Source: OpenRouter (openrouter.ai/rankings), as of {as_of}." * * Token counts come from each upstream provider's own tokenizer (Anthropic counts * are as reported by Anthropic, OpenAI counts are as reported by OpenAI, etc.), so * a token in one row is not directly comparable to a token in another row from a * different provider. * * Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter. */ getRankingsDaily(request?: operations.GetRankingsDailyRequest | undefined, options?: RequestOptions): Promise; /** * Cost per session by harness and model * * @remarks * Returns weekly refreshed, aggregated cost-per-session cells for the published harnesses. * Sessions are never pooled across apps. Medians are of per-session USD spend, and * privacy-preserving aggregation never exposes clerk_user_id values or per-session rows. * * Filter by `app_slug`, `model`, or `turn_range`. Filtering by `model` alone works across apps * for harness-vs-harness comparison at a fixed model. Results refresh weekly and include the source snapshot * window in `meta`. * * Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter. */ getSessionCost(request?: operations.GetSessionCostRequest | undefined, options?: RequestOptions): Promise>; } //# sourceMappingURL=datasets.d.ts.map