<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Riley Calhoun</title>
    <description>The latest articles on DEV Community by Riley Calhoun (@rileycalhoun).</description>
    <link>https://dev.to/rileycalhoun</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4183096%2Fa12b6368-2cc9-40c1-8ed4-c3cfaba12822.png</url>
      <title>DEV Community: Riley Calhoun</title>
      <link>https://dev.to/rileycalhoun</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rileycalhoun"/>
    <language>en</language>
    <item>
      <title>The same LLM costs 10x more depending on which provider you call</title>
      <dc:creator>Riley Calhoun</dc:creator>
      <pubDate>Tue, 20 Oct 2026 16:17:17 +0000</pubDate>
      <link>https://dev.to/rileycalhoun/the-same-llm-costs-10x-more-depending-on-which-provider-you-call-4bhe</link>
      <guid>https://dev.to/rileycalhoun/the-same-llm-costs-10x-more-depending-on-which-provider-you-call-4bhe</guid>
      <description>&lt;p&gt;If you call hosted LLMs through more than one provider, you already know the prices don't line up. What I didn't appreciate until I normalized them into one dataset is &lt;em&gt;how much&lt;/em&gt; they don't line up.&lt;/p&gt;

&lt;p&gt;I scraped the public pricing pages of the major inference providers into a single index — 472 models, 657 price rows, every row carrying the source URL it came from. Same normalized model key, input price per 1M tokens:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Cheapest $/1M in&lt;/th&gt;
&lt;th&gt;Most expensive $/1M in&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Llama-3.3-70B-Instruct-Turbo&lt;/td&gt;
&lt;td&gt;$0.10 (OpenRouter)&lt;/td&gt;
&lt;td&gt;$1.04 (Together)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Meta-Llama-3.1-8B-Instruct-Turbo&lt;/td&gt;
&lt;td&gt;$0.02 (DeepInfra)&lt;/td&gt;
&lt;td&gt;$0.80 (OpenRouter)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.8-27B&lt;/td&gt;
&lt;td&gt;$0.04 (OpenRouter)&lt;/td&gt;
&lt;td&gt;$0.80 (Groq)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek-V4.1-Flash&lt;/td&gt;
&lt;td&gt;$0.009 (OpenRouter)&lt;/td&gt;
&lt;td&gt;$1.32 (Together)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That's a 10x spread on the Llama-3.3-70B, 40x on the 8B, and over 140x end-to-end on DeepSeek-V4.1-Flash. Some of the top end is provider variants and quantization differences — which is exactly why every row links its source page, so you can check what you're actually getting before you route traffic on price alone.&lt;/p&gt;

&lt;p&gt;The point isn't that the expensive listings are scams; it's that "the price of a model" isn't a number, it's a range across providers, and the range is wide enough to matter at any real token volume. If your router or your FinOps sheet hardcodes one provider's price, you're probably leaving money on the table.&lt;/p&gt;

&lt;p&gt;The index is live on RapidAPI as &lt;strong&gt;LLM Token Price Index&lt;/strong&gt; with a free tier (1,000 requests/month): &lt;a href="https://rapidapi.com/vangogh/api/llm-token-price-index" rel="noopener noreferrer"&gt;https://rapidapi.com/vangogh/api/llm-token-price-index&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/summary&lt;/code&gt; gives you the cheapest listing per model in one call; &lt;code&gt;/prices&lt;/code&gt; filters by model or provider when you want the full range.&lt;/p&gt;

&lt;p&gt;Which providers am I missing? That's the main way this gets better.&lt;/p&gt;

</description>
      <category>llm</category>
      <category>ai</category>
      <category>api</category>
      <category>programming</category>
    </item>
    <item>
      <title>I got tired of checking GPU cloud pricing pages by hand, so I built a price index API</title>
      <dc:creator>Riley Calhoun</dc:creator>
      <pubDate>Tue, 13 Oct 2026 20:54:19 +0000</pubDate>
      <link>https://dev.to/rileycalhoun/i-got-tired-of-checking-gpu-cloud-pricing-pages-by-hand-so-i-built-a-price-index-api-30cm</link>
      <guid>https://dev.to/rileycalhoun/i-got-tired-of-checking-gpu-cloud-pricing-pages-by-hand-so-i-built-a-price-index-api-30cm</guid>
      <description>&lt;p&gt;Every time I needed to rent a GPU, the workflow was the same: open six provider tabs, squint at pricing pages that all structure their numbers differently, and try to remember whether that H100 price was spot, on-demand, or a 3-year contract rate buried in a footnote.&lt;/p&gt;

