Support > Twitter API > Premium

Premium API support

Premium APIs subscriptions allow developers to purchase elevated access to Search Tweets and Account Activity API.  Here we answer frequently asked questions about setup, technical functionality and billing.

 
 

Frequently asked questions about setting up premium APIs

What are the premium APIs? 

The premium APIs are built with the similar functionality as the enterprise APIs, but are available via an adjustable monthly pricing model.  All premium APIs have a free 'sandbox' access level with limited requests to test, and each product can be upgraded individually for more access and features.  

The premium APIs give developers more query features and access to search historical data, as well as a webhook based service for receiving activities related to a (Twitter) account.  You can search further back in history, much further than the limited 7 days of data on the standard v1.1 and recent search endpoints. Optionally, you can also access our metadata enrichments for profile geo, URL expansion, and poll data. 

As you get started with the premium APIs, use your developer dashboard to help you to manage your access and setup.

There are three different premium APIs available in your developer account now:

Search Tweets: 30-day

Search Tweets: Full Archive

Account Activity API

All premium APIs have a free 'sandbox' level of access and can be upgraded individually for more access.

Here is an overview of the premium APIs from our team.

Ready to try it out? You will need a developer account.

What is the developer portal?

The developer portal is a self-serve user interface within developer.twitter.com where developers can manage premium APIs access, environments, subscriptions, as well as Twitter Projects and Apps. The developer portal is visible when logged in (with Twitter of course) to developer.twitter.com and have an approved developer account.  You can access the developer portal by clicking where it says "Developer Portal" in the top right-hand corner of this site.  Please review the developer accounts frequently asked questions for more details.  A few quick links for using the developer portal with premium APIs are below:

Review or set up your premium APIs dev environments

Review or set up your premium APIs subscriptions

I have a developer account, how do I get started with premium APIs?

You should now be able to make requests to the premium APIs.

How are the premium APIs different from other Twitter APIs?

Differences and similarities between the standard and premium APIs are described within our migration documentation. See integrating premium Search Tweets or the direct messages migration to Account Activity API summary.

Ready to upgrade?

How can I upgrade my premium API subscriptions?

Upgrading your account with the premium can be done from within the developer portal subscriptions page.

Are there tools to help me get started?

Review our frequently asked questions below, documentation, code resources and community forums

  • Developer Support Center & FAQs: For common questions related to the products that you are developing with, we suggest that you review our FAQs below. 
  • Developer Portal: This is where you will find your premium subscriptions, dev environments, Twitter App configuration, usage and permissions. 
  • Technical Developer Documentation: Explore the documentation for our premium APIs. We suggest that you review our docs before contacting our support team. We regularly update and improve the experience and products available on the developer platform, and our docs are the best source for finding this information.
  • Postman Collections: Our postman workspace has several helpful collections built by our team for helping test and explore the API.
  • Code Examples: Browse both Twitter and open source built code examples and libraries Refer to our tutorials for instructions and examples to help you get started, and explore code samples for commons use cases on our TwitterDev GitHub. 
  • Twitter API Status page: If you’re experiencing a realtime operational emergency connecting to a streaming endpoint, or are receiving 5XX errors from REST endpoints, please check our API Status page for updated status of a larger issue. 
  • Premium community forums: It's likely that someone has the same question that you do! Search the forums or post your own topic for community support and feedback.
  • Stay informed: Staying informed about changes to our APIs can be critical to maintaining your applications. We have a number of channels to keep you informed for changes to the platform.
 

Frequently asked questions about premium Search Tweets APIs

Is there an API explorer that I can use to see how requests and responses are formatted?

There is a Twitter Postman collection for Premium APIs which can be used with your own developer App credentials to test live requests.

Are there any code libraries that I can use to get started using the premium Search Tweets APIs?

Yes, there are, including some built Twitter, and by the developer community:

All of the libraries that we provide can be found on our TwitterDev GitHub page: https://github.com/twitterdev.

There are other third-party libraries that may also be helpful; however, please note that some of these may not work with the premium APIs. 

Can I use twurl to use the premium Search Tweet APIs via the command line?

Yes, twurl supports the application-only authentication type used with premium Search Tweets APIs. Follow the step-by-step tutorial on Twurl to get started: $ twurl --help

Make sure to check out this video and the repository's GitHub page

What is the sandbox? Is this real data?

