Each App Engine application can consume a fixed amount of computing resources for free, defined by a set of quotas. If your application needs more resources you can make it a paid app by enabling billing and linking to a credit card or bank account for automatic payment. When your application uses resources beyond the free quotas, you will be charged only for the additional usage up to a daily maximum amount which you specify. Charges are accumulated monthly and are paid at the beginning of the following month.
When charging in local currency, Google will convert the prices listed into applicable local currency pursuant to the conversion rates published by leading financial institutions.
Resource billing rates
|Resource||Unit||Unit cost (in US $)|
|Outgoing Network Traffic||Gigabytes||$0.12|
|Incoming Network Traffic||Gigabytes||Free|
|Datastore Storage||Gigabytes per month||$0.18|
|Blobstore, Logs, and Task Queue Stored Data||Gigabytes per month||$0.026|
|Dedicated Memcache||Gigabytes per hour||$0.06|
|SSL Virtual IPs** (VIPs)||Virtual IP per month||$39.00|
|Sending Email, Shared Memcache, Pagespeed, Cron, APIs (URLFetch, Task Queues, Image, Sockets, Files, and Users)||No Additional Charge|
* Frontend and backend instances cost the same. Price may vary based on the performance settings associated with a module.
** SNI SSL certificate slots are offered for no additional charge for accounts that have billing activated. Free accounts are limited to 5 certificates.
Note: If your free app exceeds the free quota for some resource needed to initiate a request, such as the bandwidth quota or instance hours quota, users of the app will get a server error, such as a 503 error. For all other services, exceeding quota from a free app will generate a quota exception that your app can handle gracefully by showing a message to the users. See When a Resource is Depleted for more details.
Note: Please note that there is an initial start up cost of 15 minute instance time for each instance start up.
Costs for Datastore Calls
Datastore operations are billed as follows:
|Read / Write||$0.06 per 100,000 operations|
Calls to the datastore API result in the following billable operations. Small datastore operations include calls to allocate datastore ids or keys-only queries. These operations are free. This table shows how calls map to datastore operations:
|API Call||Datastore Operations|
|Entity Get (per entity)||1 read|
|New Entity Put (per entity, regardless of entity size)||2 writes + 2 writes per indexed property value + 1 write per composite index value|
|Existing Entity Put (per entity)||1 write + 4 writes per modified indexed property value + 2 writes per modified composite index value|
|Entity Delete (per entity)||2 writes + 2 writes per indexed property value + 1 write per composite index value|
|Query*||1 read + 1 read per entity retrieved|
|Projection Query||1 read|
|Projection Query with "Distinct" option||1 read + 1 read per entity retrieved|
* Queries that specify an offset are charged for the number of results that are skipped in addition to those that are returned.
Costs for Search
|Total Storage (Documents and Indexes)||$0.18 per GB per month*|
|Queries||$0.50 per 10K queries|
|Indexing Searchable Documents||$2.00 per GB|
* Storage is at datastore rates.
When you enable billing you specify a maximum daily budget. This is the maximum resource cost you are willing to pay. This daily budget will limit the total amount you can be charged on any single day. The daily budget should be large enough to be able to handle spikes in resource usage. An application can only consume budgeted resources up to its maximum daily budget. When an application exceeds its daily budget, any operation whose free quota has been exhausted will fail. Charges are posted in daily and monthly billing cycles:
- Daily: Every day you are charged for the resources you actually use. Usage up to the free quota limits is included in the usage total, but not in the billable amount. Usage above the free quota is charged at the regular rates.
- Monthly: At the beginning of each month all daily charges for the previous month are summed, applicable taxes are computed, and the total charges are debited from the payment method that is linked to the app.
Some countries tax App Engine fees. If taxes apply in your country of residence, your bill will include any applicable taxes. Taxes appear only in the Transaction History log. You do not need to include taxes in your daily budget. They are added to your charges after daily spend has been calculated, so the final charge to your account, including taxes, may be larger than the daily budget amount.
Using the Developers Console to control billing
Accessing the billing settings
To function as a billing administrator and perform the functions described here, you must be a project owner.
Use the Google Developers Console to control your project's billing accounts and settings. Follow these steps to access the settings pages:
- Create a new account or sign in to an existing account
- Create a new project or select an existing project
- Click on the gear-shaped icon (at the upper right corner) to display the Settings dropdown menu. Select either Billing Accounts or Project billing settings.
Enabling and disabling billing
To enable billing:
- Go to the Project billing settings page
- Click Enable Billing
- Fill in the form that specifies the billing information (this applies only to the selected project)
- Click Submit and enable billing
Once billing is enabled, your app's charges will appear in the billing logs Transaction History page. No paper invoices are sent to the billing contact.
To disable billing:
- Go to the Project billing settings page
- Click Disable Billing
Changing the billing settings
All of the application's billing administrators can use the links in the application console billing section to view and change billing information. The following table shows what management operations are available from each page:
|Billing Status||View billing status, Change budget, Add/remove/view billing administrators|
|Usage History||View daily usage statistics and costs|
|Transaction History*||Make payments, view the current balance and monthly billing transactions|
|Billing Profile *,**||View and change contact information|
|Billing Settings *,**||View and change payment information|
* These pages are only visible to billing administrators.
** These pages only appear for apps created on or before March 21, 2014, newer apps use the Developers Console to change billing settings.
The app's current billing status is displayed on the Billing Status page. Possible values are:
- Enabling Billing
- Grace Period
When a monthly payment fails, the app's account is delinquent and its status becomes "Grace Period." The app will continue to run with its budget constraints and you have up to 30 days to pay the outstanding balance. If payment has not been received after 30 days, your quotas may be reverted to the default levels. While quotas have not been reverted to default levels, the application will continue to be charged for all usage above and beyond the free tier provided. If payment has not been received after 90 days, we reserve the right to stop serving traffic to your site until any outstanding balance is paid off (as noted in the App Engine Terms of Service).
To clear the outstanding charges you can go to the Transaction History page where you can click Make a Payment. You may need to go to the Billing Settings page first, where you can add another payment source or correct a problem with an existing account, such as an expired card. If payment succeeds, the billing status will change to Billing Enabled
Creating or changing a budget
A budget can only be created or changed when the billing status is Enabled or you have a Grace Period. Go to the Billing Status page and click Change Budget. Make your changes and click Submit. (A new budget can also be specified when you re-enable a paid app that has had billing disabled.)
Changing the maximum daily budget can be tricky. When you increase the maximum daily budget the new limit takes effect immediately, so an application that has been failing because it is over budget will work again. However, if you lower the daily maximum the change will take effect immediately only if the current daily usage is below the old maximum. Otherwise, the new maximum takes effect the next day.
The billing section includes two log pages:
This page can be viewed by any application administrator. It shows daily resource usage reports along with details of any associated charges. Billing events, such as budget modifications and billed administrator changes also appear here. These reports can be viewed online, printed, or downloaded as a comma-separated values (CSV) file.
Frontend and backend instance hours are not enumerated by instance class name. They appear as a single instance hours total and the corresponding hourly usage and cost is computed as multiple of the base class (F1 and B1). For example, one hour of F4 usage is billed as four instance hours at the F1 rate.
This page can only be viewed by billing administrators. It shows all account activity related to resource charges and payments. The report uses US Pacific timezone.