Alternative to the deprecated google REST web search API - google-search-api

I have been using the Google Websearch API for over 1 year now. The service was deprecated in Nov 2010 but continues to provide results to date. More recently, google has started to enforce the 1,000 queries (?) per day limit on this deprecated service. I swear, last month I made over 10,000 API calls in one day without any errors from the service (same IP, same API key).
So I guess my question is has anyone found an alternative yet? I know yahoo boss is pretty good but I am working exclusively on Google for my projects. I do not mind spending money for for this service either as long as i can get 64 results from Google.
On that thought, how are services like Zoomrank able to bypass all Google limits? I have a subscription with Zoomrank and I can get daily rankings for all my keywords. Do they have a tie-up with Google or are they just accessing some secret service I don't know about.
Some people have suggested the new Google custom search, but i dont know how does that help me search the web? Google CS is limited to the CSE you create and searches within those engines. If I am looking for web results for Pizza, Google CS doesnt help me.
Thanks for your input. Much appreciated

UPDATE: #ggez44 points to some official Google documentation of the solution described below here: http://support.google.com/customsearch/bin/answer.py?hl=en&answer=1210656
You can use the Google Custom Search Engine to search the entire web.
In brief:
Create a CSE that searches a single site (e.g. google.com)
In the CSE control panel's Basics section, set to "Search the entire web but emphasize certain sites"
In the Sites section, delete the single site that you added when you created the CSE
Full details here:
http://www.google.com/support/forum/p/customsearch/thread?tid=56c0bd92dda351b7&hl=en&fid=56c0bd92dda351b7000495e3f500d83f
Once that's implemented, you can enable billing in the Google API Console at a CPM of $5, to a total of 10,000 queries.
Google API Console: https://code.google.com/apis/console/
Pricing: https://code.google.com/apis/customsearch/v1/overview.html#Pricing

Related

How to monitor usage of Google Custom Search Engine

