Build a Black Friday deals bot for X
Nov 27 and Cyber Monday Nov 30, 2026
Four weeks to go. Post every real deal in your niche with your affiliate link and the product photo, schedule the roundups now, and keep inside Amazon's and X's rules. No X developer account, no X API bill.
Card required, cancel any time.
The short answer
Black Friday 2026 is November 27 and Cyber Monday November 30. Pull deals with your affiliate tag from Amazon's Creators API (PA-API 5 is deprecated) or Walmart's affiliate API, keep real discounts, and post each one to POST https://opentweet.io/api/v1/posts with the photo in media_urls. Start every post with "Ad:", put a time next to any Amazon price, and schedule the roundups ahead with scheduled_date.
The 2026 calendar
Fixed dates first, Amazon's week as a best guess until it is announced. We will update this page when it is.
| When | What to post |
|---|---|
| Now to mid November | Build the bot, grow the account with early deals, and write the roundup posts. Search interest climbs through November. |
| Early to mid November | Amazon announces its Black Friday week. Schedule the "deals start tomorrow" post for the eve. |
| About Thu Nov 19 (not confirmed) | Amazon's Black Friday week likely starts (Nov 20 in 2025). Live deal posts begin. |
| Thu Nov 26 | Thanksgiving. Many stores open Black Friday prices online in the evening. |
| Fri Nov 27 | Black Friday. Peak day: hourly roundups plus live drops in your niche. |
| Mon Nov 30 | Cyber Monday. Second peak, mostly online and tech. |
| Dec 1 onward | Leftover deals, then gift guides. Lower the volume back to a daily pace. |
Where the deals come from
The source has to carry your affiliate tag, or the bot earns nothing. Checked October 29, 2026.
| Source | What you get | Catch |
|---|---|---|
| Amazon Creators API | Product data and prices with your Associates tag | Replaces PA-API 5. 8,640 requests a day for the first 30 days, then scales with sales |
| Walmart affiliate APIs | Search, product lookup, trending items | Affiliate program runs through Impact |
| Keepa API | Amazon price history and deals | Paid, from €49/mo for 20 tokens a minute |
| CamelCamelCamel top drops RSS | Amazon price drops, updated through the day | Works in the OpenTweet RSS connector, but links go to camelcamelcamel, not your tag. Use it as a signal |
| Slickdeals frontpage RSS | Community-voted deals | Blocks most automated fetches (Cloudflare). Read it, do not repost it |
| Your own list | Deals you checked by hand, in a spreadsheet | Import the CSV with dates and OpenTweet schedules every row |
Amazon's Creators API needs credentials from Associates Central (Tools, Creators API). PA-API 5 keys stopped working with the switch.
The posting function
Whatever your source, every deal goes through one function. It skips anything under 20% off, starts with "Ad:", stamps the price time the way Amazon's policy asks, keeps your tagged link unshortened, and attaches the product photo. A photo in media_urls is not a link post; the URL in the text is.
Python
import datetime, requests
OT_KEY = "ot_your_key"
def post_deal(d, live=True):
"""d comes from your Creators API / Walmart call or your own list."""
off = round(100 * (1 - d["price"] / d["was"]))
if off < 20: # skip fake "deals"
return
now = datetime.datetime.now(datetime.timezone(datetime.timedelta(hours=-5)))
text = (f"Ad: {d['title']}\n"
f"${d['price']:.2f} (was ${d['was']:.2f}, {off}% off)\n"
f"Price as of {now:%-I:%M %p} ET, may change\n\n"
f"{d['url']}") # your tagged link, not shortened
body = {"text": text, "media_urls": [d["image"]]}
if live:
body["publish_now"] = True
else:
body["scheduled_date"] = d["at"] # ISO 8601, e.g. "2026-11-27T14:00:00Z"
requests.post("https://opentweet.io/api/v1/posts",
headers={"Authorization": f"Bearer {OT_KEY}"}, json=body)Schedule the roundups today
The posts without a price can go in now. Send up to 50 per request, or put them in a spreadsheet with a date column and use Import CSV in the queue.
POST https://opentweet.io/api/v1/posts
{
"posts": [
{ "text": "Amazon's Black Friday week starts tomorrow. We'll post the best tech deals here as they go live, with prices checked at the time of each post.",
"scheduled_date": "2026-11-18T23:00:00Z" },
{ "text": "Black Friday is here. Every deal we post today is at least 20% off, checked by hand. Turn on notifications.",
"scheduled_date": "2026-11-27T11:00:00Z" },
{ "text": "Cyber Monday: the tech deals that are still live. Thread below.",
"scheduled_date": "2026-11-30T13:00:00Z" }
]
}Every field is in the API reference. Prefer to ask an AI agent? Connect it to the OpenTweet MCP server and have it draft the roundups into your queue.
The link-post math for peak week
Deals accounts post almost nothing but links, and Black Friday multiplies the volume. Plan for the peak days, not the average.
| Setup | Links included | Plan |
|---|---|---|
| A few hand-picked deals a day, roundups without links | 1 a day, 20 posts | Pro, $19.99/mo, plus credits on peak days |
| One deals account, steady through November | 10 a day, 100 posts, 3 X accounts | Advanced, $29/mo |
| Several niche deals accounts | 20 a day, 300 posts, 10 X accounts | Agency, $49/mo |
Link credits cover the spike: $10 for 30, $25 for 100, $50 for 200. Example: an Advanced account posting 40 deals on Black Friday and on Cyber Monday and 15 on each of the other five days uses 155 links that week, 85 more than the 70 included, so one $25 pack covers it. Through the X API directly, those 155 link posts would cost $31 in fees, on top of building and hosting the posting code.
Disclose every post. "Ad:" at the start or "Paid link" next to the link, per the FTC. In the template, so it is never forgotten.
Timestamp Amazon prices. If your data is older than an hour, show the time next to the price. Amazon allows caching for up to 24 hours, and Black Friday prices change faster than that.
No cloaked links, no copies across accounts. Amazon bans links that hide the destination. X bans identical posts across accounts and trend-hashtag stuffing. Turn on the Automated label. More in X automation rules.
Frequently asked questions
When are Black Friday and Cyber Monday 2026?
Thanksgiving is Thursday, November 26, 2026, so Black Friday is Friday, November 27 and Cyber Monday is Monday, November 30. Amazon had not announced its 2026 Black Friday week as of October 29. It started on Thursday, November 20 in 2025 and Thursday, November 21 in 2024, and Amazon announced the dates in early to mid November.
How do I build a Black Friday deals bot for X?
Get deal data with your affiliate tag (Amazon's Creators API, Walmart's affiliate API, or your own list), filter for real discounts, and post each deal to POST https://opentweet.io/api/v1/posts with the product photo in media_urls. Schedule the roundups ahead with scheduled_date and post live deals with publish_now. OpenTweet posts through a normal X login, so you do not need an X developer account.
Can I still use the Amazon Product Advertising API (PA-API 5)?
No. Amazon has deprecated PA-API 5.0 and replaced it with the Creators API, which "receives all new features". Old PA-API keys do not work: create new credentials in Associates Central under Tools, Creators API. It uses OAuth 2.0 client credentials with tokens valid for one hour. You start at 1 request per second and 8,640 a day for the first 30 days, then the limits scale with your shipped revenue, and access stops after 30 days with no qualifying sales.
Can I post Amazon prices in a scheduled tweet?
Only with a timestamp. Amazon's Associates Program Policies (updated April 14, 2026) say prices must come from Amazon links or the API, and if you refresh less often than hourly you must show a date and time next to the price, plus the line "Product prices and availability are accurate as of the date/time indicated and are subject to change." A post scheduled hours ahead should say "as of 9:00 ET" or leave the price out.
How do I disclose affiliate links on X?
The FTC says starting a post with "Ad:" or "#ad" would likely be effective, and that "Paid link" right next to an affiliate link should be an adequate disclosure. "Affiliate link" on its own may not be understood. Put the disclosure in your post template so every deal carries it. Amazon also bans cloaked links and shorteners that hide where the link goes.
How many link posts can a deals account send on Black Friday?
Every deal with a link is a link post. OpenTweet includes 10 a day on Advanced ($29/mo) and 20 on Agency ($49/mo). For a peak week, add link credits: $10 for 30, $25 for 100 or $50 for 200. On the X API directly, each post with a URL costs $0.20 against $0.015 for a plain post.
Can I post the same deal on all my accounts?
No. X's developer guidelines say "No identical cross-posting", and its automation rules forbid duplicate or substantially similar posts across accounts you run. Give each account its own niche (tech, toys, home) and its own wording. Do not stuff trending hashtags into every post either: X treats that as trend manipulation.
Running a deals account all year? See the affiliate deals bot. Posting restocks for collectors? See the Pokemon restock bot.
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. 44 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.
Best API to post to X
Seven options priced at real volumes, and why links decide the bill.
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.
Black Friday is four weeks out
Connect X, create a key, and schedule the roundups today.