The “sandbox” is the free version of either the Search Tweets: 30-day or Full-Archive, the data returned are real Tweets that match the query rule created within the related timeframe.

Does Search Tweets: Full Archive mean all Tweets?  

Yes. Search Tweets: Full Archive will index all publicly available Tweets created since 2006.  Tweets created by protected accounts are not available.  Deleted Tweets are not available.

In what order are the matching Tweets returned?

Tweets are returned in reverse chronological order. For example, the first page of results will show the most recent Tweets that match the query rule, pagination will continue until the results posted dates get to the fromDate initially requested.

I didn't receive a Tweet that should match my query rule. Why?

There are a few different reasons why this might have happened, including:

  1. the Tweet you expected to see is from a protected account, or an account protected at the time that the Tweet was created.
  2. the data endpoint accounts for all compliance events (meaning that deleted Tweets, scrubbed geos, etc. will not be included in the response).

Also see troubleshooting missing Tweets.

My query rule matched a Tweet but includes a keyword that I negated. Why is this happening?

This is likely due to a wrong usage of operator syntax in your rule. Negated keywords cannot be grouped with ORs.  For example, do not format negations like this  -(foo OR bar)  they must be individually negated, for example -foo -bar . Please review the guide on using operators to ensure you understand the restrictions around building rules.

One or several operators aren't working. Why is this the case?

Some of our operators (for example the $ operator) are only available with the enterprise version of the product. The sandbox tier allows a limited amount of operators.  Paid premium tiers allow additional operators.  Please review our documentation for a full list of available operators per product.

Which operators are available in the sandbox vs. paid Search Tweets premium tiers?

Please refer to our operator chart for which operators are available.

  • Free Search Tweets sandbox tiers: a limited set of operators
  • Paid Search Tweets premium tiers include: is:retweetis:verifiedhas:hashtagshas:geohas:profile_geoprofile_countryprofile_localityprofile_region

Will I ever receive less volume of Tweets than the value I set as the maxResults in my request to the data endpoint?

Yes. Our data endpoint paginates at either the specified maxResults which can be up to 100 per page for sandbox or 500 per page for paid premium.

Can I get more than 500 Tweets per page?

No. 500 is the maximum number of Tweets that will be returned in a single response, for any of the paid tiers of Search Tweets.

The number of Tweets I receive with the data endpoint doesn't match the number of Tweets identified by the counts endpoint. Why is this the case?

There is a known difference between results provided by the counts endpoint and the data endpoint. You may see a discrepancy in your results because the counts endpoint is pre-compliance (meaning that it does not account for things like deleted Tweets, scrub geo, etc.) whereas the data endpoint is compliant at the time of delivery and accounts for all compliance events. 

Will I hit the request limit before the Tweet count limit?

Yes, it's more common to hit the request limit (including pagination) before hitting the Tweet volume cap.

Why am I getting rate limited?

Please be aware of how your code is paginating through requests, if not careful, it's possible to use up several requests very quickly.  If you're getting rate limited, see troubleshooting rate limits.

What are the rate limits for the Premium Search Tweets APIs?

The access and features available through the premium Search Tweets products are determined by the access tier for each subscription level.

Search Tweets: 30-Day

Sandbox

Paid premium subscriptions

Requests limits

250 requests/month

30 requests/minute

10 requests/second

500-10,000 requests/month 

60 requests/minute

10 requests/second

Tweet counts limits

25,000 Tweets/month

100 Tweets/request

5,000,000 -  Tweets/month

500 Tweets/request

Query limits

256 character query limit, limited query operators

1024 character query limit, premium query operators


 

Search Tweets: Full Archive

Sandbox

Paid premium subscriptions

Requests limits

50 requests/month

30 requests/minute

10 requests/second

100-2,500 requests/month 

60 requests/minute

10 requests/second

Tweet counts limits

5,000 Tweets/month

100 Tweets/request

1,250,000 -  Tweets/month

500 Tweets/request

Query limits

256 character query limit, limited query operators

1024 character query limit, premium query operators


All features of each level of access are described in the subscriptions page in your developer account.


How can I check my usage?

API request usage (including pagination) is tracked on the developer dashboard.

There, you are able to access your request usage per current or previous (monthly) periods, as well as per 30 day period, 24 hours and 120 minutes. The projected requests look at previous usage patterns to determine the remaining requests needed in the current period.

