The Refinder Cloud Search API

Today, I'm happy to introduce another fine piece of Refinder technology, which allows any developer to easily add cloud search functionality to his applications: the Refinder Cloud Search API.  

The goal of Refinder Cloud Search API is to provide convenient and easy-to-use search functionality that can be embedded into any application. Refinder Cloud Search (see https://www.getrefinder.com/s/) allows users to connect all their favorite cloud apps. By doing so it becomes extremely easy to search Twitter streams, RSS feeds, Evernote notes, or files in your Google Drive via a single, simple search interface. Now, the Refinder Cloud Search API exposes this functionality via a simple API, so that you can integrate it into your own application.
 
The Refinder Cloud Search API is based on HTTP, OAuth, and JSON. A simple full text search query is issued via HTTP GET to a URL like this:
GET https://www.getrefinder.com/api/v2/search/?q=cloud%20collaboration
 
The 'q' parameter specifies the term to search for. A typical response to this request will look like this:
{
    "things": [
        {
            "id": "755d3536-e07b-11e1-97bb-002421ef2d56", 
            "score": "4.7963067759632771", 
            "label": "integrate_cloud.png", 
            "created": "2012-08-07T10:34:25.236Z", 
            "created_diff": "2 months ago", 
            "created_display": "Aug. 7, 2012, 10:34 a.m.", 
            "lastModified": "2012-04-03T23:29:24Z", 
            "lastModified_diff": "6 months ago", 
            "lastModified_display": "April 3, 2012, 11:29 p.m.", 
            "has_preview": true, 
            "rdf_type": "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject", 
            "rdf_type_label": "File", 
            "icon_type": "file", 
            "short_summary": "File Path: /Gnowsis-Team/multimedia/illustrations", 
            "short_summary_compact": "/Gnowsis-Team/multimedia/illustrations", 
            "highlighting": "integrate_<em>cloud</em>.png", 
            "description_cleaned": "", 
            "data_objects": [
                {
                    "data_source": {
                        "icon_type": "dropbox", 
                        "type": "http://www.getrefinder.com/ns/2011/11/Dropbox#DataSourceType", 
                        "id": "1bdc7fa4-6096-11e1-b203-001c1401135a", 
                        "name": "Bernhard Schandl's Dropbox account"
                    }, 
                    "target": "_blank", 
                    "clickable_url_title": "Open this thing in Bernhard Schandl's Dropbox account", 
                    "uri": "refinder:1bdc7fa4-6096-11e1-b203-001c1401135a:4170082%3A/Gnowsis-Team/multimedia/illustrations/integrate_cloud.png", 
                    "container_url": "refinder:1bdc7fa4-6096-11e1-b203-001c1401135a:4170082%3A/Gnowsis-Team/multimedia/illustrations", 
                    "clickable_url": "https://www.dropbox.com/home/Gnowsis-Team/multimedia/illustrations?select=integrate_cloud.png"
                }
            ], 
            "data_object_actions": [
                {
                    "url": "/api/v2/things/755d3536-e07b-11e1-97bb-002421ef2d56/823272/dropbox/download_from_dropbox/", 
                    "action_label": "Download from Dropbox", 
                    "verb": "download_from_dropbox", 
                    "target": "_self"
                }, 
                {
                    "url": "/api/v2/things/755d3536-e07b-11e1-97bb-002421ef2d56/823272/dropbox/show_in_dropbox/", 
                    "action_label": "Show in Dropbox", 
                    "verb": "show_in_dropbox", 
                    "target": "_blank"
                }
            ]
        }, 
        ....
    ], 
    "hits": 647, 
    "incomplete": false
}
As you can see, the API exposes lots of information that will help you render a nice result list within your application. You will receive information about the item itself, whether there are previews available or not, and some textual information about the item. Further, you see which data object is associated to the result item (in this case, it's a file that has been uploaded to the user's Dropbox account) and a clickable URL that allows the user to directly open the file in Dropbox. Further, it provides proxy URLs that allow the user to perform certain actions via Refinder (in this case, Refinder offers a direct download link for the file without the need to go over to the Dropbox website).
 
All this data is returned in a simple JSON format, making it really easy for you to integrate this into your apps. More features, like faceted search and advanced sorting options, are available, too — these will be covered in later posts.
 
Over the next few weeks, we'll gradually improve this API and publish more documentation for it, so stay tuned for updates. If you want to start including Refinder Cloud Search features in your application right now, drop us a line at info@gnowsis.com.