{"x402Version":2,"items":[{"resource":"https://datastand.dev/api/data/npm-vuln-digest","type":"http","x402Version":2,"description":"The latest npm security advisories, normalized for machines: severity, CVSS 3.x and 4.0 (score and vector, each null when upstream has not scored that version), EPSS (`epss_score`, the probability of exploitation in the next 30 days, and `epss_percentile`, both null where the advisory has no CVE or no score) so you can rank by how likely an attack is and not only how bad, affected packages, vulnerable ranges, patched versions, a per-row `packages` list — the distinct package names the advisory touches, so matching a build against your lockfile is one set lookup per row instead of walking every vulnerable range — and a per-row `fix_status` (patched, partial or unpatched) so the advisories no upgrade can fix stand out without walking every affected package, and a per-row `source_repo` — the advisory's upstream repository as a plain http(s) URL, null where GitHub has none recorded — so you can join advisories to a repo without cleaning git+/.git spellings. Merged from two upstream orderings — the 100 most recently published advisories and the 100 most recently REVISED — so a CVSS score finally assigned, or a vulnerable range widened to include the version you run, reaches you instead of being invisible because the advisory was published weeks ago. Derived from the GitHub Advisory Database (CC-BY 4.0, attributed). Add ?since=<ISO-8601> to get only the advisories published or revised since your last fetch; if nothing has changed you are not charged, so polling for new vulnerabilities costs nothing until there are some. Every build carries a `coverage` block stating what it can and cannot answer: `delta_complete_since` is the point back to which a ?since= delta is complete — ask for one earlier and it is refused for free rather than served short — and `upstream_unchanged_since` says how long upstream has been serving the same newest advisory, because generated_at is the age of our fetch and not the age of the content. That block is on this free listing (info.output.example.coverage) at the current build's own figures, so you can check the bound against your polling interval before you pay for anything. The same block's `mix` counts what the build holds — rows per severity and per fix_status, how many carry an EPSS score, and `unpatched_critical` — so you can see whether a build has anything you would act on before buying it.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"20000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x470a1b647d668d3820add26d70c8371557ff4c6b","maxTimeoutSeconds":120,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"since":"2026-08-31T10:12:22Z"}},"output":{"type":"json","example":{"dataset":"npm-vuln-digest","generated_at":"2026-11-01T14:13:05.263Z","coverage":{"rows":119,"published_from":"2021-09-02T17:16:46.000Z","published_to":"2026-10-30T23:10:23.000Z","updated_from":"2026-10-23T21:57:38.000Z","updated_to":"2026-10-31T16:24:12.000Z","delta_complete_known":true,"delta_complete_since":"2026-10-27T16:09:36.000Z","upstream_moved":false,"upstream_unchanged_since":"2026-11-01T11:52:40.036Z","sources":[{"sort":"published","ok":true,"rows":100,"truncated":true,"error":null},{"sort":"updated","ok":true,"rows":100,"truncated":true,"error":null}],"mix":{"severity":{"critical":8,"high":60,"medium":33,"low":18,"other":0},"fix_status":{"patched":107,"partial":4,"unpatched":8,"null":0},"epss_scored":101,"unpatched_critical":0},"checked_at":"2026-11-01T14:13:05.263Z","notes_omitted":["note","delta_complete_note","upstream_note"],"notes_omitted_reason":"Prose only: sentences explaining the figures above. They are in this SKU's catalog description, and verbatim in the paid file. No fact is omitted here."},"count":119,"fields":[{"field":"ghsa_id","present":119},{"field":"cve_id","present":102},{"field":"summary","present":119},{"field":"severity","present":119},{"field":"cvss_score","present":83},{"field":"cvss_vector","present":83},{"field":"cvss_v4_score","present":43},{"field":"cvss_v4_vector","present":43},{"field":"epss_score","present":101},{"field":"epss_percentile","present":101},{"field":"cwes","present":118},{"field":"published_at","present":119},{"field":"updated_at","present":119},{"field":"affected","present":119},{"field":"packages","present":119},{"field":"fix_status","present":119},{"field":"source_repo","present":117},{"field":"url","present":119}],"items":[{"ghsa_id":"GHSA-4528-x5fx-h6hg","cve_id":"CVE-2026-118772","summary":"joi: quadratic-time split in `string().email({ multiple: true })` allows denial of service","severity":"high","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","cvss_v4_score":null,"cvss_v4_vector":null,"epss_score":0.00467,"epss_percentile":0.40464,"cwes":["CWE-1333"],"published_at":"2026-10-30T23:10:23Z","updated_at":"2026-10-30T23:10:26Z","affected":[{"package":"joi","vulnerable_range":">= 17.1.1, < 17.13.9","first_patched":"17.13.9"},{"package":"@hapi/joi","vulnerable_range":">= 16.0.0, <= 17.1.1","first_patched":null},{"package":"joi","vulnerable_range":">= 18.0.0, < 18.3.1","first_patched":"18.3.1"}],"packages":["@hapi/joi","joi"],"fix_status":"partial","source_repo":"https://github.com/hapijs/joi","url":"https://github.com/advisories/GHSA-4528-x5fx-h6hg"}]}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD"]},"queryParams":{"type":"object","properties":{"since":{"type":"string","description":"ISO-8601 date or timestamp. Returns only advisories whose updated_at is newer than this — normally the generated_at of your previous fetch. An empty delta is refused with a 400 and settles no payment, and so is a since earlier than the build's coverage.delta_complete_since, which would return a silently incomplete delta."}}}},"required":["type","method"]},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}},"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"dataset":"npm-vuln-digest","generated_at":"2026-11-01T14:13:05.263Z","coverage":{"rows":119,"published_from":"2021-09-02T17:16:46.000Z","published_to":"2026-10-30T23:10:23.000Z","updated_from":"2026-10-23T21:57:38.000Z","updated_to":"2026-10-31T16:24:12.000Z","delta_complete_known":true,"delta_complete_since":"2026-10-27T16:09:36.000Z","upstream_moved":false,"upstream_unchanged_since":"2026-11-01T11:52:40.036Z","sources":[{"sort":"published","ok":true,"rows":100,"truncated":true,"error":null},{"sort":"updated","ok":true,"rows":100,"truncated":true,"error":null}],"mix":{"severity":{"critical":8,"high":60,"medium":33,"low":18,"other":0},"fix_status":{"patched":107,"partial":4,"unpatched":8,"null":0},"epss_scored":101,"unpatched_critical":0},"checked_at":"2026-11-01T14:13:05.263Z","notes_omitted":["note","delta_complete_note","upstream_note"],"notes_omitted_reason":"Prose only: sentences explaining the figures above. They are in this SKU's catalog description, and verbatim in the paid file. No fact is omitted here."},"count":119,"fields":[{"field":"ghsa_id","present":119},{"field":"cve_id","present":102},{"field":"summary","present":119},{"field":"severity","present":119},{"field":"cvss_score","present":83},{"field":"cvss_vector","present":83},{"field":"cvss_v4_score","present":43},{"field":"cvss_v4_vector","present":43},{"field":"epss_score","present":101},{"field":"epss_percentile","present":101},{"field":"cwes","present":118},{"field":"published_at","present":119},{"field":"updated_at","present":119},{"field":"affected","present":119},{"field":"packages","present":119},{"field":"fix_status","present":119},{"field":"source_repo","present":117},{"field":"url","present":119}],"items":[{"ghsa_id":"GHSA-4528-x5fx-h6hg","cve_id":"CVE-2026-118772","summary":"joi: quadratic-time split in `string().email({ multiple: true })` allows denial of service","severity":"high","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","cvss_v4_score":null,"cvss_v4_vector":null,"epss_score":0.00467,"epss_percentile":0.40464,"cwes":["CWE-1333"],"published_at":"2026-10-30T23:10:23Z","updated_at":"2026-10-30T23:10:26Z","affected":[{"package":"joi","vulnerable_range":">= 17.1.1, < 17.13.9","first_patched":"17.13.9"},{"package":"@hapi/joi","vulnerable_range":">= 16.0.0, <= 17.1.1","first_patched":null},{"package":"joi","vulnerable_range":">= 18.0.0, < 18.3.1","first_patched":"18.3.1"}],"packages":["@hapi/joi","joi"],"fix_status":"partial","source_repo":"https://github.com/hapijs/joi","url":"https://github.com/advisories/GHSA-4528-x5fx-h6hg"}]}}},"metadata":{"sku":"npm-vuln-digest","name":"npm Vulnerability Digest","cadence":"daily","category":"data","provider":"DATASTAND","discoverable":true,"data":{"generated_at":"2026-11-01T14:13:05.263Z","count":119,"bytes":120090,"sha256":"14717e1a0b289e2a87f1ecaf38cf50a7f683075d0b694d7ab46148d93018cc63"}}},{"resource":"https://datastand.dev/api/data/dev-signals","type":"http","x402Version":2,"description":"A ranked, tagged digest of the last 24h of high-signal Hacker News stories, scored by engagement, with links, the source domain and discussion volume. Each row also carries points_per_hour — points gained per hour since posting, as of the build — so you can sort for what is rising now rather than what has simply had longest to collect votes. Each row also says what kind of post it is — show_hn, ask_hn, launch_hn, tell_hn or story — with a kind_counts tally, so the day's Show HN tool launches are one filter away instead of a title regex. Each row carries hn_id, Hacker News' integer item id, so builds and ?since= deltas merge and dedupe on one key. Each row names its author, the submitter's Hacker News username, so you can follow the accounts that launch tools or pick out a company's own posts. Every row is classified across eleven topics — ai, devtools, data, infra, security, web, hardware, plus policy, business, science, culture — and carries a developer_relevant flag, so you can keep the engineering stories and drop the front page's politics, science and obituaries, which are about half of a typical day. Built from public Hacker News data. Add ?since=<ISO-8601> to get only the stories that appeared since your last fetch, with the tag counts recomputed over that slice; an empty delta is not charged. Every build carries a `coverage` block stating the window it actually swept, the points threshold it was built with, and whether upstream's page came back full — and `delta_complete_since` is the point back to which a ?since= delta is complete. This is a 24h SKU, so ask for anything older and it is refused for free rather than answered short. The block also says outright what a created_at delta cannot see: the threshold is applied at fetch time, so a story that crosses it days after it was posted arrives with its original timestamp and a delta skips it. That block is on this free listing (info.output.example.coverage) at the current build's own figures, so you can check the bound against your polling interval before you pay for anything.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"20000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x470a1b647d668d3820add26d70c8371557ff4c6b","maxTimeoutSeconds":120,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"since":"2026-08-31T10:12:22Z"}},"output":{"type":"json","example":{"dataset":"dev-signals","generated_at":"2026-11-01T14:13:05.269Z","coverage":{"rows":57,"window_hours":24,"window_from":"2026-10-31T14:13:05.000Z","window_to":"2026-11-01T14:13:05.269Z","points_above":20,"created_from":"2026-10-31T14:29:03.000Z","created_to":"2026-11-01T11:42:59.000Z","upstream_page_size":200,"upstream_returned":57,"upstream_matched":57,"upstream_matched_exact":true,"truncated":false,"delta_complete_known":true,"delta_complete_since":"2026-10-31T14:13:05.000Z","delta_misses_late_entrants":true,"checked_at":"2026-11-01T14:13:05.269Z","notes_omitted":["note","delta_complete_note"],"notes_omitted_reason":"Prose only: sentences explaining the figures above. They are in this SKU's catalog description, and verbatim in the paid file. No fact is omitted here."},"count":57,"fields":[{"field":"hn_id","present":57},{"field":"title","present":57},{"field":"url","present":57},{"field":"domain","present":56},{"field":"discussion","present":57},{"field":"kind","present":57},{"field":"author","present":57},{"field":"points","present":57},{"field":"comments","present":57},{"field":"created_at","present":57},{"field":"points_per_hour","present":57},{"field":"tags","present":57},{"field":"developer_relevant","present":57},{"field":"signal","present":57}],"items":[{"hn_id":50319510,"title":"HackerTube: YouTube built from videos recommended by HN","url":"https://karpathy.bearblog.dev/hacker-tube/","domain":"karpathy.bearblog.dev","discussion":"https://news.ycombinator.com/item?id=50319510","kind":"story","author":"karpathy","points":1573,"comments":419,"created_at":"2026-10-31T19:56:53Z","points_per_hour":86.1,"tags":["general"],"developer_relevant":false,"signal":2411}]}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD"]},"queryParams":{"type":"object","properties":{"since":{"type":"string","description":"ISO-8601 date or timestamp. Returns only stories whose created_at is newer than this — normally the generated_at of your previous fetch. An empty delta is refused with a 400 and settles no payment, and so is a since earlier than the build's coverage.delta_complete_since, which would return a silently incomplete delta. This is a 24h window, so poll at least daily."}}}},"required":["type","method"]},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}},"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"dataset":"dev-signals","generated_at":"2026-11-01T14:13:05.269Z","coverage":{"rows":57,"window_hours":24,"window_from":"2026-10-31T14:13:05.000Z","window_to":"2026-11-01T14:13:05.269Z","points_above":20,"created_from":"2026-10-31T14:29:03.000Z","created_to":"2026-11-01T11:42:59.000Z","upstream_page_size":200,"upstream_returned":57,"upstream_matched":57,"upstream_matched_exact":true,"truncated":false,"delta_complete_known":true,"delta_complete_since":"2026-10-31T14:13:05.000Z","delta_misses_late_entrants":true,"checked_at":"2026-11-01T14:13:05.269Z","notes_omitted":["note","delta_complete_note"],"notes_omitted_reason":"Prose only: sentences explaining the figures above. They are in this SKU's catalog description, and verbatim in the paid file. No fact is omitted here."},"count":57,"fields":[{"field":"hn_id","present":57},{"field":"title","present":57},{"field":"url","present":57},{"field":"domain","present":56},{"field":"discussion","present":57},{"field":"kind","present":57},{"field":"author","present":57},{"field":"points","present":57},{"field":"comments","present":57},{"field":"created_at","present":57},{"field":"points_per_hour","present":57},{"field":"tags","present":57},{"field":"developer_relevant","present":57},{"field":"signal","present":57}],"items":[{"hn_id":50319510,"title":"HackerTube: YouTube built from videos recommended by HN","url":"https://karpathy.bearblog.dev/hacker-tube/","domain":"karpathy.bearblog.dev","discussion":"https://news.ycombinator.com/item?id=50319510","kind":"story","author":"karpathy","points":1573,"comments":419,"created_at":"2026-10-31T19:56:53Z","points_per_hour":86.1,"tags":["general"],"developer_relevant":false,"signal":2411}]}}},"metadata":{"sku":"dev-signals","name":"Dev Ecosystem Signals","cadence":"daily","category":"data","provider":"DATASTAND","discoverable":true,"data":{"generated_at":"2026-11-01T14:13:05.269Z","count":57,"bytes":31061,"sha256":"e436d6a37825c059f8b5f0afa9717376000ae395d62d115f0202ac495ea5f950"}}},{"resource":"https://datastand.dev/api/data/bazaar-market-report","type":"http","x402Version":2,"description":"Daily market intelligence on the x402 Bazaar: index size and composition by network/scheme, USDC price distribution percentiles, real usage stats (share of resources with 30-day calls, top-20 by calls), new-listing rate, churn-risk aging, and domain concentration. Every build also carries a `changes` block saying what MOVED since the build before it — resources, unique domains, 30-day calls, each price percentile and bucket, every network that gained or lost, and which domains entered, left or shifted within the top 20 — each figure as from/to/delta and stamped with `window_hours`, the actual time between the two builds, because a delta without its window is not a fact. Every number there is recomputable from the two published builds, and a null means the diff was not computed and says why; it never means nothing moved. Aggregated from the public CDP discovery API. `sweep.truncated` says whether the read reached the end of the index (alongside `index_reported_total` when the API states one), so the resource count is either the whole Bazaar or explicitly flagged as a floor. Rebuilt daily by an autonomous agent. The free catalog (metadata.data.preview) lists every field this report contains with its type, so you can see the exact shape before paying. HOW MUCH moved is free too: `info.output.example.changes` carries this build's own `window_hours` and the count of movements in each section — headline metrics, networks, price buckets, and domains that entered, left or shifted the top 20 — so you can tell a busy build from a quiet one before you pay. What moved is the report.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"50000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x470a1b647d668d3820add26d70c8371557ff4c6b","maxTimeoutSeconds":120,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"dataset":"bazaar-market-report","generated_at":"2026-11-01T14:14:31.007Z","count":31957,"changes":{"baseline":"previous-build","since":"2026-11-01T11:54:07.538Z","window_hours":2.34,"reason":null,"totals_count":13,"networks_count":14,"price_buckets_count":4,"domains":{"entered_top20_count":1,"left_top20_count":1,"left_top20_detail_count":1,"moved_count":1},"details_omitted":["totals","networks","price_buckets","domains.entered_top20","domains.left_top20","domains.left_top20_detail","domains.moved"],"details_omitted_reason":"The moved rows themselves, which are what this SKU is sold for. Every count above is a count of exactly these rows, so how much moved is free and what moved is the product.","notes_omitted":["note","domains.note"],"notes_omitted_reason":"Prose only: sentences explaining how to read the figures above. They are in this SKU's catalog description, and verbatim in the paid file. No fact is omitted here."},"items":["..."]}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD"]}},"required":["type","method"]},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}},"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"dataset":"bazaar-market-report","generated_at":"2026-11-01T14:14:31.007Z","count":31957,"changes":{"baseline":"previous-build","since":"2026-11-01T11:54:07.538Z","window_hours":2.34,"reason":null,"totals_count":13,"networks_count":14,"price_buckets_count":4,"domains":{"entered_top20_count":1,"left_top20_count":1,"left_top20_detail_count":1,"moved_count":1},"details_omitted":["totals","networks","price_buckets","domains.entered_top20","domains.left_top20","domains.left_top20_detail","domains.moved"],"details_omitted_reason":"The moved rows themselves, which are what this SKU is sold for. Every count above is a count of exactly these rows, so how much moved is free and what moved is the product.","notes_omitted":["note","domains.note"],"notes_omitted_reason":"Prose only: sentences explaining how to read the figures above. They are in this SKU's catalog description, and verbatim in the paid file. No fact is omitted here."},"items":["..."]}}},"metadata":{"sku":"bazaar-market-report","name":"x402 Bazaar Market Report","cadence":"daily","category":"data","provider":"DATASTAND","discoverable":true,"data":{"generated_at":"2026-11-01T14:14:31.007Z","count":31957,"bytes":13088,"sha256":"b1c216e9ae5204eea6686497cb1ff2d345e3e6123b076a954af26b525e09ea55","preview":{"kind":"aggregate-report","note":"Structural preview: the report's fields and value types, with every figure redacted. Purchase the SKU for the values.","schema":{"dataset":"bazaar-market-report","generated_at":"2026-11-01T14:14:31.007Z","attribution":"Aggregated from the Coinbase Developer Platform x402 Bazaar public discovery API (api.cdp.coinbase.com/platform/v2/x402/discovery/resources). Factual aggregates of public data.","count":"number","sweep":{"note":"Offset pagination over a list that re-sorts mid-sweep can serve one resource on two pages. Records are de-duplicated by resource URL (newest lastUpdated wins) before any figure below is computed, so every count is distinct resources, never raw records. The collapse count also measures how much the index churned while we read it.","pages_fetched":"number","page_cap":"number","truncated":"boolean","index_reported_total":"number","records_fetched":"number","duplicate_records_collapsed":"number","distinct_resources":"number"},"index_totals":{"resources":"number","by_network":{"type":"object","entries":51,"values":"number"},"by_scheme":{"type":"object","entries":15,"values":"number"},"by_x402_version":{"1":"number","2":"number"}},"pricing_base_usdc_exact":{"note":"USD prices of exact-scheme USDC accepts on Base mainnet (cheapest accept per resource).","sample_size":"number","min_usd":"number","p25_usd":"number","median_usd":"number","p75_usd":"number","p95_usd":"number","max_usd":"number","count_by_bucket_usd":{"<=0.01":"number","0.01-0.05":"number","0.05-0.25":"number","0.25-1":"number",">1":"number"}},"usage":{"note":"quality.l30DaysTotalCalls as reported by the index. NB: the 30-day drop-out rule means nearly every listed resource has recent calls by construction — total_30d_calls and the top-20 are the informative fields.","resources_with_30d_calls":"number","share_with_30d_calls":"number","total_30d_calls":"number","top20_by_30d_calls":{"type":"array","length":20,"item":{"resource":"string","domain":"string","price_usd":"number","calls_30d":"number","payers_30d":"number"}}},"freshness":{"note":"lastUpdated = listing (re)index time; resources idle >30d drop out, so d25_plus_at_risk approximates imminent churn.","listed_last_24h":"number","listed_last_7d":"number","last_called_age":{"within_1d":"number","d1_7":"number","d7_14":"number","d14_25":"number","d25_plus_at_risk":"number","never":"number"}},"domains":{"unique_domains":"number","top20_by_resources":{"type":"array","length":20,"item":{"domain":"string","resources":"number"}}},"changes":{"note":"Movement since the build the last buyer received. Read every delta against `window_hours`: the factory builds more than once a day, so this is not reliably a day. Every figure is recomputable from the two published builds. Null means not computed, never nothing moved.","baseline":"string","since":"string","window_hours":"number","reason":"null","totals":{"type":"array","length":13,"item":{"metric":"string","from":"number","to":"number","delta":"number","pct":"number"}},"networks":{"type":"array","length":14,"item":{"network":"string","from":"number","to":"number","delta":"number"}},"price_buckets":{"type":"array","length":4,"item":{"bucket":"string","from":"number","to":"number","delta":"number"}},"domains":{"note":"Over the published top-20-by-resources lists only: a domain in neither is absent here, and leaving the list means dropping out of the top 20, not out of the index. Exits carry their prior count and an upper bound now in `left_top20_detail`.","entered_top20":{"type":"array","length":1,"item":"string"},"left_top20":{"type":"array","length":1,"item":"string"},"left_top20_detail":{"type":"array","length":1,"item":{"domain":"string","from":"number","to_at_most":"number"}},"moved":{"type":"array","length":1,"item":{"domain":"string","from":"number","to":"number","delta":"number"}}}}}}}}},{"resource":"https://datastand.dev/api/data/llm-pricing","type":"http","x402Version":2,"description":"A verified, machine-readable table of current LLM API pricing (input/output per MTok, cached-input where published) and context windows across Anthropic, OpenAI, Google, xAI and Together. `providers` on this listing carries that coverage as this build counts it — provider and row count, derived from the shipped table rather than from this sentence — so a provider that joins or leaves is visible here before you pay. `fields` on this listing answers the other half of that question — how much of the schema this build actually fills in, counting for every column how many of the shipped rows carry a value, derived off those rows rather than from this sentence. Read it against `count`, and read the free sample row against it: the sample is always the file's first row, so `fields` is what tells you how typical that row is. If you came for one column in particular, check it there first — `context_window_tokens` is the sparse one, because several of the providers named above publish no window on any page we can fetch. Every row is read off the provider's own page on its stated verification date and carries that page's URL; a row the provider stops publishing is dropped, not carried forward, and a context window we could not verify is null rather than guessed — a null means we did not verify it, never that the model lacks one. `sources_fetched_at` records when those pages were actually fetched, so the gap between the fetch and the verification date is auditable rather than asserted. Each curation carries a `changes` block diffing it against the previous published one: rows added, rows dropped (with their last known figures, plus `replaced_by` naming the successor row when the provider renamed the model rather than delisting it), and every movement in price, context window or source URL as from/to — so a returning buyer sees what moved instead of re-reading every unchanged row (`count` on this listing says how many that is on this build). A null there means the diff was not computed and says why; it never means nothing changed. A `sources` block names the whole sweep behind those rows: every provider page CI fetched this week, its HTTP status, whether it could be read, and how many published rows cite that exact URL — counted off the shipped table, not asserted. Read it before reading a dropped row as a delisting: a page that goes unreadable drops its rows for the same reason a delisted model does, and only this block tells the two apart. A readable page that produced no rows says why in its own words, so a provider we cover but cannot parse is distinguishable from one we never looked at. Standard pay-as-you-go rates, with batch/flex/fast-mode tiers noted per row. Where a provider charges more once a prompt passes a stated length, the dearer tier is a machine-readable `long_context` object on that row (`threshold_tokens`, input, output and cached-input rates) rather than prose, so a router can price a long prompt without reading notes. Where a provider has already announced a dated price change (an introductory rate ending, a scheduled doubling), the row carries a `scheduled_price` object (`effective_date` and the rates from that date), so a budget can be priced past the change without reading notes. Re-verified weekly by the operator agent. This table is curated weekly, so the question worth answering before you pay is whether it moved at all — and that answer is free: `info.output.example.changes` carries this build's own `added_count`, `removed_count`, `repriced_count` and the `since` they are measured from. A week of three zeroes means you already have this file; do not buy it. Which models moved, and to what, is what the $0.05 buys.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"50000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x470a1b647d668d3820add26d70c8371557ff4c6b","maxTimeoutSeconds":120,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"dataset":"llm-pricing","generated_at":"2026-10-26T14:20:16.341Z","count":60,"providers":[{"provider":"together","row_count":28},{"provider":"anthropic","row_count":16},{"provider":"google","row_count":10},{"provider":"openai","row_count":5},{"provider":"xai","row_count":1}],"fields":[{"field":"provider","present":60},{"field":"model","present":60},{"field":"input_per_mtok_usd","present":60},{"field":"output_per_mtok_usd","present":60},{"field":"cached_input_per_mtok_usd","present":48},{"field":"context_window_tokens","present":23},{"field":"as_of","present":60},{"field":"source","present":60},{"field":"notes","present":60},{"field":"long_context","present":3},{"field":"replaces","present":1},{"field":"scheduled_price","present":3}],"changes":{"baseline":"previous-build","since":"2026-10-19T14:12:24.138Z","of_total":64,"added_count":2,"removed_count":6,"repriced_count":4,"details_omitted":["added","removed","repriced"],"details_omitted_reason":"The moved rows themselves, which are what this SKU is sold for. Every count above is a count of exactly these rows, so how much moved is free and what moved is the product."},"items":[{"provider":"anthropic","model":"claude-fable-5-1","input_per_mtok_usd":10,"output_per_mtok_usd":50,"cached_input_per_mtok_usd":0.25,"context_window_tokens":1000000,"as_of":"2026-10-26","source":"https://docs.claude.com/en/docs/about-claude/pricing","notes":"Cache hits and refreshes are priced at 0.025x base input on this model, not the standard 0.1x. Context window verified today against the official models overview (https://docs.claude.com/en/docs/about-claude/models/overview)."}]}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD"]}},"required":["type","method"]},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}},"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"dataset":"llm-pricing","generated_at":"2026-10-26T14:20:16.341Z","count":60,"providers":[{"provider":"together","row_count":28},{"provider":"anthropic","row_count":16},{"provider":"google","row_count":10},{"provider":"openai","row_count":5},{"provider":"xai","row_count":1}],"fields":[{"field":"provider","present":60},{"field":"model","present":60},{"field":"input_per_mtok_usd","present":60},{"field":"output_per_mtok_usd","present":60},{"field":"cached_input_per_mtok_usd","present":48},{"field":"context_window_tokens","present":23},{"field":"as_of","present":60},{"field":"source","present":60},{"field":"notes","present":60},{"field":"long_context","present":3},{"field":"replaces","present":1},{"field":"scheduled_price","present":3}],"changes":{"baseline":"previous-build","since":"2026-10-19T14:12:24.138Z","of_total":64,"added_count":2,"removed_count":6,"repriced_count":4,"details_omitted":["added","removed","repriced"],"details_omitted_reason":"The moved rows themselves, which are what this SKU is sold for. Every count above is a count of exactly these rows, so how much moved is free and what moved is the product."},"items":[{"provider":"anthropic","model":"claude-fable-5-1","input_per_mtok_usd":10,"output_per_mtok_usd":50,"cached_input_per_mtok_usd":0.25,"context_window_tokens":1000000,"as_of":"2026-10-26","source":"https://docs.claude.com/en/docs/about-claude/pricing","notes":"Cache hits and refreshes are priced at 0.025x base input on this model, not the standard 0.1x. Context window verified today against the official models overview (https://docs.claude.com/en/docs/about-claude/models/overview)."}]}}},"metadata":{"sku":"llm-pricing","name":"LLM Pricing & Limits Table","cadence":"weekly","category":"data","provider":"DATASTAND","discoverable":true,"data":{"generated_at":"2026-10-26T14:20:16.341Z","count":60,"bytes":50677,"sha256":"e9abfe9736310a158e6885d90770ed1e8415949ed46250c8c01e866d66e6ffd0"}}},{"resource":"https://datastand.dev/api/data/llm-catalog","type":"http","x402Version":2,"description":"Every model listed on the OpenRouter marketplace with per-MTok input/output pricing, cached-input rates where published, the cache-write rate beside them where the marketplace bills one (`cache_write_per_mtok_usd`, so an agent can tell whether caching a prefix pays before it caches it), and context windows — several hundred rows, refreshed daily. Every row carries a `vendor` (the model maker as the marketplace spells it, e.g. `anthropic`, `x-ai`, `meta-llama`), so you can filter by maker without parsing model ids. Every row also says whether the model takes tool calls (`supports_tools`, read off the marketplace's own supported parameters; null when it does not say), so an agent can rule out the cheap models it cannot use before comparing price, whether its response can be held to a JSON schema (`supports_structured_outputs`, likewise; plain JSON mode does not count), so an agent that parses the answer as data can filter to models that will keep to its shape, whether it is a thinking model (`supports_reasoning`, likewise), so an agent can price reasoning tokens, which bill as output, or rule them out, and lists what the model accepts as input (`input_modalities`: text, image, file, audio, video, as the marketplace states them; null when it does not say), so an agent holding a screenshot or a PDF can filter to models that will read it, and carries the most tokens one response can return (`max_output_tokens`, the marketplace's own cap; null when it states none, never the context window), so an agent planning a long generation can rule out models that would cut it off. Where the marketplace has scheduled a model's retirement, the row says when (`expiration_date`, YYYY-MM-DD; null when none is scheduled), so a pipeline pinned to a model id hears about it before the route goes dark. Each build carries a `changes` block diffing it against the previous published build: models added, models the marketplace dropped (with their last known figures), and every price, context-window or scheduled-retirement-date movement as from/to — so a daily buyer can see what actually moved instead of re-reading 400 unchanged rows. A null there means the diff was not computed and says why; it never means nothing changed. How much moved is on this free listing: `info.output.example.changes` carries this build's own `added_count`, `removed_count` and `repriced_count` against the `since` they are measured from, so a daily poller can skip a build that did not move without paying to discover it. Which models moved is what you are buying. The breadth companion to our hand-verified llm-pricing table: use this to enumerate what exists and what it costs, use llm-pricing when you need vendor-verified provenance.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"20000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x470a1b647d668d3820add26d70c8371557ff4c6b","maxTimeoutSeconds":120,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"dataset":"llm-catalog","generated_at":"2026-11-01T14:14:31.082Z","count":428,"fields":[{"field":"provider","present":428},{"field":"model","present":428},{"field":"vendor","present":428},{"field":"display_name","present":428},{"field":"input_per_mtok_usd","present":428},{"field":"output_per_mtok_usd","present":428},{"field":"cached_input_per_mtok_usd","present":306},{"field":"cache_write_per_mtok_usd","present":98},{"field":"context_window_tokens","present":428},{"field":"supports_tools","present":428},{"field":"supports_structured_outputs","present":428},{"field":"supports_reasoning","present":428},{"field":"input_modalities","present":428},{"field":"max_output_tokens","present":428},{"field":"expiration_date","present":9},{"field":"as_of","present":428},{"field":"source","present":428},{"field":"verification","present":428},{"field":"notes","present":428}],"changes":{"baseline":"previous-build","since":"2026-11-01T11:54:07.924Z","of_total":428,"added_count":0,"removed_count":0,"repriced_count":1,"details_omitted":["added","removed","repriced"],"details_omitted_reason":"The moved rows themselves, which are what this SKU is sold for. Every count above is a count of exactly these rows, so how much moved is free and what moved is the product."},"items":[{"provider":"openrouter","model":"~anthropic/claude-fable-latest","vendor":"anthropic","display_name":"Anthropic: Claude Fable Latest","input_per_mtok_usd":10,"output_per_mtok_usd":50,"cached_input_per_mtok_usd":0.25,"cache_write_per_mtok_usd":12.5,"context_window_tokens":1000000,"supports_tools":true,"supports_structured_outputs":true,"supports_reasoning":true,"input_modalities":["file","image","text"],"max_output_tokens":128000,"expiration_date":null,"as_of":"2026-11-01","source":"https://openrouter.ai/api/v1/models","verification":"marketplace-listed","notes":"Price charged by the OpenRouter marketplace for this model, not the model vendor's own list price. Context window as reported by OpenRouter."}]}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD"]}},"required":["type","method"]},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}},"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"dataset":"llm-catalog","generated_at":"2026-11-01T14:14:31.082Z","count":428,"fields":[{"field":"provider","present":428},{"field":"model","present":428},{"field":"vendor","present":428},{"field":"display_name","present":428},{"field":"input_per_mtok_usd","present":428},{"field":"output_per_mtok_usd","present":428},{"field":"cached_input_per_mtok_usd","present":306},{"field":"cache_write_per_mtok_usd","present":98},{"field":"context_window_tokens","present":428},{"field":"supports_tools","present":428},{"field":"supports_structured_outputs","present":428},{"field":"supports_reasoning","present":428},{"field":"input_modalities","present":428},{"field":"max_output_tokens","present":428},{"field":"expiration_date","present":9},{"field":"as_of","present":428},{"field":"source","present":428},{"field":"verification","present":428},{"field":"notes","present":428}],"changes":{"baseline":"previous-build","since":"2026-11-01T11:54:07.924Z","of_total":428,"added_count":0,"removed_count":0,"repriced_count":1,"details_omitted":["added","removed","repriced"],"details_omitted_reason":"The moved rows themselves, which are what this SKU is sold for. Every count above is a count of exactly these rows, so how much moved is free and what moved is the product."},"items":[{"provider":"openrouter","model":"~anthropic/claude-fable-latest","vendor":"anthropic","display_name":"Anthropic: Claude Fable Latest","input_per_mtok_usd":10,"output_per_mtok_usd":50,"cached_input_per_mtok_usd":0.25,"cache_write_per_mtok_usd":12.5,"context_window_tokens":1000000,"supports_tools":true,"supports_structured_outputs":true,"supports_reasoning":true,"input_modalities":["file","image","text"],"max_output_tokens":128000,"expiration_date":null,"as_of":"2026-11-01","source":"https://openrouter.ai/api/v1/models","verification":"marketplace-listed","notes":"Price charged by the OpenRouter marketplace for this model, not the model vendor's own list price. Context window as reported by OpenRouter."}]}}},"metadata":{"sku":"llm-catalog","name":"LLM Marketplace Catalog","cadence":"daily","category":"data","provider":"DATASTAND","discoverable":true,"data":{"generated_at":"2026-11-01T14:14:31.082Z","count":428,"bytes":334478,"sha256":"d2161963f6333c47c76660e23bd0d94aaaa05afcba08a30d38e526a1b89bed2e"}}},{"resource":"https://datastand.dev/api/search/bazaar","type":"http","x402Version":2,"description":"Keyword search over the x402 Bazaar discovery index (the ~8,000 most-used resources of the full daily sweep, refreshed daily — `info.output.example.corpus` on this listing carries this build's own `indexed` and `of_total`, so the size of what you are searching is read off the build, not this sentence): find services by text query with price and usage filters, ranked by unique payers. The discovery endpoint itself has no search — this is it. Every match is reachable: `count` is the full number of hits and `offset`/`limit` page through all of them, up to 100 rows per call. A page past the end of the results is refused with a 400 and settles no payment. Priced per row: $0.005 covers the default 20 rows, each further row adds $0.0002, and a full 100-row page costs $0.021. The 402 always quotes the exact price for the `limit` you asked for, before you pay, so a small query is never charged for a large one.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x470a1b647d668d3820add26d70c8371557ff4c6b","maxTimeoutSeconds":120,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"q":"web search","max_price_usd":"0.05","min_payers":"10","offset":"0","limit":"20"}},"output":{"type":"json","example":{"query":"web search","count":2,"corpus":{"indexed":8005,"of_total":31957,"snapshot_at":"2026-11-01T14:14:30.676Z","cutoff":{"payers_30d":3,"calls_30d":3,"note":"Weakest row in the searchable slice. Resources at or below this 30-day usage may not be indexed; ranking is payers, then calls, then most recently restamped by the index, then resource URL."},"departures":{"note":"Resources that were in the previously published search corpus and are not in this one. `below_cutoff` are still in the Bazaar index and fell below our 8,000-row cut — the endpoint is live, we stopped carrying it. `absent_from_index` were not seen in this sweep at all: usually a delisting, but offset pagination over a re-sorting index can also drop a row, and `sweep_records_collapsed` is the measured size of that churn. Read every count against `window_hours` — consecutive builds are not reliably a day apart.","baseline":"previous-corpus","since":"2026-11-01T11:54:07.043Z","window_hours":2.34,"reason":null,"left_corpus":95,"below_cutoff":87,"absent_from_index":8,"entered_corpus":95,"sweep_records_collapsed":115}},"page":{"offset":0,"limit":20,"returned":2,"total":2,"has_more":false,"next_offset":null},"results":[{"resource":"https://example.com/api/search","domain":"example.com","description":"Web search for agents","price_usd":0.01,"calls_30d":19607,"payers_30d":386}]}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD"]},"queryParams":{"type":"object","properties":{"q":{"type":"string","description":"Keywords, all must match (resource URL + description)"},"max_price_usd":{"type":"string","description":"Only resources priced at or below this USD amount"},"min_payers":{"type":"string","description":"Only resources with at least this many unique 30-day payers"},"offset":{"type":"string","description":"Skip this many ranked results (default 0). Use page.next_offset from the previous response. A page past the end costs nothing."},"limit":{"type":"string","description":"Rows per page, 1-100 (default 20). Billed per row beyond 20: $0.005 base + $0.0002 each, max $0.021. The 402 quotes the exact price for your limit."}},"required":["q"]}},"required":["type","method"]},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}},"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"query":"web search","count":2,"corpus":{"indexed":8005,"of_total":31957,"snapshot_at":"2026-11-01T14:14:30.676Z","cutoff":{"payers_30d":3,"calls_30d":3,"note":"Weakest row in the searchable slice. Resources at or below this 30-day usage may not be indexed; ranking is payers, then calls, then most recently restamped by the index, then resource URL."},"departures":{"note":"Resources that were in the previously published search corpus and are not in this one. `below_cutoff` are still in the Bazaar index and fell below our 8,000-row cut — the endpoint is live, we stopped carrying it. `absent_from_index` were not seen in this sweep at all: usually a delisting, but offset pagination over a re-sorting index can also drop a row, and `sweep_records_collapsed` is the measured size of that churn. Read every count against `window_hours` — consecutive builds are not reliably a day apart.","baseline":"previous-corpus","since":"2026-11-01T11:54:07.043Z","window_hours":2.34,"reason":null,"left_corpus":95,"below_cutoff":87,"absent_from_index":8,"entered_corpus":95,"sweep_records_collapsed":115}},"page":{"offset":0,"limit":20,"returned":2,"total":2,"has_more":false,"next_offset":null},"results":[{"resource":"https://example.com/api/search","domain":"example.com","description":"Web search for agents","price_usd":0.01,"calls_30d":19607,"payers_30d":386}]}}},"metadata":{"sku":"bazaar-search","name":"x402 Bazaar Search","cadence":"live","category":"data","provider":"DATASTAND","discoverable":true}},{"resource":"https://datastand.dev/api/bazaar/cheapest","type":"http","x402Version":2,"description":"Cost-optimised endpoint selection: name a capability (web search, token safety, enrichment) and get the x402 endpoints that provide it ranked cheapest-first in USDC per call, with 30-day adoption stats alongside each price. Refreshed daily from the Bazaar discovery index. `offset`/`limit` page through the full ranked list (up to 100 rows per call); `cheapest` always names the globally cheapest listing, whichever page you asked for. Read `price_floor_complete` before you read `cheapest`: this endpoint searches the most-used slice of the Bazaar, not all of it, and the slice is cut by adoption — so the listings most likely to undercut the price you are shown are exactly the ones the cut removes. False means a lower price may exist below our line, and `corpus.cutoff.payers_30d` says where that line is; `min_payers` cannot reach under it, and `filters.min_payers_effective` tells you when your value was raised to it. Ask for `min_payers` strictly above the cutoff and the answer is complete for its own bar. The flag, the cutoff and the corpus size are all on the free catalog listing (`info.output.example`) at the current build's own figures, so you can tell what you are buying before you pay for it.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x470a1b647d668d3820add26d70c8371557ff4c6b","maxTimeoutSeconds":120,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"capability":"web search","min_payers":"1","offset":"0","limit":"20"}},"output":{"type":"json","example":{"capability":"web search","filters":{"min_payers":1,"min_payers_effective":3},"price_floor_complete":false,"corpus":{"indexed":8005,"of_total":31957,"cutoff":{"payers_30d":3,"calls_30d":3,"note":"Weakest row in the searchable slice. Resources at or below this 30-day usage may not be indexed; ranking is payers, then calls, then most recently restamped by the index, then resource URL."}},"count":7,"page":{"offset":0,"limit":20,"returned":7,"total":7,"has_more":false,"next_offset":null},"cheapest":{"resource":"https://example.com/api/search","price_usd":0.001,"payers_30d":12}}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD"]},"queryParams":{"type":"object","properties":{"capability":{"type":"string","description":"What the endpoint must do, e.g. 'web search'"},"min_payers":{"type":"string","description":"Minimum unique 30-day payers (default 1). Cannot go below corpus.cutoff.payers_30d — the index holds no rows under it, so a lower value is reported back raised in filters.min_payers_effective. Strictly above the cutoff gives price_floor_complete: true."},"offset":{"type":"string","description":"Skip this many ranked candidates (default 0). Use page.next_offset from the previous response. A page past the end costs nothing."},"limit":{"type":"string","description":"Rows per page, 1-100 (default 20)"}},"required":["capability"]}},"required":["type","method"]},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}},"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"capability":"web search","filters":{"min_payers":1,"min_payers_effective":3},"price_floor_complete":false,"corpus":{"indexed":8005,"of_total":31957,"cutoff":{"payers_30d":3,"calls_30d":3,"note":"Weakest row in the searchable slice. Resources at or below this 30-day usage may not be indexed; ranking is payers, then calls, then most recently restamped by the index, then resource URL."}},"count":7,"page":{"offset":0,"limit":20,"returned":7,"total":7,"has_more":false,"next_offset":null},"cheapest":{"resource":"https://example.com/api/search","price_usd":0.001,"payers_30d":12}}}},"metadata":{"sku":"bazaar-cheapest","name":"Cheapest x402 Endpoint Finder","cadence":"live","category":"data","provider":"DATASTAND","discoverable":true}},{"resource":"https://datastand.dev/api/bazaar/trending","type":"http","x402Version":2,"description":"What just launched in the x402 economy: the most recently listed or reindexed Bazaar resources, newest first, with price and adoption stats. Track new competitors, spot fresh capabilities to consume, or watch a category fill up. `offset`/`limit` page through the matches, up to 100 rows per call. Read `window_complete` before you read `count`: this feed draws from a bounded pool of the newest listings, and `listed_at` is the Bazaar's re-index stamp rather than a first-published date, so on a busy index that pool spans minutes rather than days (`corpus.covers_hours` is this build's exact figure). Ask for `days=7` and you will usually get `window_complete: false` and `corpus.covers_since` — the oldest stamp the pool holds, which is the real window your answer covers. That distinction is the difference between \"the market was quiet this week\" and \"this feed only reaches back to `covers_since`\", and both the flag and the bound are on the free catalog listing (`info.output.example`) at the current build's own figures, so you can check whether your window is answerable before you pay for it.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x470a1b647d668d3820add26d70c8371557ff4c6b","maxTimeoutSeconds":120,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"days":"7","min_payers":"0","offset":"0","limit":"50"}},"output":{"type":"json","example":{"window_days":7,"window_complete":false,"index_size":31957,"corpus":{"listings":100,"covers_since":"2026-11-01T14:08:16.116Z","covers_hours":19.22},"count":100,"page":{"offset":0,"limit":50,"returned":50,"total":100,"has_more":true,"next_offset":50},"results":[{"resource":"https://example.com/api/new-thing","price_usd":0.01,"payers_30d":0,"listed_at":"2026-11-01T14:12:26.620Z"}]}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD"]},"queryParams":{"type":"object","properties":{"days":{"type":"string","description":"Look-back window in days (default 7)"},"min_payers":{"type":"string","description":"Minimum unique 30-day payers (default 0)"},"offset":{"type":"string","description":"Skip this many listings (default 0). Use page.next_offset from the previous response. A page past the end costs nothing."},"limit":{"type":"string","description":"Rows per page, 1-100 (default 50)"}}}},"required":["type","method"]},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}},"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"window_days":7,"window_complete":false,"index_size":31957,"corpus":{"listings":100,"covers_since":"2026-11-01T14:08:16.116Z","covers_hours":19.22},"count":100,"page":{"offset":0,"limit":50,"returned":50,"total":100,"has_more":true,"next_offset":50},"results":[{"resource":"https://example.com/api/new-thing","price_usd":0.01,"payers_30d":0,"listed_at":"2026-11-01T14:12:26.620Z"}]}}},"metadata":{"sku":"bazaar-trending","name":"x402 New Listings Feed","cadence":"live","category":"data","provider":"DATASTAND","discoverable":true}},{"resource":"https://datastand.dev/api/bazaar/provider","type":"http","x402Version":2,"description":"Vet an x402 seller before integrating: how many resources the domain lists, its total 30-day call volume, its best-adopted endpoint, and its price range (min/median/max USDC per call), plus its most-used endpoints. Answers 'is this provider real and what do they charge' in one paid call. THE TWO HALVES OF THE ANSWER HAVE DIFFERENT SCOPES AND THE RESPONSE SAYS SO. The aggregates are computed over the whole daily Bazaar sweep, which is why `listed: false` is a real due-diligence result — it means the domain offered nothing anywhere in the sweep, not merely that we declined to index it. The endpoint list is served from the searchable slice (the most-used part of that sweep), so `resources_servable` and `resources_complete` state how much of the domain `top_resources` can reach before you read it, and a seller whose endpoints are all lightly used returns an empty list beside real aggregates rather than a silently short one. `offset`/`limit` page through what is servable (up to 100 rows per call).","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x470a1b647d668d3820add26d70c8371557ff4c6b","maxTimeoutSeconds":120,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"domain":"api.example.com","offset":"0","limit":"25"}},"output":{"type":"json","example":{"domain":"api.example.com","listed":true,"resources_listed":42,"calls_30d_total":1200,"price_usd":{"min":0.001,"median":0.01,"max":0.05},"resources_servable":40,"resources_complete":false,"page":{"offset":0,"limit":25,"returned":25,"total":40,"has_more":true,"next_offset":25}}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD"]},"queryParams":{"type":"object","properties":{"domain":{"type":"string","description":"Provider hostname, e.g. api.example.com"},"offset":{"type":"string","description":"Skip this many of the domain's endpoints, ranked by 30-day calls (default 0). Use page.next_offset from the previous response. A page past the end costs nothing."},"limit":{"type":"string","description":"Rows per page, 1-100 (default 25)"}},"required":["domain"]}},"required":["type","method"]},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}},"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"domain":"api.example.com","listed":true,"resources_listed":42,"calls_30d_total":1200,"price_usd":{"min":0.001,"median":0.01,"max":0.05},"resources_servable":40,"resources_complete":false,"page":{"offset":0,"limit":25,"returned":25,"total":40,"has_more":true,"next_offset":25}}}},"metadata":{"sku":"bazaar-provider","name":"x402 Provider Due Diligence","cadence":"live","category":"data","provider":"DATASTAND","discoverable":true}},{"resource":"https://datastand.dev/api/llm/route","type":"http","x402Version":2,"description":"Cheapest-model router: send your token workload and get every current LLM ranked by estimated USD cost, with per-MTok prices, cached-input rates, and context windows. Merges the weekly hand-verified llm-pricing table (every figure carrying its official source URL and verification date) with the daily OpenRouter marketplace catalog — 400+ models — and marks each row `operator-verified` or `marketplace-listed`; `verified_only=1` keeps just the first kind. Every ranked model is reachable: `count` is the full number of candidates and `offset`/`limit` page through all of them, up to 100 rows per call, while `cheapest` and `cheapest_verified` always name the global best whichever page you asked for. `min_context` reports how many models it excluded for an unverified (null) context window rather than dropping them silently, and `include_unknown_context=1` ranks them anyway. A page past the end, and a `provider` that names no model, are both refused with a 400 and settle no payment.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"50000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x470a1b647d668d3820add26d70c8371557ff4c6b","maxTimeoutSeconds":120,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"input_tokens":"20000","output_tokens":"1500","min_context":"200000","offset":"0","limit":"100"}},"output":{"type":"json","example":{"workload":{"input_tokens":20000,"output_tokens":1500},"filters":{"min_context":200000,"provider":null,"verified_only":false,"unknown_context_excluded":40},"cheapest":{"provider":"example","model":"example-mini","est_cost_usd":0.0031},"count":266,"page":{"offset":0,"limit":100,"returned":100,"total":266,"has_more":true,"next_offset":100},"results":[{"provider":"example","model":"example-mini","est_cost_usd":0.0031,"input_per_mtok_usd":0.1,"output_per_mtok_usd":0.4,"context_window_tokens":200000,"verification":"operator-verified","source":"https://example.com/pricing","as_of":"2026-08-17"}]}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD"]},"queryParams":{"type":"object","properties":{"input_tokens":{"type":"string","description":"Input tokens per request (default 1000)"},"output_tokens":{"type":"string","description":"Output tokens per request (default 1000)"},"min_context":{"type":"string","description":"Only models with at least this context window. Models whose window is null (not verified) are excluded and counted in filters.unknown_context_excluded."},"provider":{"type":"string","description":"Filter to one vendor token, e.g. anthropic, openai, x-ai, mistralai, qwen. Matched exactly against the vendor (punctuation and case ignored, so x-ai and xai are the same token) — never as a prefix, because meta and meta-llama are different vendors. Every response carries providers_available; a token that matches nothing is refused for free and names the near misses."},"verified_only":{"type":"string","description":"1/true to rank only operator-verified rows, dropping the marketplace catalog"},"include_unknown_context":{"type":"string","description":"1/true to also rank models whose context window is unverified when min_context is set"},"offset":{"type":"string","description":"Skip this many ranked models (default 0). Use page.next_offset from the previous response. A page past the end costs nothing."},"limit":{"type":"string","description":"Rows per page, 1-100 (default 100)"}}}},"required":["type","method"]},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}},"info":{"input":{"type":"http","method":"GET"},"output":{"type":"json","example":{"workload":{"input_tokens":20000,"output_tokens":1500},"filters":{"min_context":200000,"provider":null,"verified_only":false,"unknown_context_excluded":40},"cheapest":{"provider":"example","model":"example-mini","est_cost_usd":0.0031},"count":266,"page":{"offset":0,"limit":100,"returned":100,"total":266,"has_more":true,"next_offset":100},"results":[{"provider":"example","model":"example-mini","est_cost_usd":0.0031,"input_per_mtok_usd":0.1,"output_per_mtok_usd":0.4,"context_window_tokens":200000,"verification":"operator-verified","source":"https://example.com/pricing","as_of":"2026-08-17"}]}}},"metadata":{"sku":"llm-route","name":"LLM Cost Router","cadence":"live","category":"data","provider":"DATASTAND","discoverable":true}}]}