App Engine applications run as instances within the Standard Environment, available in General Availablity (GA), or the Managed VM Environment, available in Beta.
Instances within the the Standard Environment have access to a daily limit of resource usage that is provided at no charge defined by a set of quotas. Beyond that level, applications will incur charges as outlined below.
Instances within the Managed VM Environment are charged the cost of the underlying Google Compute Engine Virtual Machines. This is Beta-only pricing and will increase once the Managed VM Environment is GA. All other services and APIs are priced as described below.
To control your application costs, you can set a Daily budget.
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 $)|
|Standard Runtime Instances*||Instance hours||$0.05|
|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, Cron, APIs (URLFetch, Task Queues, Image, Sockets, Files, Users, and Channel)||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.
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.
You must be a project owner to be a billing administrator and complete basic billing tasks. For more information, see the support help page on how to Manage billing administrators.
To use computing resources above the free quotas, add a billing account and enable billing for your project in the Google Cloud Platform Console. For further instructions, see Enabling billing.
If you already have a billing account when you create a project, billing is enabled for that project by default. If you have more than one billing account when you create a project, you must select an account to associate with your project. If you don't have a billing account when you create a project, then you must add a billing account and enable billing for that project to use resources beyond the free quotas.
If you disable an application, you should also disable billing for that application, as the app can still be charged for fixed billing costs, like datastore storage.
After you enable billing, the daily budget is set to unlimited by default. You may want to set a daily budget so there is a limit to the amount you can be charged.
The daily budget is the maximum resource cost you want to pay for a project for App Engine resources. You may still be charged for usage of other Google Cloud Platform resources beyond the daily budget. If you have multiple projects, you may want to set a daily budget for each project.
The daily budget should be large enough to be able to handle spikes in resource usage. When an application exceeds its daily budget, any operation whose free quota has been exhausted fails.
By default, the daily budget for a project is unlimited. To limit application costs, set a daily budget.
To view your app's charges, in the Google Cloud Platform Console, go to Billing. Select the billing account, then go to the History page.
Only billing administrators can view the transaction history. No paper invoices are sent to the billing contact.
The transaction history shows all account activity related to resource charges and payments. The report uses the US Pacific timezone.
Daily and monthly charges
Charges are posted daily and monthly:
- 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. Note that the daily budget does not include taxes. Taxes are added to your charges after daily spend has been calculated, so the final charge to your account may be larger than the daily budget amount. To see any taxes in your bill, in the Google Cloud Platform Console, go to Billing. Select the billing account, then go to the History page to view the transaction history.
You can view your app's current billing status in the App Engine dashboard in the Cloud Platform Console. If a payment fails, the app's account is delinquent and enters a grace period status. You have until the end of the grace period to pay the outstanding balance. During the grace period, the app will continue to run with its budget constraints. If payment is not received, your quotas may be reverted to the default levels.
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.