Skip to content
Docs menu

X

Show a public X account's newest posts, with per-widget choices for reposts and replies.

Overview: Embed your X posts.

Connect it

  1. Open Sources and press Add source, then pick X. The form is Connect X.
  2. In Handle or link, type the account’s @handle (like @name) or paste a link to its profile on x.com or twitter.com. A link to one post connects the account that wrote it. The box at the top of Add a source (Find a source or paste a link) works out an x.com link for you.

There is nothing to authorize: TileSet reads the same public posts anyone sees on the profile. No key and no sign-in to X, on every plan. The source follows the account itself, so a handle change keeps working. A protected account is refused when you connect, and the message says so.

Through an agent, use connect_source with { "type": "x", "xHandle": "@name" }, or setup_widget with source set to x and a query (a handle or a link), or just a link. Through the API, POST /v1/sources takes type x, "mode": "live" and xHandle.

What is fetched

Each update reads the newest posts and replies and keeps the newest 24 posts and 24 replies, so older ones stay until newer ones replace them. A post carries its text, pictures, date, the author’s name and picture, and like and reply counts. A video or GIF shows its poster picture with a play mark, and plays in the lightbox when Lightbox is on. A link post with no picture shows its link card’s picture. Each widget chooses what to show:

  • Reposts are on by default (Include reposts) and appear under a “reposted” line.
  • Replies are off by default (Include replies). When on, the account’s replies appear, each with the post it answers as a small card inside it.
  • A post the account reposted and also replied to shows once: the account’s own words first, the post as a small card inside. It shows with replies off, like a quote.
  • A quoted post shows as a small card inside the post. One X can no longer show (deleted, withheld or made private) says “This post is unavailable.”, as X does.
  • Like and reply counts show on grid tiles with Stats.

Both templates work (see Templates): the Posts wall shows every post as a card with the author’s picture, its pictures and its date linking to the post on x.com, and the Photos and videos grid shows the posts that have a picture, with the X mark on each tile (the Platform icon setting turns it off). On the Photos and videos grid, Header shows the account’s picture and @handle with a Follow link. Rating filters do not apply. An X source can join a mixed feed.

Agents and API keys never receive X post content: describe_source_content gives counts only, like every source.

How often it updates

Each X update is a paid request, so X has its own fastest speed on each plan: weekly on Free, daily on Starter, every 6 hours on Growth, every hour on Pro and every 15 minutes on Scale (up to 10 X sources at that speed on one account, and the next one takes the next slower step), with slower steps down to weekly. An update costs 3 credits. See Update speed and schedules and Plans and credits. On the free plan a source nobody has viewed for 14 days pauses until its next view, as Google reviews do. Update now and webhooks follow the same plan speed for X, and wait at least an hour between updates of one X source.

X posts come from a paid data service with a monthly limit that TileSet shares. If this month’s share runs low, X updates slow down for everyone (paid plans last) until the month turns, and the credit meter says so. See Slower this month.

Fair use

A free account can connect 10 different X accounts in any 30 days. Removed ones count, and reconnecting an account you already used is fine. Paid plans have no limit. Free accounts across TileSet can also connect only a limited number of new X accounts a day, a number shared by everyone: past it, a connect says X is temporarily unavailable and to try again after 00:00 UTC. Paid accounts are never refused, and X sources already connected keep updating. See Fair use.

Reconnecting

Nothing to reconnect. If the account is deleted or made protected, the source row shows the error and the widget keeps its last posts.