What counts as a 'request' for the premium Search Tweets' endpoint?

Any request to the 30-day or Full-Archive endpoint, including each page in the pagination, as well as any /counts calls will be counted as a request.

If I've already used some sandbox requests for the Search Tweets endpoints, will those requests count towards my paid premium subscription?

Each tier increases the maximum number of requests for the subscription period. When you upgrade to a higher paid tier of premium, your total number of requests for that billing period will be the number associated with the paid tier. In other words, your paid requests are not additive to any sandbox requests that you might have made throughout the month.

For example, if you have used 240 requests with the sandbox tier of Search Tweets: 30-day and decide to upgrade to the 500 total requests paid tier, you will have an additional 260 requests during the subscription period for a total of 500 requests. 

How is the monthly Tweet capacity calculated?

Monthly Tweet capacity is based on each product and subscription level.  This is across both dev environments for the product. For Search Tweets 30-day, the monthly cap for Tweets queried is 25 thousand for the free Sandbox and up to 5 million in paid tiers.  If Search Tweets: Full Archive is also active, that product would have a UTC monthly cap for Tweets queried of 5 thousand for the free Sandbox, and up to 2.5 million in paid tiers. Each product's capacity is mutually exclusive. The paid tiers are only tiered based on the number of requests available.

How much does the premium Search Tweet API cost?

Pricing for the premium Search Tweets: 30-Days can be reviewed within the configure Search Tweets: 30-days subscriptions page.

Pricing for the premium Search Tweets: Full Archive can be reviewed within the configure Search Tweets: Full Archive subscriptions page

What happens when I upgrade from sandbox to premium?

When you upgrade to the next package level, additional requests, higher count pagination, as well as the enrichments and additional query operators become available immediately.

How to handle error 429- Usage cap exceeded: Monthly product cap

It's important to note that the premium Search Tweets APIs are rate limited as well as consumption volume limited.  Depending on the access tier that your subscription is in, you may hit the requets cap or the volume cap first.  If you do hit this error, you will need to upgrade to the next access tier for more requests, or to consume more Tweets.  You can also wait until your monthly subscription renews on your renewal date listed on your account subscription for a new monthly quota of requests and Tweet volume.

I have a question that hasn’t been answered in the documentation or this FAQ.

Please check our forums to see if your question was answered there, or post a new topic.

 

Frequently asked questions about premium Account Activity API

What is the premium Account Activity API?

Account Activity API - Use cases

Setting up webhooks

 

Obtaining user permissions

Using REST APIs to engage in Tweets

Using REST APIs to engage in Direct Messages

What are the advantages of using the Account Activity API?

The Account Activity API delivers Twitter activity related to accounts you own or manage in real-time. The Account Activity API uses webhooks, meaning that unlike for the streaming APIs we don't require you to have an open connection for us to send you information. Webhooks are also different from Rest APIs because you don't have to pull us hundreds of times every 15 minutes to get the data you care about. This increases the efficiency between a user and your app, as it delivers data when it happens.

The Account Activity API has a number of benefits:

  1. Speed: we deliver new activity data in real time.
  2. Simplicity: we deliver all of an account's events, through one single webhook connection. The activities delivered in the API include Tweets, @mentions, replies, Retweets, Quote Tweets, Retweets of Quote Tweets, favorites, Direct Messages sent, Direct Messages received, follows, blocks, mutes. 
  3. Scale: you receive all of the activities for an account that you manage without being restricted by any rate limits of event caps.

The Account Activity API is available as a premium sandbox, premium paid, and enterprise offering, so you can scale as you require more accounts for liability features or additional functionality.

To get started, visit the playbook or download sample code snippets from GitHub.

How do I identify which product tier is best for me?

Please read through our Account Activity API overview page to learn more about the differences between the premium options and the enterprise option. 

What is the difference between a premium environment and an enterprise webhook?

There is no difference. Each premium environment will have its own webhook_id.

I need a development, staging and production environment for Account Activity API, is this possible?

Yes! With the paid tiers of Account Activity API (paid premium and enterprise), it's possible to register multiple webhook URLs and manage subscriptions separately for each through the API methods. Additionally, multiple client apps may be added to an allowlist to maintain authorization for your current authorized users.

Do you have any step-by-step guides on how to get set up with the Account Activity API?

