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.
- Using the Developers Console to control billing
- Using the Admin Console to control billing
- Managing a paid app
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 performance.
** 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. See Google App Engine Billing FAQ for more details.
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 instrument 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
Only project owners can enable and disable billing, and perform the functions described below in Managing a paid app.
Sign in to the Google Developers Console.
- Create a new account or sign in to an existing account
- Create a new project or select an existing project
- On the project's page, select Settings
- Click Enable Billing
- You are now in the page that controls the billing account for your project. Fill in the form that specifies the billing information that will apply to this project only.
- Click Submit and enable billing
Go to the project's page in the Developers Console and select Settings. Click Disable billing in the Billing section of the page.
Changing the billing settings
Using the Admin Console to control billing
Only billing administrators can enable billing and manage paid apps. To be a billing administrator a user must already be one of the application's application administrators. A paid app should have more than one billing administrator to ensure there is always someone available who can change the budget. Before you assign billing administrators be sure you have granted an application administrator role to all the people you have in mind.
The application administrator who initially enables billing automatically becomes a billing administrator. The initial administrator can be removed later once other billing administrators exist. To add or remove billing administrators click Manage Billing Administrators. A list of all the current application administrators will appear, with check boxes next to each. Check and uncheck the boxes to add or remove billing administrators. Then click Save.
Any billing administrator can add or remove other billing administrators. Application administrators can only view the list of billing administrators. Go to the Billing Status page and click Manage Billing Administrators. A billing administrator can remove himself - as long as other billing administrators exist. There must be at least one billing administrator at all times.
Follow these steps to enable billing:
- Sign in to the Administration Console at https://appengine.google.com. Google Apps users can sign in at https://appengine.google.com/a/your_domain.com.
- Select an application.
- Click the Settings link (under the Billing Status section).
The billing status page appears and the application's status will be Free.
Click Enable Billing. The first time you enable billing, three consecutive screens appear to enter budget, billing profile, and billing settings:
- Budget: Specify your application's budget. This is the maximum dollar amount of resources you're willing to purchase each day. See Estimating Costs for more information.
- Billing profile: Enter your company's address and one or more billing contacts with phone, email, and notification preferences. The person who initially enables billing automatically becomes the primary contact. Contacts do not have to be billing administrators. Currently the only billing notifications contacts can receive is a warning when a charge has failed. Each new contact receives an email that includes a link that must be clicked to verify the address and to enable the transmission of notifications.
- Billing settings: Enter information for one or more credit cards or bank accounts. You must have at least one account which will be the primary payment source for the monthly bills. If you enter other accounts one of them can be selected as a backup. If a charge to the primary fails, the billing system will try the backup account.
After you fill in all three screens click Submit. You're done! If you cancel out of enable billing while creating a paid app none of the budget, profile, or settings information will be retained. You'll have to enter it all again.
Verify Paid App Status
When you click Submit the application's billing status changes from Free to Enabling Billing. It can remain in this state for several minutes while Google processes your billing settings. You can cancel the pending enable process by pressing Do not enable billing.
Note that the status page does not update automatically. To verify that your application has become a paid app refresh the billing status page until you see that the status has changed to Enabled. After the app has been enabled it may take several minutes for any changes in budget quotas to take effect.
Go to the Billing Status page and click Disable Billing. Your app's usage limits will revert to the free quotas. However, you'll still be charged for your data use up to that point at the end of the month.
Making a payment
The billing system calculates your monthly charges and posts them in the transaction history on the first of the month. The exact date that the linked payment account is actually debited may vary, so when the automatic withdrawal or charge appears in the transaction history it may be after the first of the month.
You can also make a payment through any of your linked accounts at any time by visiting the Transaction History billing page. At the top of the page you'll see your current balance, and a Make a payment button.
Changing contact information
To change company contact information go to the Billing Profile page. You can edit or remove existing contacts or add new ones. You can also edit the company business information.
Changing payment settings
To change payment information go to the Billing Settings page. You can edit or remove existing payment accounts or add new ones.
Managing a paid app
Use the App Engine Admin Console to view the billing status of all your apps, and to set or change an app's budget.
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.
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. More information can be found on the App Engine Billing FAQ page.
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.