I'm migrating from Google's Google Site Search (GSS) to Google Custom Search Engine (CSE). I'm using the Atom/JSON API via a PHP library, exactly as I was for my current GSS service. I've created a new CSE search engine in my account and updated the secret key and search engine ID in my PHP configuration.
But I'm not sure how I can monitor the usage of my new CSE search engine? How can I tell whether I've run out of requests? How will I know when I need to pay? In fact, how do I even know that my search requests are going to my new CSE and not to my old GSS?
Is there any sort of logging of searches made using my CSE that I can check?
As a side question, I don't understand how CSE is ad-supported. The Atom/JSON API doesn't seem to include any ads in the results. And even if it did, how can Google force me to display them?
You can get basic usage stats on the Statistics tab (https://cse.google.ca/cse/statistics/stats?cx=) or much more detailed statistics by creating a free Google Analytics account here and then associating it with your CSE by adding your Analytics ID at (https://cse.google.ca/cse/statistics/ga?cx=). The Analytics mobile app (Android or iOS)is pretty slick and can be customized countless ways.

How To Get Started Working with the Google AdWords API?

I'm a student working on a project related to SEO; I need to write an optimization tool, so I'm writing an application using C# and Windows Forms. The main part of the application is for keyword selection, and I want to use the Google AdWords API to obtain a list of keywords.
I downloaded the C# client library, but can't understand how to set up the project: I am getting the error:
"An API exception has occurred. See ApiExecption and InnerException fields for more details".
Maybe I have made a mistake when I edited the App.config file as I haven't changed anything else. Can anyone advise me where I should begin? I would be grateful to hear your ideas.
Unfortunatley, the AdWords API isn't as open as you might think: It's meant for ad agencies managing large accounts, or software vendors who want to build ad management platforms. You need to apply to Google for an API key to gain access; they used to give them out to nearly anyone with an account, and it took about 14 days to process the application. However, Google has got very strict about their terms and conditions over the past 12 months, and to put it simply, you probably won't meet them if you're building an SEO tool; even if you apply to build a full platform, you'll need to wait six to ten weeks for approval as they've got a huge backlog of applications to process at the moment.
As this is just a student project, you should actually be able to get away with just using the AdWords API sandbox, which is open to anyone with a Google account. This won't give you real keywords or stats, but would demonstrate your understanding of the platform.
Another option would be to check out the Ad Intelligence Service of the adCenter API; you'd still need to open an adCenter account (with a $5 activation fee), but you should be able to get an adCenter API key without waiting too long. The stats available from Microsoft won't be as extensive as what Google has to offer, but will still be relevant to the at least the US market. Also, being Microsoft, they've got a good range of C# examples.
You could use the sandbox, but it is good only for testing purposes. You won't get real values for traffic estimation and keyword ideas.
To use the sandbox, what you need is a Google account (your gmail account for instance). To initialize the sandbox,
In your App.config, put email/password/developerToken as your email / your password / youremail++USD (e.g. john.doe#gmail.com++USD)
Run the GetCampaigns.cs code example. It is under v201109/BasicOperations folder in the C# examples project. This will initialize the sandbox.
Run the GetAccountHierarchy.cs code example. It is under v201109/AccountManagement folder. This will give you 5 client emails and their customer ids.
Use one of these customerIds in the ClientCustomerId field of App.config.
Run any other code example.
The video is a bit outdated, due to recent changes in AdWords API, I need to update it.
you can find a very good article series about adwords api there: Google Adwords API
it is not that hard to learn how to use it! I think the API itself is very good documented and there is a good suppo from google.

List emails of clients accounts on Google Apps

You will have to excuse my confusion here...
Basically, we have clients with hosted accounts and I need to somehow get a list of emails per domain name.
Say, test.com is a Google hosted account and that it uses Google's email service for admin#test.com, and several more, how can I find (programmaticaly) this complete list of emails?
I've looked around for a while and it only brought more confusion. I think my question relates to this Google API document.
While I'm usually armed with at least one line of code, I'm really clueless on this issue. Perhaps someone out there might shed light on this issue.
PS: I also tried Google API Explorer, but it didn't help at all.
You should use Google Apps Reporting API and get the Accounts report. Of-course, OAuth is recommended auth approach.
http://code.google.com/googleapps/domain/reporting/google_apps_reporting_api.html#Accounts_Report
Provisioning API can also perform the same task and with a real time list of users:
http://code.google.com/googleapps/domain/provisioning_API_v2_developers_guide.html#Retrieving_Users_in_a_Domain
But, its going to be slower for bigger domains since its a paginated feed. Reporting API on the other downloads a CSV file.

Google API Request Limit

Does anyone know where I can find Google API Request Limits for their different services?
On simulating 500+ concurrent users it seems to fail silently fairly often (maybe 1 in 10 loads)
Any ideas?
The information is in their support resources. I am not aware of a central place, but it's all there. Searching the docs for "request limit" should usually do the trick.
The Geocoding API's limits for example can be found here.
Google Maps API Web Services and Google Static Maps API limits were cut effective a few days ago. Starting October 1st 2011 commercial web sites and apps using Google Maps API for free receive:
max of 2,500 calls/day, if modified using Styled Maps feature
max of 25,000 calls/day in total
Fusion tables are preferable to the Google Maps API alone, particularly with respect to rate limits:
Applications using the Google Fusion Tables API can send a maximum of
5 requests per second to the Google Fusion Tables server.
I think they removed the limit recently: can't even find a mention of it in documentation pages where I know for sure that it was mentioned and read about the limit removal somewhere this summer.
Even their new EULA states that their service is not limited but they remain free to limit it however they want at any moment.
500 concurrent users doesn't seem to be that much though, even if limitations where in place; are you sure it's Google what's failing?

Build a search-based-app using an API from a major search engine: google, bing, yahoo - who offers search API?

I need to provide search functionality as the cornerstone of my app (basically I think I can make a better interface than whats is offered by Google, bing, yahoo - bold claim I know). Therefore I will not build an entire search engine from scratch, I will rather use an API provider by a major search engine and simply modify the interface that present the results to my visitors. I am a Google fanboi and I initially tried to use Google Search AJAX API. However, I was very disappointed since I can barely change anything at all.
Specifically;
I need an API that will let me pull programmatically the results from a major search engine and let me output them with the style and goodies that I want.
I am not looking to alter the order in which the search results are presented to the user by inserting crap in between the good results (this is against my philosophy). But I would like to wrap massive php/javascript around each search results so that I can completely control how each result is graphically rendered.
I heard of the BING API 2.0, would that be more flexible than Google AJAX API? Could anyone provide output if any of the current search providers are offering API for this purpose right now?
After careful investigation it appears to me that the Bing 2.0 API is the most flexible and robust search API currently on the market.
The Bing API does require you to put their ads next to the results. You can place your own ads with the Yahoo API. The Yahoo API uses the same search technology (same results) and can be used starting from $0,40 per 1000 queries. The lowest, bulk price of the Google API is $4,00 per 1000 queries. Google's relevance is easily ten times higher for the somewhat more advanced queries.
And also Bing version 2 search API is free!
Whereas, Yahoo BOSS V2 has pricing and so Google does custom search API.