Skip to main content
Violations can result in app suspension, API access revocation, or permanent account bans. Always review the official policies before building.

Quick Check: Is My App Allowed?

Before building, ask yourself these questions. If you answer “no” to any of them, your app likely violates X’s policies.

User Initiated?

For interactions, did the user explicitly request it?

Transparent?

Is your app’s purpose and behavior clear to users? (Automated accounts must be labeled.)

Easy Opt-Out?

Can users easily opt out of any ongoing interactions?

Real Value?

Does it provide real value beyond self-promotion?

Official API Only?

Are you only using the official API (not scraping/browser automation)?

Within Limits?

Are you within rate limits and respecting usage policies?
When in doubt, ask: “Would a user be happy with this experience?” If not, reconsider your approach.

Common Scenarios: Allowed or Not?

Real-world examples to help you understand what’s permitted. These rules apply to all apps—whether you’re building a bot, mobile app, web integration, browser extension, analytics dashboard, or any other tool that uses the X API.
ScenarioAllowed?Why
Automated account posts scheduled content (news, weather, quotes)Informational, no unsolicited mentions
App posts RSS feed updates on behalf of userHelpful broadcasting
Alert service posts earthquake/disaster notificationsPublic safety value
Sports app posts game updates to user’s timelineInformational
App posts stock/crypto prices on scheduleInformational, no manipulation
App posts identical content across multiple accountsSpam / platform manipulation
App posts to trending topics to gain visibilityTrend manipulation
Multiple city-specific alert accounts (e.g., @WeatherNYC, @WeatherLA)Allowed—non-duplicative, location-specific content

Prohibited Activities

These activities will get your app suspended or permanently banned. There are no exceptions.
CategoryExamples
Spam & ManipulationIdentical content across accounts, fake engagement, trend manipulation, bulk posting
Unsolicited OutreachAuto-replies to random users, bulk DMs, uninvited @mentions
Deceptive BotsImpersonating humans, hiding bot identity, misleading links/redirects
Engagement SellingApps that sell likes, follows, retweets, or views
Rate Limit AbuseExceeding limits, designing apps that encourage overuse
Non-API AutomationBrowser scripting, scraping, any automation outside official API
Account FarmsMultiple accounts for same duplicative purpose
SurveillanceProfiling, tracking, or monitoring users without consent
Unauthorized AI TrainingUsing X data to train ML models (Grok excepted)
Sensitive Data DerivationInferring health, political, religious, or other sensitive attributes
Excessive RedistributionSharing >1.5M Post IDs per 30-day period

Automation Rules

This section applies specifically to automated accounts (bots) that post, reply, or interact on behalf of users. If you’re building an analytics dashboard, research tool, or other non-automated app, these labeling requirements don’t apply to you—but the technical restrictions still do.

Requirements for Automated Accounts

All automated accounts using the X API must meet these requirements:
1

Enable the 'Automated' profile label

This label appears under your bot’s name/handle on its profile. Enable it in your app settings to ensure transparency.
2

Disclose in bio

State clearly that it’s a bot and who operates it. Example: “Bot by @yourcompany” or “Automated account managed by Example Inc.”
3

Link to a human-managed account

For accountability and contact purposes, your bot must be associated with a human-managed account.
4

Honor opt-out requests immediately

If a user says “stop,” stop. Implement keyword detection for common opt-out phrases.
5

Use only the official X API

No scraping, browser automation, or unofficial methods. Violations result in permanent suspension.
6

Stay within rate limits

Don’t try to circumvent or abuse rate limits. Design your app to handle limits gracefully.

Automated Actions: What’s Allowed?

ActionAllowed?Rules
Post tweetsNo unsolicited @mentions. No identical cross-posting.
Reply to usersOnly if user engaged first. Max 1 reply per interaction.
Send DMsOnly after user DMs you first. Easy opt-out required.
Like postsAutomated likes are banned. No exceptions.
RepostOK for informational/entertainment. No bulk spam.
Quote tweetSame rules as repost—no spam or manipulation.
Follow/UnfollowNo bulk, aggressive, or automated following.
Add to ListsNo bulk or indiscriminate additions.
BookmarkFine for personal/automated use.
Search/ReadStandard use within rate limits.

Gray Areas Explained

Many developers have questions about edge cases. Here’s guidance on common gray areas.
  • Requires prior approval from X before deployment
  • Must still follow all rules (no unsolicited mentions, properly labeled)
  • Contact X via the Policy Support form before launching
  • Even with approval, cannot impersonate humans
Deploying AI-generated replies without approval is a violation, even if the content itself is helpful.
Not allowed as automated DMs—this counts as unsolicited contact, even though they followed you.Alternatives:
  • Pinned tweet welcoming new followers
  • Bio with intro info and links
  • Auto-reply only if they DM you first
