Built This Week/AI Tools

AI Tools

Polygon.io

Polygon.io was the small but necessary piece of Jordan's AI trading bot: a free price API he polled every 15 seconds so he didn't burn through his brokerage API's rate limits.

Our verdict on Polygon.io

Polygon.io did exactly one job for us, and did it fine: it fed live prices into Jordan's AI trading bot from a free API he could call about every fifteen seconds. We have not used it beyond that one build in August 2025, so this is a narrow, practical note rather than a full review.

What we built with Polygon.io

Public API trading bot (Episode 8): a web app that watches one stock, IBIT, the Bitcoin ETF. Every 30 seconds it sends the price, portfolio, holdings, trade history, buying power and risk settings to ChatGPT, which decides whether to buy or sell through Public's API.

  • Time: about three to six hours, vibe coded end to end in Replit.
  • Polygon's role: the price feed, polled about every fifteen seconds, with Public's API as a fallback.
  • Result: about ten to twelve trades that turned $300 into $299 before Jordan switched it off for the recording. Some pages, like AI predictions, didn't fully work.
So I found a public API that was free that I could call, like, every fifteen seconds to get the price called Polygon.

— Jordan Metzner, Episode 8

How we used Polygon.io

The steps below are how the price feed fit into the build, from Jordan's walkthrough at 07:26:

  1. Split price data from trading. Jordan did not want to hit Public's API for prices "too aggressively," so prices came from Polygon and trading stayed on Public.
  2. Poll on a fixed interval. About every fifteen seconds for price, with the AI decision loop running every thirty.
  3. Add a fallback. If Polygon's rate limit was hit, the bot pulled the price from Public instead.
  4. Keep the scope to one ticker. Jordan said trading a single stock made the whole thing easy to follow, and that complexity "scales" with a more diverse portfolio.
  5. Pass the price into the prompt with context. Price alone was the first version. Adding trade history gave the model a sense of where he had bought before.
  6. Put the keys in the environment. He created separate API keys for ChatGPT and Public and stored them in Replit.

Where Polygon.io falls short

None of these are complaints about Polygon itself. They are the gaps Jordan and Public's team found in a polling setup:

  • Polling is not streaming. Asked by Public's Emily Kurtz what WebSockets would change, Jordan said "the more streaming, the better," so you stream the price instead of calling for it under rate limits.
  • Market hours. Jordan learned he needed a market-time API for holidays. Emily added that asset classes trade on different hours.
  • Price alone is thin. Public's Jake Trefethen suggested sending a multimodal model a picture of the price chart across several time frames, which he said works well for price action analysis.

What we did not test: Polygon's paid plans, its rate limits in detail, historical data, or any asset beyond one ETF. If you need those answers, this page will not have them.

This bot was an experiment, not a strategy. Jordan was clear: "Totally not investment advice." He would not trade real money at scale with it.

What we'd change next time

Jordan's list after the episode: a Supabase backend with a React front end and better cron jobs, a market-hours API, WebSocket price streaming, and asking several models for a consensus. He also noted the trade-off between giving a model time to think and how often you can trade.

His next trading experiment, the Kalshi prediction market trading bot in January 2026, was a separate build on a different market, made with Opus 4.5, Cursor and Claude Code. Polygon was not part of that stack. For more, see AI in finance.

Anybody can do this, just this was Replit, just talking to Replit.

— Jordan Metzner, Episode 8

Episodes featuring Polygon.io

  • Episode 8: the Public API trading bot, with Polygon as the price feed.

FAQ

What did you use Polygon.io for?

Price data for one stock, IBIT, in Jordan's Public API trading bot. The bot called Polygon about every 15 seconds and fell back to Public's own API if it hit a rate limit.

Is Polygon.io free?

Jordan used a free Polygon API for this build. We did not look at paid plans or their limits on the show.

Why use a separate price API for a trading bot?

To avoid calling your broker's API for prices too aggressively. Jordan kept Public's API for portfolio and trades and pulled prices from Polygon, with Public as a backup.

Should I use polling or streaming for prices?

Polling every 15 seconds worked for a prototype. Jordan said streaming prices over WebSockets would be smoother and remove rate-limit worries, and listed it as a next step.