<?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: Harrison Vass</title>
    <description>The latest articles on DEV Community by Harrison Vass (@bigred97).</description>
    <link>https://dev.to/bigred97</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%2F4112083%2Feeefd20f-0838-454d-8e5a-62a226208096.jpg</url>
      <title>DEV Community: Harrison Vass</title>
      <link>https://dev.to/bigred97</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bigred97"/>
    <language>en</language>
    <item>
      <title>How to fetch the RBA cash rate in Python (without parsing CSVs)</title>
      <dc:creator>Harrison Vass</dc:creator>
      <pubDate>Sun, 06 Sep 2026 09:39:26 +0000</pubDate>
      <link>https://dev.to/bigred97/how-to-fetch-the-rba-cash-rate-in-python-without-parsing-csvs-ngn</link>
      <guid>https://dev.to/bigred97/how-to-fetch-the-rba-cash-rate-in-python-without-parsing-csvs-ngn</guid>
      <description>&lt;p&gt;If you have ever tried to programmatically get the current RBA cash rate, you know the drill. You open the RBA F1 statistical table, download f01hist.xls, write a pandas.read_excel call, fight with the multi-row header (Series ID on row 11, units on row 6), filter, sort, take the last row.&lt;/p&gt;

&lt;p&gt;That is &lt;strong&gt;30 lines of code&lt;/strong&gt; to get a single number that changes 11 times a year.&lt;/p&gt;

&lt;h2&gt;
  
  
  One line (MIT, no key)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;rba_mcp&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;latest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;F1_1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;series&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;cash_rate_target&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;records&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;# live AU.CASHRATE as of 2026-09-03: 4.35
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;rba-mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No key. MIT-licensed. Attribution and source URL come back with the number.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hosted gateway
&lt;/h2&gt;

&lt;p&gt;Use GET /v1/series/AU.CASHRATE/latest on api.ausdata.io with a free key from ausdata.io (500 calls/mo).&lt;/p&gt;

&lt;p&gt;Live 2026-09-06: cash 4.35 percent, trimmed-mean CPI 3.6 percent (2026-Q2), real rate 0.75 percent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the hosted path exists
&lt;/h2&gt;

&lt;p&gt;The RBA publishes the nominal cash rate. The ABS publishes inflation. Neither publishes the real cash rate (nominal minus trimmed-mean CPI). Use /v1/real-rate-regime for that join.&lt;/p&gt;

&lt;p&gt;Same envelope across nine AU sources: source, source_url, attribution, retrieved_at.&lt;/p&gt;

&lt;h2&gt;
  
  
  MCP
&lt;/h2&gt;

&lt;p&gt;Wire ausdata-mcp via npx in Claude Desktop or Cursor. Sisters on PyPI run fully local with no key.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this is not
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Suburb-level property prices&lt;/li&gt;
&lt;li&gt;Live KYC / company-officer lookup&lt;/li&gt;
&lt;li&gt;5-minute wholesale electricity bid stacks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AU macro public data, one envelope, citations done for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  R users
&lt;/h2&gt;

&lt;p&gt;readrba by Matt Cowgill is the R equivalent. This is the Python / JS / agent path.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Canonical: &lt;a href="https://ausdata.io/blog/rba-cash-rate-python-api/" rel="noopener noreferrer"&gt;https://ausdata.io/blog/rba-cash-rate-python-api/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Free key: &lt;a href="https://ausdata.io" rel="noopener noreferrer"&gt;https://ausdata.io&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Series: &lt;a href="https://ausdata.io/series/AU.CASHRATE" rel="noopener noreferrer"&gt;https://ausdata.io/series/AU.CASHRATE&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;PyPI: rba-mcp&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>python</category>
      <category>tutorial</category>
      <category>api</category>
      <category>finance</category>
    </item>
  </channel>
</rss>