As a matter of fact, we do!

  • If you are just getting started, we recommend that you visit our Getting started with webhooks guide
  • Follow along with our Twitter Dev supported scripts: 

Is there a way to recover data if our system goes down for a period of time?

With the paid tiers of Account Activity API (paid premium and enterprise), our system will retry to send the activities to you several times over a four hour period. If your system does not respond within that four hour period, then the activity will be lost and you will have to use other REST endpoints to recover data within 7 days.

We suggest that you use your different webhooks, or environments, as a redundancy tool like the Account Activity Replay API (only available to enterprise customers) to ensure that you don't miss any activities if one of your systems goes down.

What authentication do I have to use with the Account Activity API?

The authorization methods required for Account Activity API is described per method in the API reference pages. If you are just starting out with Twitter authentication, we recommend that you read through this section.

What is a challenge-response check (CRC)?

The Account Activity API challenge response check is a security feature put in place to ensure that the Account Activity API’s activities are being sent to the proper developer. It also can be used by developers to ensure that the data that they are receiving is coming from Twitter. Twitter will automatically send a CRC to your webhook URL once every 24 hours, starting the last time the webhook URL was validated. Your system must respond with a valid response within 3 seconds to remain validated. 

Please visit our page Securing webhooks for more details.

Is there anything that would immediately invalidate my webhook URL?

If one of the following occurs, we will immediately mark your webhook as invalid:

  • The server responds to a CRC with an incorrect token. In this case, our system will not retry to send you the activity.
  • The webhook URL has an incorrect certificate configured. In this case, our system will not retry to send you the activity.
  • Your server returning a non-2XX, non-4XXX, non-5XXX response code.
  • You specify the use of gzip without actually sending it.
  • You do not specify the use of gzip, but actually send it in the response.

Will I get duplicate activities if subscribed to users that are interacting with each other?

Yes.  If your web app has active subscriptions for User A and User B, and User A mentions User B in a Tweet, there will be two POST activities sent to the registered webhook.  Each activity will have an indicator of for_user_id to show which subscription the activity belongs to.

When I make a subscription to my webhook, can I replace the /all/ portion of the following endpoint with other account activity data objects to limit the activities the API delivers? POST https://api.twitter.com/1.1/account_activity/all/:env_name/subscriptions.json

No, this is not possible. As it currently stands, we only have the /all/ product available.

Is there any way of using the Account Activity API without requesting Direct Messages permissions from users? 

At this point, Direct Messages permissions are required because there is no way to 'filter out' the Direct Messages activities for this API. 

Is there a free version of the Account Activity API?

Yes, we offer the sandbox version as a free tier. Our sandbox option is limited to a single webhook with a limit of a maximum of 15 subscriptions. You can read more about the sandbox option in our documentation

Is it possible to use the Account Activity API to get Retweets of Tweets that mention subscribed users? 

Unfortunately, this is not part of the activities delivered with this API. For this, we suggest using filtered stream with a mention rule operator instead. 

What are the possible activity types that are represented by a tweet_create_event?

A tweet_create_event payload will be sent:

If the subscription user does any of the following actions:

  • Creates a Tweet
  • Retweets
  • Replies to a Tweet

If another user:

  • @mentions* the subscription user
  • Quotes a Tweet created by the subscription user 

*Note: The Account Activity API only delivers events when the subscription user would receive a notification from Twitter and could see the event publicly.  This means, if the mentioned account (@UserA) follows the protected account (@UserB) then UserA will get a notification UserB mentioned them. If UserA is not following UserB (and approved by UserB) UserA will not get a notification, and therefore a tweet_create_event would not be sent via Account Activity API if @userA had a subscription.

All activity types sent through the Account Activity API are listed on this page.

If a blocked user mentions my subscribed user, how can I identify this?

You will see a boolean field user_has_blocked on the top level of the json response, set to either “true” or “false". This field will only be exposed on Tweet mentions. 

I already have access to the developer portal, how do I sign up for the premium Account Activity API?

Once you've logged into your developer portal and navigated to the "Dev environments" page, you can 'Create a dev environment' and add your environment name and Twitter app to start using the premium Account Activity API.

How long will it take to have my Twitter developer account approved?

We continue to work through the applications as quickly as we can. See our developer account FAQ.

How much does the premium Account Activity API cost?

