Build guide · Black Friday 2026

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.

WhenWhat to post
Now to mid NovemberBuild the bot, grow the account with early deals, and write the roundup posts. Search interest climbs through November.
Early to mid NovemberAmazon 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 26Thanksgiving. Many stores open Black Friday prices online in the evening.
Fri Nov 27Black Friday. Peak day: hourly roundups plus live drops in your niche.
Mon Nov 30Cyber Monday. Second peak, mostly online and tech.
Dec 1 onwardLeftover 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.

SourceWhat you getCatch
Amazon Creators APIProduct data and prices with your Associates tagReplaces PA-API 5. 8,640 requests a day for the first 30 days, then scales with sales
Walmart affiliate APIsSearch, product lookup, trending itemsAffiliate program runs through Impact
Keepa APIAmazon price history and dealsPaid, from €49/mo for 20 tokens a minute
CamelCamelCamel top drops RSSAmazon price drops, updated through the dayWorks in the OpenTweet RSS connector, but links go to camelcamelcamel, not your tag. Use it as a signal
Slickdeals frontpage RSSCommunity-voted dealsBlocks most automated fetches (Cloudflare). Read it, do not repost it
Your own listDeals you checked by hand, in a spreadsheetImport 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.

SetupLinks includedPlan
A few hand-picked deals a day, roundups without links1 a day, 20 postsPro, $19.99/mo, plus credits on peak days
One deals account, steady through November10 a day, 100 posts, 3 X accountsAdvanced, $29/mo
Several niche deals accounts20 a day, 300 posts, 10 X accountsAgency, $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.