Gnip 2.0: Full Data, XMPP, and a Revenue Model

Three months after its initial launch, much-talked-about data portability service Gnip has released version 2.0 of its API, as well as the first glimpse of a business model. As we covered back in March, Gnip's goal is to "connect Data Consumers to Data Publishers in a low-latency, highly-scalable standards-based way." Gnip is a sort of proxy that makes data from diverse Publishers--services like Delicious or Twitter, which create activity content--available in a unified format, and notifies Consumers--like FriendFeed or Plaxo--via a push interface when new data is available. The new version of the API adds full data delivery, XMPP support, and advanced data filtering.

Gnip describes the "full data" feature as: "You now have access to all the data associated with activities, as well as continued support for activity notifications. Full data provides you with additional meta-data about an activity, as well as the actual activity 'body' (e.g. the comment text on a blog, or the text of a tweet)." The company uses--and has been contributing to--the DiSo project's activity stream format to encapsulate data.

The Filters feature, which supersedes Collections in the previous version of the API, lets Gnip Consumers create rule-based features for the data they request from Publishers, for example filtering actions by tag or author. Here's an example of a HTTP POST request submitted to Gnip that filters Digg activity based on author ("actor"):

POST /publishers/digg/filters. XML
Accept: application/xml
Content-Type: application/xml

<filter name="example" fullData="true">
  <rule type="actor" value="joe"/>
  <rule type="actor" value="jane"/>

Filters are currently limited to OR conditionals only because, Gnip says, "AND introduces not only some interesting technical challenges, but also drives Gnip into some specific product directions we’re still evaluating." This means a filter can deliver results that match any of several different rules ("apple OR pie"), but there's not yet a way to get only results that match all of the rules ("apple AND pie").

Finally, support for XMPP has been added to the API, allowing Producers and Consumers to use the messaging protocol to push and retrieve activity data, respectively. According to the blog announcement, Gnip is "just starting to dabble with XMPP for outbound activities" and Documentation is still sparse. To use it, Consumers must include a <jid> element in their filter request and new activities will be delivered to that Jabber ID.

Gnip's new business model, which will kick in in a month or two according to TechCrunch, will separate the service into a Community Edition and a Standard Edition. The former will be free but will limit Consumers to 10,000 rules per Producer. The latter is unlimited and Consumers will pay $0.01 per rule per month, up to a maximum of $1,000 per month.

The new features look like they'll be very useful to developers, and the business model is priced to entice hobbyists, small companies, and big businesses alike. And Gnip has promised more useful functions to come: like Gnip Transformation, Gnip Polling, and Gnip Identification.

Full documentation for version 2.0 of the Gnip API is available on Google Docs.

Be sure to read the next API article: Defensio API Wants to Defend Your Site Against Spam