You can learn more about the different pricing and access levels on our premium Account Activity API pricing page.

How many apps can I use with the premium Account Activity API?

You can use one Twitter app per dev environment (aka webhook) when using the premium Account Activity API. That means that you can only have one app with the Sandbox tier, and two apps if you are using the paid premium tier.

Can I transfer my premium Account Activity API access to a different app?

While you can change the Twitter App that is utilizing your premium Account Activity API webhook(s), you have to delete the environment and create a new one to make a transfer request using this form.

Where does :env_name come from?

You can find your :env_name, or environment name, within the "Dev environments" page. 

I need more than 250 user subscriptions! What do I do?

Please apply for our enterprise access by applying here.

How do I downgrade from paid premium?

Adjusting your premium tier can be done in the developer dashboard under ‘Manage Subscriptions’. Note that you must downgrade your subscription before the monthly renewal date.  See our premium billing FAQ for more.

I have a question that hasn’t been answered in the documentation.

Please check our forums to see if your question was answered there. If you still can’t find your answer, please post to get support.

How to handle error Code 32

This error generally means that something is either malformed in the request, headers, authorization, or url that you are specifying. This is not an Account Activity API error, it’s an authorization error and Twitter isn’t getting the proper Oauth setup or url.

  • Make sure you have an approved developer account, have established a dev environment for the Account Activity API. You must use the proper environment name and app tokens in your request.
  • If you are trying to register a webhook, the POST :env_name/webhooks endpoint requires for you to replace :env_name with your environment name in the request. Also, this endpoint requires that you authenticate with user context, aka Oauth1.0a, meaning that you need to use the consumer keys and access tokens generated by the Twitter app that you selected as your designated dev environment.
  • If authenticating with user context, make sure you have properly authorized your request with the proper oauth nonce, oauth_signature, and oauth_timestamp.
  • Make sure that your access tokens have the proper permission level.
    • When on the 'Keys and tokens' tab in the app dashboard, please make sure that your access tokens have the 'Read, write, and direct messages' permission level
    • If the tokens' permission level is set to anything less than this, please navigate to the 'Permissions' tab, adjust the access permission to 'Read, write, and direct messages', then regenerate your access tokens and secret from the 'Keys and tokens' tab.
  • Make sure that your URL is formed properly.
    • Please keep in mind that :env_name is case sensitive.

How to handle errorCode 200 - Forbidden

  • Make sure that you have an approved developer account before you try to make a request to the API. You also must use the proper :env_name in the request, which you can setup on the dev environments page.
  • Make sure you have set up your URI properly. This error can trigger if you have entered the incorrect URI in your request.

How to handle error Code 214 - Webhook URL does not meet the requirements.

How to handle error Code 214 - High latency on CRC GET request. Your webhook should respond in less than 3 seconds.

  • This means that your server is slow. Make sure that you are responding to the CRC within 3 seconds.

How to handle error Code 214 - Non-200 response code during CRC GET request (for example: 404, 500, etc).

  • Your server is down. Make sure that your server is running properly.

How to handle error Code 261 - Application cannot perform write actions.

  • The app that you are using with the API does not have the proper permission level set for its access token and access token secret. Please navigate to the 'Keys and tokens' tab on the Twitter apps dashboard and check the permission levels assigned to your access token and access token secret. If it is set to anything other than 'Read, write and Direct Messages,' then you are going to have to adjust the settings under the 'Permission' tab and regenerate your access token and access token secret to apply the new settings.
  • Alternatively, you are trying to register a webhook using app-only authentication, which is not supported. Please authenticate with user context instead as noted in the API reference sections for registering a webhook for enterprise Account Activity API and premium Account Activity API.

How to handle error Code 348 - Client application is not permitted to access this user's webhook subscriptions.

  • This means that you don't have the right permission level for receiving all the activity types from Account Activity API.  You likely need to update your App permissions and re-generate access token & access token secret for that specific user.  It's very likely that at the time that the user authenticated your Twitter App your permissions were set to 'Read' only or 'Read, write' rather than the permission level of ‘Read, write, and Direct Messages’ which is required for Account Activity API subscriptions because it sends direct messages.
 

Frequently asked questions about premium billing

Where can I see my billing setup and past invoices?

The billing page of your developer account here.

Can I print an invoice as a PDF?

