Build a stock market bot for X
market close, earnings, cashtag alerts
The FinTwit accounts people follow post the close, the earnings print and the filing before anyone else. Your script already has the numbers. One POST to OpenTweet turns them into a tweet with a chart. No X developer account, flat fee.
7-day trial. Card required, cancel any time.
The short answer
To auto-post stock data to X: pull prices or earnings from a market data API, format a sentence with cashtags, render a chart if you want one, and send it to POST https://opentweet.io/api/v1/posts with publish_now: true and the image in media_urls. For SEC filings and press releases, an OpenTweet RSS connector does it without code.
What a market bot posts
Two kinds of posts: scheduled ones tied to the market clock, and event posts that fire when the data changes.
Market-close recap
Index moves, breadth, and the biggest movers, with a heat map image. Posted every trading day at the close.
Earnings alerts
EPS and revenue against estimates the moment the numbers land, with the cashtag so it shows up in $TICKER searches.
Price and level alerts
A ticker or coin crosses a level, gaps up, or hits a 52-week high. Your script holds the last state and fires once.
Filings and insider trades
8-Ks, 10-Qs and Form 4s from SEC EDGAR, summarized in one line. No code with an RSS connector.
Economic calendar
CPI, jobs report, rate decisions. Schedule the preview the night before and post the print when it lands.
Weekly earnings preview
A Sunday post of the week's big reports. Questions like "which one moves most" pull replies.
The market-close recap, with a chart
Run this from cron at 4:05 pm ET on trading days. Compute the numbers from your data provider, render the heat map, and post both in one call.
import requests # example: market-close recap with a chart
KEY = "ot_your_key"
def post_close(spx_pct, ndx_pct, leaders, chart_url):
text = (
f"Market close: S&P 500 {spx_pct:+.2f}%, Nasdaq {ndx_pct:+.2f}%\n"
f"Leaders: {' '.join('$' + t for t in leaders)}"
)
requests.post(
"https://opentweet.io/api/v1/posts",
headers={"Authorization": f"Bearer {KEY}"},
json={"text": text, "media_urls": [chart_url], "publish_now": True},
)
post_close(0.49, 0.71, ["NVDA", "LLY", "JPM"], "https://cdn.example.com/heatmap.png")Earnings alert in one curl call
# Earnings just hit. Tweet the numbers. (example payload)
curl -X POST https://opentweet.io/api/v1/posts \
-H "Authorization: Bearer ot_your_key" \
-H "Content-Type: application/json" \
-d '{
"text": "$ACME Q3 earnings\nEPS $1.42 vs $1.31 est.\nRevenue $8.9B vs $8.7B est.\nGuidance raised.",
"publish_now": true
}'Schedule the week's previews
Up to 50 scheduled posts per request. Times are UTC.
{
"posts": [
{ "text": "Earnings this week: $AAA Mon, $BBB Tue, $CCC Wed. Which one moves most?", "scheduled_date": "2026-10-26T12:00:00Z" },
{ "text": "Pre-market movers coming at 9:00 ET.", "scheduled_date": "2026-10-27T12:45:00Z" }
]
}Filings and press releases, no code
SEC EDGAR has an RSS feed for every company and form type, and most investor relations sites publish press releases as RSS. Add the feed to an RSS connector, pick a template like {title} or let the AI write a one-line summary, and each new filing posts on its own.
Or let an agent write the commentary
Connect Claude, ChatGPT or Cursor to the OpenTweet MCP server, give it the day's data, and ask for a recap in your voice. It can draft, schedule and publish as tool calls. Every field is in the API reference.
What it costs to run
One flat price. Market bots post mostly text and charts, so the link cap rarely matters.
| Plan | Price | Posts a day | Link posts a day | Fits |
|---|---|---|---|---|
| Pro | $19.99/mo | 20 | 1 | Daily close plus a few alerts |
| Advanced | $29/mo | 100 | 10 | Earnings season, a watchlist of alerts |
| Agency | $49/mo | 300 | 20 | Several accounts (stocks, crypto, macro) |
Compare with the per-post billing of the official API on the X API pricing page.
Stay on the right side of X. Label the account as automated in X settings, post to your own timeline, and do not auto-reply under other posts with tickers or links.
Stay on the right side of your audience. Say "not financial advice" in your bio, report numbers rather than predictions, and never promise returns or promote paid signals you cannot back up.
Check the data license. Free tiers of market data APIs often forbid redistribution. Read the terms before you post their numbers on a public account.
Frequently asked questions
How do I make a stock market bot for Twitter?
Pick a market data API (Finnhub, Alpha Vantage, your broker's API, or an exchange API for crypto), write a script that turns the numbers into a sentence and optionally a chart image, and send it to https://opentweet.io/api/v1/posts with publish_now set to true. Run it on a schedule, for example at the 4:00 pm ET close, or when a price crosses a level you track.
Do I need the X API to post stock alerts?
No. You connect your X account to OpenTweet once with a normal login and post through one bearer key. There is no X developer account, no OAuth app, and no per-post bill. On the official X API every post is billed, and a post with a link costs about 13 times a plain one.
Can the bot post charts?
Yes. Render the chart in your script (matplotlib, Plotly, or a heat map library), upload it anywhere public, and pass the URL in media_urls. OpenTweet downloads the image and attaches it. An image is not a link, so it does not use your link-post allowance.
Can I auto-post SEC filings or earnings press releases?
Yes, without writing code. SEC EDGAR publishes RSS feeds per company and per form type. Add the feed to an OpenTweet RSS connector, choose a template or let the AI summarize each filing, and new filings post on their own. Most investor relations pages also offer an RSS feed for press releases.
How many posts can a market bot make per day?
Pro ($19.99/month) publishes up to 20 posts a day, Advanced ($29) 100, and Agency ($49) 300. Posts with a link are capped separately: 1 a day on Pro, 10 on Advanced, 20 on Agency, plus link credits if you need more.
Is it allowed to run an automated finance account on X?
Yes, if it posts original content to its own timeline. Turn on the "Automated" label in your X settings, add a "not financial advice" line to your bio, never promise returns, and do not auto-reply under other people's posts with tickers or links. Spam and pump patterns are what get finance bots suspended.
Building a different kind of automated account? See the alert bot, the sports stats bot, or the automated news account.
Everything you can build on X with OpenTweet
Post to X from your code, a watcher, or an AI agent. Start anywhere in the cluster.
OpenTweet vs the X API
Post, schedule, and automate X without a developer account or the $200/mo minimum.
X DM outreach, human-approved
Find and qualify leads, AI-draft DMs, approve each one, and drip-send from your own account via API or MCP.
Post to X without an API
The clean, account-safe way to post to X from your code or an AI agent.
Twitter MCP Server
Give Claude, Cursor, and OpenClaw the ability to post to X. 43 tools included.
Developer docs
Quickstart, API keys, MCP setup, and the REST reference for posting to X from code or an agent.
Cross-posting reference
One call posts to X, Bluesky and LinkedIn. The platforms field, per-network results, and why a network gets skipped.
Social media API for AI agents
Three ways an agent can post to X, Bluesky and LinkedIn, and the trade-offs of each.
LinkedIn MCP server
Post and schedule to a LinkedIn profile from Claude or Cursor through the official LinkedIn API.
XMCP vs OpenTweet
X's official MCP server bills per API call and cannot schedule. Compare it with the flat-fee hosted MCP.
MCP for AI agents
Connect your AI client to X in under two minutes, no X developer account.
Developer API and keys
REST endpoints, one bearer key, and usage tracking. Build on OpenTweet.
OpenTweet for AI agents
The posting layer for autonomous agents and automations that live on X.
Build an AI Twitter persona
Give your AI agent its own X account. Setup, cadence, and the rules that keep it safe.
Best MCP servers for social media
The 2026 ranked list. How the hosted OpenTweet MCP compares with the official X MCP and others.
Cheapest way to post to X via code
Flat fee vs pay-per-use. Why the $0.20 per-link fee flips the math past ~145 link posts a month.
X API pricing 2026
Every pay-per-use X API endpoint price from docs.x.com in one searchable table.
Bluesky posting API
Post and schedule to Bluesky with one REST call and OAuth, and cross-post to X and LinkedIn in the same request.
Automate LinkedIn posts
Post to LinkedIn from an AI agent, n8n or a script through the official Posts API, with one REST or MCP call.
Post tomorrow's close automatically
Connect X, create a key, and point your script at it. The first recap can go out at the next close.