Innovation in web service APIs is not always technical, sometimes it's about money. Such is the case with Yahoo's announcement that later this year they will begin charging for usage of BOSS (Build your Own Search Service), their search web service for developers. Given that search revenue is typically ad-driven, and that advertising doesn't typically mesh with APIs, this has meant that search APIs have been one of the most challenging classes of APIs for providers to monetize. So it's notable to see how Yahoo has chosen to tackle this: via a 'utility' pricing model, somewhat akin to how infrastructure services like Amazon Web Services charge by usage.
Here are the key details:
- When: The service will begin charging developers in Q2 of this year.
- Why: As the announcement notes: "We’re introducing fees for a couple of reasons. First and most importantly, we’re hard at work on a number of technologies that will enhance both the functionality and performance of BOSS, and usage fees will help support this development. For example, once we introduce pricing, developers will be able to request 1000 results in a single API call (instead of the current 50). We’ll also be introducing an SLA to ensure BOSS is a robust and stable service for developers. Second, we believe that introducing the proposed pricing structure will improve the ecosystem by optimizing capacity for our serious developers."
- How much: Up to 10,000 calls per day will remain free. For the rest, as you can see on the BOSS Pricing Page, the fees are based on a 'units' where each unit costs $0.10. The table below outlines how these vary by usage and type.
Here are a two examples Yahoo gives to demonstrate how the fees will work
- Developer A submits 7000 API requests in a given day. Each API call requests search results 1-10. Since 1000 requests of this type cost 3 units (for a total of 21 units) and each developer gets 30 units per day for free, Developer A is not charged anything.
- Developer B also submits 7000 API requests. Each API call requests results 1-100. Since 1000 requests of this type cost 10 units (for a total of 70 units) and each developer gets 30 units per day for free, Developer B will be charged for 40 units (70
- 30 = 40). The price of 40 units is $4.00 (40 x $0.10 = $4.00).
As TechCrunch's Mark Hendrickson notes one of the key tradeoffs being made here is that requiring developers to use Yahoo-specified advertising or having freedom to monetize how they choose:
The upside to this new SLA for developers is that they’re given complete freedom to run any advertisements they want alongside the web results they pull from Yahoo. There may have been an effort on Yahoo’s part to generate a return on BOSS through advertising, but somewhere this idea must have been dropped in favor of giving developers the freedom to shop for ads anywhere they want. Placing a restriction on the advertisements that partners could run would have imposed its own enforcement costs as well.
When API terms change there's always the potential to make waves with an existing community. But within reason paying for APIs can be a good thing and offer real advantages to the developer. In response to some vocal developer feedback immediately after the launch, product manager Ashim Chhabra noted in the BOSS developer forum the reasons behind, and advantages to, using this approach:
- You are now free to monetize your search product with anyone and with any type of product – this is huge. Search monetizes extremely well and the fees we’ve outlined are small compared to what you can earn.
[One developer commented on this theme: "Am not worried about the it if ever i get 100k query on my site i will be paying around some $40 a day to yahoo but this query size gives me a enough traffic to make $1000 a day. its not bad at all"]
- A Yahoo self-serve ad monetization product would be great, and when it’s available we’ll be thrilled to offer it. But we don’t want you to wait, lock you into Yahoo ad products, or hold you back from making money.
- We want you to feel comfortable relying on BOSS, with a basic fee structure and SLA (guaranteeing fast response times) you can now know that BOSS is not going away and we are continuing to invest in it.
- 10,000 queries a day is well above what most developers use, so really nothing will change for the vast majority of the community. This is also twice the previous YDN Search API limit.
- The price is reasonable – a $0.30 CPM equates to 100k queries for less than $30. If you are at this point, you are already making good $ - there are great monetization options for you around the web.
- We priced this option not to make significant revenue, but to encourage usage and cover costs. When you do the math, we think you’ll agree.
- The model is based on the number queries and query type, not the number of results returned. Yes, asking for the heaviest query type: 1000 queries with 1000 results each is 30 units. Under the 30 unit free program the total queries per day can range from 1000 for the heaviest to 30000 the lightest (spelling).
Besides the pricing news, there's a noteworthy technical aspect to this release: Yahoo is making SearchMonkey structured data available through the BOSS API. And given that SearchMonkey acquires this structured data through web crawls for embedded semantic markup such as microformats or RDF, it means that BOSS developers have access to this as well.
It's good to see Yahoo continuing to innovate on both the technical and business aspects of search web services, and it will be interesting to see how developers build on this platform.