My requirements are fairly straightforward, so I am hoping someone can give me a little guidance.
I am writing a (commercial) software app that needs to return the distance and ETA from a fixed point to a desination. I am not concerned with the actual maps, as I am not displaying them. I just need to be able to pass a start/stop to an API and have it return these results.
I have looked into MapQuest, Google, and Microsoft, but am not sure which is the best for my situation. I am leaning towards Mapquest, but am still not sure. Since this is for commercial use, I know that I will have to pay a fee, so I want to make sure I select the correct service; otherwise, I will end up paying for something that I cannot use. All of these choices are overkill for what I need, but I don't know what else is out there - if anything.
Any input is appreciated.
You can use a spatial enabled database to calculate the distance with no need of maps at all.
Home page of PostGis
I am not concerned with the actual maps, as I am not displaying them
Then the Google Maps API isn't much use to you, unless you go with a Premier license.
In that case, the Directions API would be perfect:
http://code.google.com/apis/maps/documentation/directions/
If your website is not available to the public, and is behind a paywall, then here are your prices for the google api.
Product Offering:
Google Maps API Premier OEM pricing
Page View Pricing(Pooled usage between all of your customers)
Page View is a single load of the Google Maps JavaScript by the end user's browser
For Internal Facing/Business to Business Paid Applications (pricing includes $2,500/year developer's license) *$11,250 for 100K page views per year
* $20,000 for 250K page views per year
* $37,500 for 500K views per year
* $72,500 for 1.5 million page views per year
* Please call for pricing above 1.5 million internal page views per year
For External/Business to Consumer Paid Applications (pricing includes $2,500/year developer's license)
* $20,000 for 1 million page views per year
* $37,500 for 2 million page views per year
* $55,000 for 3 million page views per year
* $72,500 for 5 million page views per year
* Please call for pricing above 5 external million page views per year
Related
Google Places changed its pricing model last summer and the additional costs are pretty step and I might have to discontinue a research project on mine. Is it possible to query just the basic information for a place and not be charged for a place details request? My query is:
https://maps.googleapis.com/maps/api/place/details/json?key=MYCOMPANYKEY&placeid=ChIJMfEXesb724ARlhTq8RBG5jY&fields=name,place_id,permanently_closed
The only bit of information I need is if the place is permanently closed. Reading the documentation, it looks like this is a basic field and should be free (link here to the basic data sku), however when I run the query I am charged $17 / 1000 queries. Is there anyway to query this without paying for a Place Details query?
The Places API price consists of two parts: price of request you executed and the data price. The price of request is $17 / 1000. In addition you can get some data for free and some data for additional cost depending on the list of fields that you provided. There is no Google Places API for free, you always pay at least the request.
Have a look at Google Maps Platform pricing sheet for more details:
https://cloud.google.com/maps-platform/pricing/sheet/
Also official documentation states:
Data requests generate a charge in addition to the cost of the Places request. Data charges are always in tandem with the Places requests.
source: https://developers.google.com/maps/billing/understanding-cost-of-use#data-skus
I hope this clarifies your doubt.
In addition to the answer of Xomena, you may cap your request up until your free credits are consumed, upon setting up your billing account, you will be entitled to have one time $300 free credit (Usable for any Google Cloud Platform products) and a monthly recurring $200 free credit (Exclusive for Google Maps API only), so you can still use the API without being billed.
Capping API Usage:
Go to the GCP Console APIs & Services Dashboard
page.
From the projects list, select a project.
Click the name of the API you're interested in.
Click Quotas.
On the quota line you want to change, click the edit icon, then enter your preferred total quota, up to the limit specified by Google.
Based on my calculation, assuming that you are only using Place Details, you can call up to 11764 requests(w/ basic data) per month using your $200 free credit, I did not include the $300 credit in my computation as this is not recurring every month and this will be up to you on how you will spread the $300 free credit.
In their notifications about the new billing system for the Google Maps APIs, Google very clearly state that you "can set usage limits to protect against unexpected increases". However, I haven't found any documentation regarding how to set these usage limits against an API key. Does anyone know how to do this?
To clarify, I would like to set my own daily usage limits against my API key to prevent it ever going over the free threshold for the static maps API.
I understand Google means that you can set your custom daily quota for each individual API in order to stay within free 200$, not a global per API key/project/Billing account daily quota. As far as I know there is no such thing as limit per daily usage in $ per Billing account yet.
There are alerts that you can establish in your Billing account and receive notifications if your usage is close to the defined budget. Have a look at the following document that explain how to set alerts:
https://cloud.google.com/billing/docs/how-to/budgets?hl=en
If your project uses only Static Maps API, it is easy to set daily quota to stay within 200$ per month. The price sheet says that you can have up to 100 000 free requests per month. That means 100 000 / 31 = 3225 free requests per day. You can go to Quota section of Static Maps API in your project
https://console.developers.google.com/google/maps-apis/apis/static-maps-backend.googleapis.com/quotas?project=YOUR_PROJECT_ID&duration=PT1H
and change your daily quota as shown in my screenshots
edit number requests per day
and you are set.
I hope this helps!
OK a bit late for reply, but maybe somebody else can use this.
You do get tons of free map hits etc.
If you don't link a pay account, then you are limited to 1 hit per day (that's google maps) which is useless. All other quotas like 10000 per 100 sec etc are secondary to the 1 hit per day.
Now once you have linked your pay account or a Credit Card etc, to google development console then you get full quota for free user, plus more if you go over your quota covered by your Credit Card.
However don't panic, for first year it's all free and you get $300 (at this moment) worth of free stuff.
Even if you go over this limit Google will first ask you if you wish to change to payment system or continue with free.
If you decide to pay then you will be charged per indicated on google dev site.
If you decide to go with free option then the service to your site will stop until next rotation, i.e. day or month etc depending on service.
see this table.
Unless you have millions of hit on your map page or app, then the free quota is more than enough for normal sites.
Here is a price calculator by google.
As you see you get a lot of unlimited stuff and some paid if you go over your recurring credit of $200 or $300
Google makes it so complicated because it involves people coming from old system and those registering between roll over etc.
perhaps this will help too.
You can also set budgets and alerts just in case you go over budget (via Billing section of dev site)
So in short :) you get tons of free and if you have a lot of visitors the surely you make some money to pay for the services.
Note that google charges for all their API services in 1 place so if you use say Geocoding and firebase and cloud dev etc then you will soon start paying.
Sorry for any typos, I did this fast.
Capping API Usage
Depending on the API, you can explicitly cap requests in a variety of ways, including: requests per day, requests per 100 seconds, and requests per 100 seconds per user.
You might want to limit the billable usage by setting caps. For example, to prevent getting billed for usage beyond the free courtesy usage limits, you can set requests per day caps.
For more info, check this doc: https://cloud.google.com/apis/docs/capping-api-usage
My company purchased a Google Maps API for Business license, but there is a lot of confusion on the quota that we're allowed to use.
I want to use this license in a new project, but I need to convince that we are well under our limit.
Here is the license that we purchased:
GM-INT-250K-OEM | Google Maps API Premier: 12 month license/support term; up to 250,000 internal page views; Maps API for
Business - internal application; 250K annual pageviews
It describes that we should get 250K annual page views. However, this doesn't make any sense because the "free" license gives 25K page views a day.
I apologize if this isn't the right place to ask this since it isn't a code issue. If anyone can confirm that the quota limit is indeed per day and not per year, that would be extremely helpful. If you can also refer to a link that clearly states this, that would be exactly what I need. For some reason, I haven't been able to find this :(
Many thanks.
It seems unlikely that your license has a mistake in it of that magnitude, but you should ask your Google sales rep if you want to confirm the numbers.
I can tell you why it doesn't seem to make sense, though: the 25K and 250K numbers aren't referring to the same thing.
The free Maps API license is for websites available to the general public at no charge, and Google is allowed to put advertising on your map.
You're not allowed to use the free license at all for an internal application.
So, the 250K annual views you get with the Business license is quite a bit more than the zero views you'd get with the free license. :-)
Also, here is a thought on minimizing your number of page views. Google counts the initial page view of a map only. Once the map page is loaded, you can keep interacting with it as long as you like without costing another page view.
So you'd want to avoid structuring your internal app with different pages that all load their own maps. Those would be individual page views. Instead, create a single-page app that loads the map once and keeps it loaded. You can even show and hide the map without costing another page view. Just don't reload the page. (And encourage your users to be economical by leaving your app loaded instead of reloading it all the time.)
I am working on a multilingual website. Instead of making entries for all website languages into database all countries, states/regions/, cities, localities (which is huge work) I'd like to use Google map locations and maps. User will register themselves choosing their locations from the autocomplete list, they will post their products to the website showing the location country, cities etc. Users also will be able to make a search products by locations as well was admin will list the users and products by the locations . Google map locations and API is great for this. In whatever language you type the locations it shows. One of the website using Google map API is airbnb.com, they integrated it very successfully. I see Google offers map API for business but our website will not have much volume like airbnb that we don't need 100 000 requests per day (BTW if we will have 1000 request per day it would be great). Free API is also not for us and doesn't meet our requirements because it is limited and our website will partially be not free (we will charge business owners, not all users). Is there any way to get this issue solved. I appreciate your recommendations. Thanks in advance.
If your website is not freely available (to all users) then you must purchase a Maps for Business license.
Google's usage guidelines state:
Web sites and applications using each of the Maps API may at no cost generate up to 25,000 map loads per day for each API
So if I have two sites on a single web server, do they share the limit of 25,000 map loads, or does each site have its own limit of 25,000 map loads?
Did you read the part when the query limit is exceeded? The Api simply doesn't compute a query and Google isn't sending a bill to you. You have to apply to the paid program yourself. I want to say you can show your user a brief explanation when that happens or redirect them to another site. Anyway it's written web sites not server so my opionion is you don't have to worry about this.
The limit is per API key not per website. But you have to "exceeded the limits for more than 90 consecutive days". Also "Non-profits and applications deemed in the public interest are not subject to these usage limits".
See the FAQ: http://code.google.com/apis/maps/faq.html#usagelimits