Help | Examples | About | API | Blog | Hackage | Haskell
Concurrently search more than 6377 packages and more than 599194 functions! (Index generated: Tue, 22 Apr 2014 14:04:47 UTC )
Enter some search terms above to start a search.

Hayoo! API

Hayoo! provides a JSON-based webservice API, which can be used to retrieve search results in a structured format. This allows one to include Hayoo! search functionality in other applications. Arbitrary queries can be submitted the same way as they would be entered them into the search box and results are returned encoded in JSON format.

You may use this service for whatever you like and without any limitations, although we would be very happy to know about any application that uses the Hayoo! webservice API. Just drop us a line at

Request URI

Direct your search request to the following URI:

Provide your query as argument to the query URI parameter. Please note that you need to ensure proper URI encoding for the query argument. The syntax for the query is the same as if it would be entered into the search box. A detailed explanation of the syntax can be found here.


The response to a search request will be encoded in JSON format and is structured as follows:

  "message":"Found 12 results and 17 completions.",
  "functions":[ {
  }, ... ],
  "completions":[ {
  }, ... ],
  "modules":[ {
  }  }, ... ],
  "packages":[ {
  }, ... ]

The message field will contain a descriptive status message about the result or any errors encountered. The hits field will contain the total number of functions found. In the functions field, an array containing all functions found will be returned. For every function, a JSON object is included in the array.

Each of these objects contains the function name, the URI pointing to the Haddock documentation, the module, the signature and the package name in the name, uri, module, signature and package fields, respectively.

The completions contains all word completions (suggestions) resulting from the query For every completion, a JSON object is included in the array, containing the suggested word and the total number of occurrences of this word in the search result in the word and count fields.

The modules and packages fields contain arrays with JSON objects denoting the occurrences of root modules and packages in the search result. For each element, the module/package name is included in the name field and the number of occurrences in the count field.

Powered by Haskell, HXT, Snap, and
Please send any feedback to