Allowed if:
  • Each account serves non-duplicative purposes (e.g., @EarthquakeJP, @EarthquakeCA)
  • Content is meaningfully different (location-specific, language-specific)
  • Not used to bypass limits or amplify the same message
Not allowed if:
  • Posting identical/similar content across accounts
  • Created to evade suspensions or rate limits
Allowed if:
  • User initiates (mentions you, DMs you, or explicitly opts in)
  • Clear opt-out mechanism exists
  • Responses are helpful, not promotional
  • Includes privacy policy link in DMs
Not allowed if:
  • You reach out to users who complained publicly (unsolicited)
  • Responses are primarily promotional
Proceed with caution:
  • Requiring follows/retweets as entry can be seen as engagement manipulation
  • Must comply with X’s contest guidelines
  • Don’t use multiple accounts to amplify
  • Ensure prizes are real and delivered
Consider entry methods that don’t require engagement actions, like replying with a specific phrase.

Data Handling & Display Requirements

These requirements are legally binding under the Developer Agreement. Non-compliance can result in termination and legal action.

Content Deletion

You must delete X Content from your systems when requested:
TriggerDeadline
X requests deletion24 hours
User requests deletion24 hours
Content is suspended/removed on X24 hours
Your API access is terminated10 business days (must delete all X data)
Use Compliance Firehose to receive real-time deletion events and stay compliant automatically.

Off-X Matching

Off-X matching means associating X data (username, user ID, posts) with off-platform identifiers (your customer database, email lists, device IDs, etc.).
Allowed with express opt-in consent:
  • User explicitly agrees to link their X account with your service
  • Clear disclosure of what data will be matched and why
Without consent, you may only match:
  • Information the user directly provided to you
  • Publicly available X data (posts, bio, display name, username)
  • Public resources like professional directories
Never match if it would surprise the user.

Sensitive Data

You cannot derive, infer, or store information about X users in these categories:
CategoryExamples
HealthMedical conditions, pregnancy, disabilities
Financial statusNegative financial condition, credit issues
PoliticalParty affiliation, political beliefs, voting
Racial/EthnicOrigin, ethnicity
Religious/PhilosophicalBeliefs, affiliations
Sex life/Sexual orientationAny inference about sexuality
Trade unionMembership or affiliation
CriminalAlleged or actual criminal activity
Exception: Aggregate analysis without storing personal identifiers (no user IDs, usernames, or linkable data) may be allowed for research purposes, subject to applicable laws.

Displaying X Content

RequirementDetails
AttributionUse proper X branding. Follow Brand Guidelines.
No alterationsOnly modify for display formatting (resizing). Don’t edit content, remove timestamps, or strip metadata.
No iframesDon’t display X Content in iframes. Use official embeds or render directly.
Respect removalsRemove content within 24 hours if deleted on X.

Technical Restrictions

These limits apply to all developers. Exceeding them can result in rate limiting or suspension.
RestrictionLimit
Post ID redistributionMax 1.5M Post IDs per 30-day period to any single entity
Hydrated content redistributionMax 50,000 hydrated Posts or Users per recipient per day
Rate limitsVary by endpoint and tier—see API docs
AI/ML trainingProhibited (except for Grok)
Non-API accessProhibited—scraping and browser automation = permanent ban
Competitive benchmarkingProhibited—can’t measure X performance vs. competitors
Multiple apps for same use caseProhibited—don’t create duplicate apps to bypass limits

Special Use Cases

Use CaseRequirement
Government useRequires Enterprise tier
Commercial useRequires appropriate paid tier; free tier is non-commercial only
Academic researchMay have different redistribution limits; contact X for details
EU Digital Services Act researchSpecific non-commercial research provisions available

Security & Compliance

Your obligations as a developer:
  • Use industry-standard security practices to protect X data
  • Never share your API credentials or tokens
  • Store credentials securely (environment variables, secret managers—not in code)
  • Implement proper authentication in your apps
If you experience a security breach involving X data:
  • Notify X immediately
  • Take steps to mitigate the breach
  • Cooperate with X’s investigation
  • Treat any non-public information from X as confidential
  • Don’t disclose API rate limits, internal X data, or non-public features
  • Don’t use confidential info for competitive purposes
  • X may audit your compliance up to once per year
  • You must provide reasonable access and documentation
  • Keep records of how you use X data

Summary: Do’s and Don’ts

For Automated Accounts:
  • Enable “Automated” profile label
  • Disclose operator in bio
  • Wait for users to initiate interaction
  • Provide easy opt-out
  • Get approval for AI-generated replies
For All Apps:
  • Use only the official X API
  • Respect rate limits and redistribution limits
  • Delete content within 24 hours when requested
  • Get opt-in consent for off-X matching
  • Use proper attribution when displaying X Content
  • Secure your credentials and notify X of breaches
  • Keep records of your X data usage