&lt;p&gt;So I built the thing I wanted: a price index that normalizes GPU cloud pricing into one dataset, where every row says what kind of price it is and links back to the provider page it came from.&lt;/p&gt;

&lt;p&gt;Some of what the data shows right now (it refreshes hourly):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;GPU&lt;/th&gt;
&lt;th&gt;Cheapest $/hr&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Price type&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;H100&lt;/td&gt;
&lt;td&gt;1.37&lt;/td&gt;
&lt;td&gt;Vast.ai&lt;/td&gt;
&lt;td&gt;spot&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;H200&lt;/td&gt;
&lt;td&gt;2.62&lt;/td&gt;
&lt;td&gt;CoreWeave&lt;/td&gt;
&lt;td&gt;spot&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A100&lt;/td&gt;
&lt;td&gt;1.15&lt;/td&gt;
&lt;td&gt;Paperspace&lt;/td&gt;
&lt;td&gt;3-yr contract&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;L40S&lt;/td&gt;
&lt;td&gt;0.79&lt;/td&gt;
&lt;td&gt;RunPod&lt;/td&gt;
&lt;td&gt;community cloud&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B200&lt;/td&gt;
&lt;td&gt;4.26&lt;/td&gt;
&lt;td&gt;CoreWeave&lt;/td&gt;
&lt;td&gt;spot&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The price-type column is the part I care about most. A $1.15 A100 sounds cheaper than a $1.37 H100 until you notice one is a 3-year contract and the other is spot. Most comparison content flattens that away; the index doesn't.&lt;/p&gt;

&lt;p&gt;The API is live on RapidAPI as &lt;strong&gt;GPU Index&lt;/strong&gt; — there's a free tier (1,000 requests/month) if you want to poke at it: &lt;a href="https://rapidapi.com/vangogh/api/gpu-index1" rel="noopener noreferrer"&gt;https://rapidapi.com/vangogh/api/gpu-index1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Endpoints are simple: &lt;code&gt;/prices&lt;/code&gt; for the full normalized dataset (filter by GPU family, provider, or price type), &lt;code&gt;/summary&lt;/code&gt; for the cheapest price per family, &lt;code&gt;/gpus&lt;/code&gt; and &lt;code&gt;/providers&lt;/code&gt; for what's covered and how fresh each source is.&lt;/p&gt;

&lt;p&gt;While I was in there, I built the same pattern for a few other datasets I kept checking by hand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LLM Token Price Index&lt;/strong&gt; — 458 models, per-token input/output prices normalized across providers. Same model, side by side: &lt;a href="https://rapidapi.com/vangogh/api/llm-token-price-index" rel="noopener noreferrer"&gt;https://rapidapi.com/vangogh/api/llm-token-price-index&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Domain Price Index&lt;/strong&gt; — registration/renewal/transfer prices per TLD, because renewal pricing is where registrars actually make their money: &lt;a href="https://rapidapi.com/vangogh/api/domain-price-index" rel="noopener noreferrer"&gt;https://rapidapi.com/vangogh/api/domain-price-index&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CT Lookup&lt;/strong&gt; — Certificate Transparency data as JSON, with a watchlist for catching certs issued for your domains that you didn't request: &lt;a href="https://rapidapi.com/vangogh/api/ct-lookup" rel="noopener noreferrer"&gt;https://rapidapi.com/vangogh/api/ct-lookup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Email Deliverability Check&lt;/strong&gt; — one call returns SPF/DKIM/DMARC/MX/rDNS verdicts for a domain, with fix hints: &lt;a href="https://rapidapi.com/vangogh/api/email-deliverability-check" rel="noopener noreferrer"&gt;https://rapidapi.com/vangogh/api/email-deliverability-check&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of them have the same free tier, and every price row in the indexes carries its source URL so you can check my work. If you're building a router, a cost dashboard, or anything that picks compute or models programmatically, I'd rather you call an API than maintain your own scrapers — that was certainly true for me.&lt;/p&gt;

&lt;p&gt;Feedback welcome: what provider or GPU family am I missing?&lt;/p&gt;

</description>
      <category>gpu</category>
      <category>cloud</category>
      <category>api</category>
      <category>llm</category>
    </item>
  </channel>
</rss>
