TwitterShots
TwitterShots renders public X posts as screenshots and retrieves tweet content and API usage.
Verdict
Common use cases
- Screenshot competitor tweets for slide decks
- Archive customer testimonials as images
- Pull thread text for sentiment analysis
- Generate social proof visuals for landing pages
- Monitor API credit usage before bulk exports
Integration
- Vendor
- TwitterShots
- Category
- developer-tools
- Auth
- API_KEY
- Tools
- 5
- Composio slug
twittershots
Tools
- Generate Temporary Screenshot URL
Render a public tweet or post and return a provider-hosted temporary URL. Download the result promptly or use Generate Tweet Screenshot when it must be retained. A successful render consumes one API credit.
- Generate Tweet Screenshot
Render a public tweet or post as an SVG, PNG, or HTML file suitable for saving. A successful render consumes one API credit.
- Get API Usage
Return the remaining and total TwitterShots API credits for the connected API key. This read does not consume a credit.
- Get Bulk Tweet Content
Fetch up to 100 public tweets as one Markdown document. Inspect the returned Markdown for a 'Failed to fetch tweets' section because individual IDs can fail within an HTTP 200 response. A successful bulk request consumes one API credit.
- Get Tweet Content
Fetch one public tweet as structured Markdown, with optional statistics, media links, and quoted-tweet content. A successful call consumes one API credit.
Setup
Setup guide
- 11. Open your Switchy workspace and navigate to Settings > Integrations > MCP Servers. 2. Click 'Add MCP Server' and select TwitterShots from the catalog. 3. Visit the TwitterShots dashboard to generate an API key (you'll need an active subscription plan). 4. Paste the API key into the Switchy connection form and click 'Connect'. 5. Switchy confirms the connection and displays available tools. 6. Open any Project, type '@TwitterShots get API usage' in the chat, and send—the MCP should return your credit balance. 7. To render a tweet, paste a tweet URL and ask '@TwitterShots generate a screenshot of this tweet as PNG'. 8. The MCP returns either a temporary URL (valid for minutes) or a file you can download, depending on which tool you invoked.
What teammates see: by default, memories from TwitterShots are scoped to the Project (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Projects have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Screenshot Tweet as PNG
@TwitterShots generate a screenshot of https://twitter.com/username/status/1234567890 as a PNG file
Fetch Thread Content
@TwitterShots get the content of this tweet https://twitter.com/username/status/1234567890 with statistics and media links
Check Credit Balance
@TwitterShots show me my current API usage and remaining credits
Bulk Export Tweet Text
@TwitterShots fetch the content of these 20 tweet IDs as one Markdown file: 1234567890, 1234567891, 1234567892...
Temporary Screenshot URL
@TwitterShots create a temporary screenshot URL for https://twitter.com/username/status/1234567890
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@TwitterShots get the last 20 tweets from @exampleaccount as Markdown, then identify the three most-engaged posts and explain why they likely performed well.
The MCP fetched 20 tweets in a single Markdown document, including text, timestamps, and engagement metrics. The AI identified three standout posts: a product launch thread (45K likes), a behind-the-scenes video (38K likes), and a user testimonial retweet (29K likes). Analysis: 'The launch thread used a hook-and-payoff structure; the video offered exclusive access; the testimonial leveraged social proof from a verified account.' This example shows how bulk fetching plus reasoning surfaces content strategy patterns.
Get Bulk Tweet Content retrieves up to 100 tweets in one call, consuming one API credit. Individual tweet IDs can fail silently within a 200 response—always check the returned Markdown for a 'Failed to fetch tweets' section. Rate limits apply; space out large requests if analyzing multiple accounts.
Use-case deep-dives
When TwitterShots wins for capturing launch-day testimonials
A 3-person SaaS team ships v2 and sees 40 positive tweets in the first 48 hours. The founder wants to screenshot the best 12 for a recap blog post and investor update. TwitterShots is the right call here: Generate Tweet Screenshot renders each as a clean PNG with no browser chrome, and the API key means the designer doesn't need OAuth or rate-limit babysitting. The bulk-fetch tool grabs all 40 as Markdown first so the team can filter by engagement before burning credits on screenshots. Trade-off: if you're doing this weekly at scale, the per-credit cost adds up—at that point you want a self-hosted renderer. For a launch spike or quarterly recap, TwitterShots is faster than fighting Puppeteer.
When this MCP is overkill for support-ticket context
A 6-person support team sees customers tweet complaints and wants to pull tweet text into Zendesk tickets for context. TwitterShots can do this with Get Tweet Content, but it's the wrong tool: you're paying per-credit for structured Markdown when you only need the raw text, and the MCP doesn't write back to Zendesk. If your support flow is 'read tweet, log context, reply on Twitter,' use the Twitter API directly or a Zapier bridge—TwitterShots adds cost without solving the round-trip. The MCP wins if you need the screenshot itself (a customer posted a bug screenshot in a tweet and you want the visual artifact saved), but for text-only triage it's a detour. Reserve the credits for cases where the render matters.
When bulk-fetch beats manual copy-paste for content roundups
A 10-person marketing agency publishes a Friday newsletter with 8-12 curated tweets from the week. The editor currently screenshots each tweet manually, crops in Figma, and pastes into the email builder. TwitterShots collapses this into two API calls: Get Bulk Tweet Content pulls all 100 candidate tweets as Markdown so the team can scan and vote in Slack, then Generate Tweet Screenshot renders the final 10 as PNGs with consistent styling. The temporary-URL tool is a trap here—it expires in 24 hours, so the newsletter archive breaks. Stick with Generate Tweet Screenshot and host the PNGs yourself. Trade-off: if your newsletter has fewer than 5 tweets per issue, the manual flow is faster. At 8+ per week, TwitterShots pays for itself in editor time.
Frequently asked
What does the TwitterShots MCP do in Switchy?
It lets AI agents generate screenshots of public tweets as images or fetch tweet content as structured Markdown. Useful when your team needs to archive social posts, analyze tweet threads, or embed tweet visuals in reports without manually screenshotting. Each render or fetch consumes one TwitterShots API credit from your account.
Do I need a TwitterShots API key to connect this MCP?
Yes. The MCP uses API key authentication, so you'll need an active TwitterShots account and a valid key. Paste the key into Switchy's connection flow. The Get API Usage tool will show your remaining credits, so you can monitor consumption without logging into TwitterShots separately.
Can the MCP screenshot private or protected tweets?
No. All five tools work only with public tweets. If a tweet is protected, deleted, or from a suspended account, the render will fail. The MCP also can't post tweets or interact with Twitter's write API—it's strictly read-only for public content.
Why use this instead of Twitter's official API or screenshot tools?
TwitterShots handles rendering and formatting so your agents don't need to parse HTML or manage headless browsers. The Markdown output is cleaner than raw API JSON, and bulk fetching up to 100 tweets in one call is faster than looping individual requests. Trade-off: you pay per credit instead of Twitter's rate-limit model.
Who on the team should connect the TwitterShots MCP?
Whoever owns your TwitterShots subscription and can share the API key. Since each render consumes a credit, connect it to a shared workspace where usage is visible. If multiple people need access, use one key in Switchy rather than provisioning separate keys per person.