The factual-api package

[ Tags: api, bsd3, library, web ] [ Propose Tags ]

This is a driver for the Factual API. It provides a type-safe, easy way to generate queries, setup OAuth authentication and send queries to the API.

[Skip to Readme]


Versions 0.1.0, 0.1.1, 0.1.2, 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.4.0, 0.5.0, 0.5.1, 0.5.2, 0.6.0, 0.6.1
Dependencies aeson (>=, attoparsec (>=, base (==4.*), bytestring, containers, hoauth (>=0.3.0), HTTP, text (>=, unordered-containers (>=, vector (>=0.9.1) [details]
License BSD3
Copyright (c) 2012 Rudiger Lippert
Author Rudiger Lippert <>
Maintainer Rudiger Lippert <>
Category API, Web
Home page
Bug tracker
Source repo head: git clone git://
Uploaded Wed Jun 20 17:12:48 UTC 2012 by RudigerLippert
Distributions NixOS:0.6.1
Downloads 4875 total (42 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for factual-api-0.3.2

[back to package description]


This is a Haskell driver for Factual's public API.



This driver targets ghc 7.4.1 and The Haskell Platform 2012.2.0.0. Please follow the installation instructions for your specific platform to install ghc and The Haskell Platform.

Installation from cabal

$ cabal install factual-api

Installation from git

$ git clone
$ cabal install hoauth
$ cabal install aeson


Load the tests file into ghci to run the tests:

$ ghci test/Tests.hs

To run the integration tests you'll need an API key and secret, but you can always run the unit tests:

*Main> runUnitTests
Cases: 47  Tried: 47  Errors: 0  Failures: 0
Counts {cases = 47, tried = 47, errors = 0, failures = 0}
*Main> runIntegrationTests "mykey" "mysecret"
Cases: 10  Tried: 10  Errors: 0  Failures: 0
Counts {cases = 10, tried = 10, errors = 0, failures = 0}


You can read library documentation by opening docs/index.html in your browser or by visiting the Hackage page.


See the examples directory for examples of each query type. To run an example go to the project root and execute these commands:

$ ghc -o example examples/ReadExample.hs --make
$ ./example mykey mysecret

In this example replace mykey with your key and mysecret with your secret. Note that compiling the source code generates .o and .hi files in the source directories.


Although there is code in the current version to support API writes, these features have not yet been implemented in the Factual API. Please refrain from attempting to use these features until they have been officially announced.