At this time downloading invoices about is not currently available. Our team is aware of this request and are working on getting this feature as well as others implemented.  Request or vote for features like this in our feedback forum.

How do I add a credit card or debit card?

If your developer application has been approved, you will be able to add a credit card for premium upgrades.   To add a new credit card to your developer account, log into the developer portal > side panel > account > billing > payment methods > add a new payment method.  In order to finish setting up your card from the add new payment method page, follow these instructions:

  1. Enter all the relevant fields for your card. 
  2. Make sure your address matches the billing information on your card (double check that your information is correct)
  3. Click submit

What types of credit/debit cards do you accept?

Twitter currently accepts Visa, MasterCard, American Express, Diners Club, and JCB credit cards as a payment source. 

How often will I be charged?

Billing for premium Twitter data APIs occurs monthly based on the date of the first premium product subscription purchased.  The renewal date of your premium subscriptions is listed on the subscriptions page as the 'Subscription renewal date' and charges are made at the specified date and the UTC time 00:00:00. If you subscribe to a paid tier or upgrade paid tiers in the middle of your subscription month, the invoice will be prorated based on the amount of time left in the month.  Then on your subscription renewal date, you will be charged the full price for the next month.

Can I pay with ACH or pay for multiple months in advance?

The only payment option currently is a monthly subscription paid by card. Advance payment or other payment options are not available with the premium tier. If you would like to discuss a custom subscription with our enterprise sales team, please contact them through this form

What does the invoice/charge look like?

Charges to the card on file for premium will have the description "Twitter Dev Platform" and the emailed invoice will use the billing name and address on the credit card.  We will only generate invoices with the billing name and address of the credit card on file. We don't currently have any way of generating an invoice with a different address.  Notifications of changes are sent to the developer account owner's email and recent invoices can be reviewed in the developer portal transactions page.

Can I get a VAT invoice for transactions?

At this time we do not have the capability to generate VAT invoices for transactions.

Where can I see confirmation of my upgrade/downgrade or charges?

Invoices for subscription charges, upgrades, and downgrades will be emailed to the developer account owner's email promptly after changing the subscription.  Developer account-related emails will come from the no-reply email address: developer-accounts@twitter.com.

If I've already used some sandbox requests for the Search Tweets endpoints, will those requests count towards my paid premium subscription?

Each tier increases the maximum number of requests for the subscription period. When you upgrade to a higher paid tier of premium, your total number of requests for that billing period will be the number associated with the paid tier. In other words, your paid requests are not additive to any sandbox requests that you might have made throughout the month.

For example, if you have used 240 requests with the sandbox tier of Search Tweets: 30-day and decide to upgrade to the 500 total requests paid tier, you will have an additional 260 requests during the subscription period for a total of 500 requests. 

How is the monthly Tweet capacity calculated?

Monthly Tweet capacity is based on each product and subscription level.  Only one dev environment is allowed per premium product at this time. For Search 30-day, the monthly cap for Tweets queried is 25 thousand for the free Sandbox and up to 5 million in paid tiers.  If Search Tweets: Full Archive is also active, that product would have a UTC monthly cap for Tweets queried of 5 thousand for the free Sandbox, and up to 2.5 million in paid tiers. Each product's capacity is mutually exclusive. The paid tiers are only tiered based on the number of requests available.

When should I cancel/downgrade if I need to?

Subscriptions must be changed before the next renewal date to not get charged for the next month.  It is not possible to give refunds at this time.

I have already paid for a paid premium tier this month. If I upgrade to a higher tier, how will that affect my bill?

When you upgrade from a paid tier to a higher paid tier of premium, the additional paid fee will be prorated for the first month. You will then be charged the higher tier's fee for any subsequent months. 

Why do I have a credit on my invoice?

When you upgrade to a higher tier, a prorated credit for your existing tier is Applied to your invoice.

How do I downgrade from a paid tier to a lesser tier or to the "Sandbox" package?

If you are downgrading to a lower-paid tier, you can do so by navigating to the product in question's subscription management page by clicking the "Upgrade" button on the "Subscriptions" page. From here, select the desired tier in the "Choose the level of usage" table and click the "Review changes" button. 

If you are canceling your paid subscription and moving back to the free "Sandbox" package, you can do so from the "Subscriptions" page by clicking the ellipsis next to the product in question and selecting "Cancel."

