In general, anytime you make a network call to Parse on behalf of your app using one of the Parse SDKs or REST API, it counts as an API request.
Background Jobs allow you to set up long running tasks that can be run on demand or on a schedule.
Database storage refers to data stored as Parse Objects, which are limited to 128 KB in size. File storage refers to static assets that are stored using the Parse File APIs, typically images, documents, and other types of binary data.
Queries, saves, logins, amongst other kinds of operations will be taken into account when determining the number of requests generated by your app. A request to send a push notification sent by a SDK will count as a single request regardless of how many installations are targeted. Batched requests will be counted based on the number of operations performed in each batch. Serving Parse files counts as an API request, including static assets served from Parse Hosting. Analytics requests do not count towards your app's request limit.
Each app has its own request/second setting. The request limit is calculated on a per-minute basis for each app. For example, if an app is set to 30 requests/second, your app will hit its request limit once that specific app sends more than 1800 requests over a 60 second period. You can see how many requests per second each app is sending to Parse by loading the Performance graph in the Analytics section of your dashboard.
Once your app exceeds the request limit, any further requests will be dropped until the average number of requests sent over a trailing 60 second window drops under the request limit for this app. Please refer to the preceeding question for more information on how this limit is calculated. When a request is dropped due to exceeding the request limit, the API will respond with a 155 error code (Request Limit Exceeded). To prevent the requests from failing you should adjust the request limit slider for the relevant app on the Account Overview page. Please note that you can see your actual requests/second on the Performance Analytics tab.
You can increase/decrease your request/limit, up to a maximum of 600 requests/second, as frequently as you would like within a given month. We will prorate your charges on an hourly basis. For example, if your app is set to 40 requests/second for two hours a day, you would be charged roughly $8.33 for that month. This assumes a 30 day month, and you can do the math yourself: ($100/month [40 req/s] ÷ 30 days ÷ 24 hours) × 2 hours × 30 days.
When you increase your request limit, you're provisioning additional capacity ahead of time. Your account will be billed according to the request limit that has been set, regardless of how many requests your app actually made.
Parse will not adjust any app's request limit automatically. We recommend setting the request limit high enough to support the amount of traffic generated by your app on average.
Every app is different and the answer will depend on how efficient the app is in terms of request usage as well as your user's behavior patterns. We estimate that the average app's active user will issue 10 requests. Thus, if this app's traffic was evenly spread throughout the day, it would be able to handle around 250,000 daily active users under the free tier. If this same app had a million users on a particular day (or 10,000,000 total API requests), it would benefit from bumping the request limit to 120 requests/second. Every app is different, so we strongly encourage you to measure how many requests your users send on average.
By using the various Analytics graphs in your dashboard. You can find the number of daily active users under the Audience graph. The number of requests your app is consuming per second can be found under Performance. These two figures should help you arrive at an estimate of how many requests per second the average user will send your way. While it is possible to get an estimate with a small number of users, we recommend setting up a beta program with a few dozen users prior to launching your app publicly. This will help you get a better estimate of how your app performs with a wider variety of users, and in turn it will help you plan ahead for your big marketing launch.
If you schedule more concurrent background jobs than your app is provisioned for, the scheduling API will return an error indicating that you are out of capacity. Apps may have one job running concurrently per 20 req/s in their request limit. You can control the number of concurrent background jobs for each of your apps by adjusting the request limit slider on the Account Overview page. In general, if you need more concurrent jobs, you are likely to also need more requests per second capacity.
The numbers you see on our pricing page for File Storage, Database Storage, Bandwidth, and Push Notifications are not hard limits. These are quotas that are provided for free to each Parse app. Your app can exceed these quotas without running into any errors, even if you have not added a credit card to your account yet. Any overages are tracked and accounted for in your next Parse bill. This is designed to ensure that your app can continue working without interruption. Just make sure to add a credit card to your account at some point to make sure we can continue supporting your app.
You will find everything you need in the Performance view within the Analytics section of your Parse Dashboard. The amount of File Storage, Database Storage, and Data Transfer currently used by an app will be displayed below the graph, under Billing data.
The overage rate for database size is $10/GB but we only allow increases in increments of 20 GB. When you you exceed 20 GB of database size we will increase your soft limit to 40 GB and begin charging you an incremental $200/month. When you hit your soft limit of 40 GB we will increase your soft limit to 60 GB... and so on up to a hard limit of 100 GB.
Large files can present a problem on mobile devices with tight memory constraints. Parse's File Storage API has a 10 MB per-file hard limit which cannot be increased. If you need to store more than 10 MB in an individual file, you have several options: host the file as a static asset using Parse Hosting, split the larger file into 10 MB chunks and reconstruct on the client, or use a third party file storage provider to store the file.
It is important to note that in practice most apps will not require a request limit above 600. If your app has not yet launched, it very likely is too early to entertain the idea of requiring more than 600 requests/second. If your app has already launched and you are confident that you will need to set up a request limit above 600 requests/second, read on.
To support higher request rates, we will need to see how your app has performed so far. Every app is different and the maximum request rate that your app can support is highly dependent on the types of queries your app is executing. We highly recommend going through the Performance Guide and watching our Building Apps at Scale video session to ensure that you are making the most efficient use of Parse. Note that once your app is set to a request limit above 600, you will not be able to adjust the limit arbitrarily without first getting in touch with us.
If you are confident that your app meets the above criteria, please use the contact form at the bottom of this page.
'Unique recipients' is the number of distinct devices a push notification is sent to in a given month. If a particular device receives multiple push notifications in a month, that only counts as one 'unique recipient'. If a particular user owns multiple devices, and a push notification is sent to each of these devices, that will count as multiple 'unique recipients'.
Apps register for push notifications by creating an installation object, which counts as a network request. Subsequent app launches associated with this installation will only count as additional requests if the installation object is modified and saved. Note that the installation object may be modified automatically by the Parse SDK, such as when the device time zone or app version has changed.
A request to send a push does use an API request, and does count towards your request limit. However, that request could be to send a push to a single device, or a million devices, and it still uses just one request. One thing to keep in mind is that sending a push notification will likely drive people to use your app, which itself might result in an increase in API request usage. We recommend that you increase your app's request limit prior to a big marketing push, or consider spreading out your campaign over a longer period of time.
Parse Push's advanced targeting feature is built on top of Parse Core and requires use of the Parse SDK for each of the target platforms. You do not need to store any more data on Parse other than what you need for targeting purposes. Our QuickStart Guide for Parse Push provides the minimal steps required to set up push notifications in your app. Using Parse Analytics to target and track your push campaign metrics is optional.
If your app has been released for a while, it is expected that a percentage of your user base will have opted out of push notifications from your app or uninstalled your app from their device. Parse does not automatically delete installation objects in either of these cases. When a push campaign is sent out, Parse will detect uninstalled installations and exclude them from the total count of push notifications sent. The recipient estimate on the push composer is based on the estimated number of installations that match your campaign's targeting criteria. With that in mind, it is possible for the recipient estimate to be higher than the number of push notifications that is sent as reported by the push campaign status page.
Setting up Push Notifications is often a source of frustration for developers. The process is complicated and invites problems to happen along the way. If you run into issues, try some of the troubleshooting tips for iOS and Android in the Push Notifications guide.
No. We count Analytics requests separately from other API requests, and we don't count Analytics requests against your request limit. Parse Analytics requests are completely free!
You can create up to 100 apps per account. This is a hard limit.
You may share access to one app with one or more collaborators. Each collaborator should sign up for a Parse account individually if they don't have one yet. You can then invite them to collaborate on your app from the Collaborators panel in your app's Settings. You as the app owner will remain responsible for any charges your app may incur. Collaborators will share the same level of access that an app owner has, but they will not be able to delete the app or add more collaborators.
You may transfer any app you own to a collaborator in the Collaborators panel in your app's Settings.
Your credit card will be charged automatically on a monthly basis and a copy of the payment receipt will be sent to the account owner via email for your records. You can find a list of past account statements in your Billing Overview page. You can view individual statements and print them for your records from that page.
No. We only accept credit card payments on a monthly basis.
Parse does not offer a discounted plan. All apps get a generous 30 requests/second plan and we invite you to consider using our service for your app. You do not need to enter a credit card or pay to start using Parse. That said, if your app ends up requiring more resources than what we provide for free, we'd like to hear about it!
Your app is hosted in our datacenter located on the East Coast of the United States. We understand there is interest in hosting apps in different geographic regions, but at this time it is not possible to specify a different region.
Parse maintains continuous backups of all data across all apps for the express purpose of supporting a speedy recovery in case of disaster. Parse cannot assist individual developers with recovery when the data was deleted through the Dashboard or the API. Developers are responsible for backing up their own app"s data.
It's your app and your data, and we believe you should be able to easily move off Parse. You can request an export of your data at any time from your app's Settings page. You can find more information about this process in our documentation.
In general, additional background jobs will require an increase to your request/limit. We do not offer custom plans.
You can reset your password. A link will be sent to your email address with further instructions.
Your app will not suddenly stop working if we're unable to charge your credit card once. You will get an email reminder if a charge fails to go through. Please update your credit card information as soon as possible, as we will try to charge your account again in 24 hours. If your account fails to submit payment within 30 days, we reserve the right to disable your account.
Parse offers tools to help users running applications on the Parse Platform. These include Bug Reporting Tools, Billing Inquiries, and Community Channels, and are listed in our Help page for your convenience. The aforementioned tools are available to every Parse customer free of charge. Please make sure to report any issues using the and we will do our best to provide a fix or workaround in a reasonable amount of time in line with the perceived impact of the reported issue. Please refer to our Support Policy for more details.
No, but that doesn't mean we aren't going to work our hardest to take care of you. We will always do our best to keep our servers running and to keep them running as smoothly as possible. If a problem occurs, we will use every resource at our disposable to resolve it as soon as possible. We'll also do our best to let you know if there are any issues at status.parse.com.
Please note that Parse is designed to be a self-service platform. You may refer to our documentation, see our full list of products and services, or visit the Help center for more information on using Parse. Our Developer Community is a good place to reach out to other Parse developers with general questions. If you found a bug or something is not working as expected, please file a bug report with detailed information.