Please note that subscription periods are in UTC time.

When should I cancel/downgrade if I need to?

Subscriptions must be changed before the next subscription renewal date and time to not get charged for the next month.  The subscription renewal date can be found in the developer portal on the subscription page here. Note that renewals are also time-specific and are charged based on UTC time 00:00:00.  It is not possible to give refunds at this time.

How do I downgrade my subscription?

If you are downgrading to a lower-paid tier, you can do so by navigating to the specific product's subscription management page by clicking the "Upgrade" button on the subscription page.

Choose a different tier and follow the prompts to accept the new tier level.

How do I cancel my subscription?

If you are canceling your paid subscription and moving back to the free "Sandbox" package, you can do so from the "Subscriptions" page by clicking the ellipsis (...) next to the product in question and selecting "Cancel."  Review the prompts and verify cancellation by seeing your "New subscription details" with the product package 'Sandbox' and Price per month $0.

If I've already used some sandbox requests, will those requests count towards my paid premium subscription?

When you upgrade to a paid tier of premium, your total number of requests for that billing period will be the number associated with the paid tier. In other words, your paid requests are not additive to any sandbox requests that you might have made throughout the month.

For example, if you have used 240 requests with the sandbox tier of Search Tweets: 30-day and decide to upgrade to the 500 total requests paid tier, you will have an additional 260 requests during the subscription period for a total of 500 requests. 

I have already paid for a paid premium tier this month. If I upgrade to a higher tier, how will that affect my bill?

When you upgrade from a paid tier to a higher paid tier of premium, the additional paid fee will be prorated for the first month. You will then be charged the higher tier's fee for any subsequent months. 

What if my card is declined on an auto payment?

Twitter auto-renews your credit card at the end of your billing cycle, and if it declines or there is some issue with your card, the system by default will not retry. We will notify you via email that there was an issue running your card, and give you a few days to renew again.  If you're finding there are frequent issues with running your credit card, you should talk to your bank to let them know to expect this recurring charge as they may be able to put a note on your account to avoid disruption.

If a premium subscription is not properly renewed or the payment fails by the date on your subscriptions page, the system assumes that you didn't want to renew.  An email is sent to the account owner and access is allowed for 2 extra days, where after all premium subscriptions are downgraded to the sandbox tier of the product, and any subscriptions above the 15 (sandbox level of access) are dropped.

Will my card issued from India work for an auto-debit transaction for premium subscription?

Due to the changes made for recurring transactions recently by the Reserve Bank of India update there may be payment issues with subscription renewals at this time for cards issued by India.  We have heard this feedback and are working to prioritize an update.  The changelog will be updated if a change is made.

Will I be notified before my card is charged for my monthly premium subscription?

Yes, notification emails are sent to the developer account owner to notify them that the subscription is coming up for renewal.  There are also additional email notifications for card expiration and failed payment.

Can I get a refund for my subscription?

Refunds may be given in certain circumstances.  The premium billing support team will be able to evaluate eligibility.  Contact the billing support team with the 'Contact our billing support via email' link in the billing section of the developer portal.

Where can I read more about the billing terms and conditions?

Please refer to our terms and conditions page here.

What if I have a premium API billing question not addressed here?

If your question is not addressed here, you can get support from our premium billing support team using the 'Contact our billing support via email' link in the billing section of the developer portal.

 

 

Get support

The Twitter community forum is available for you to ask technical questions about the Twitter developer platform. This is a discussions forum where you will find questions by other developers and technical information on a variety of topics related to using the Twitter API.

We encourage you to join the conversation by responding to questions and engaging in conversations on our forum. Twitter employees are also there to provide support.

Before you post a question

When you post a question, make sure to include the following information

  • A description of the problem
  • The API call being made (include headers, if possible)
  • The Twitter response returned (include any error messages)
  • What you expected to receive instead
  • List of steps taken to troubleshoot the issue
  • List of steps required to reproduce the issue
  • If relevant, the time frame during which an issue occurred 
  • If relevant, the App ID, Tweet ID, etc.
  • Any relevant code sample or screenshots

Please only include one topic/question per post. 

For feature requests or missing functionality, please use our feedback platform instead.

For Policy-related issues, such as App suspension, please contact Policy support.

For Twitter-related issues, such as login and account support, please use the Twitter Help Desk.