The factual-api package

[Tags:bsd3, library]

This is a driver for the Factual API. It provides a typesafe way to generate queries, an easy way to setup OAuth authentication and a simple way to 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 (>=, base (==4.*), hoauth (>=0.3.3) [details]
License BSD3
Copyright (c) 2011 Rudiger Lippert
Author Rudiger Lippert <>
Maintainer Rudiger Lippert <>
Stability experimental
Category API, Web
Home page
Bug tracker
Source repository head: git clone git://
Uploaded Fri Feb 10 00:41:30 UTC 2012 by RudigerLippert
Distributions NixOS:0.6.1
Downloads 2713 total (22 in the last 30 days)
0 []
Status Docs not available [build log]
All reported builds failed as of 2015-11-17 [all 5 reports]


  • Data
    • Factual
      • Data.Factual.Credentials
      • Data.Factual.CrosswalkQuery
      • Data.Factual.Query
      • Data.Factual.ReadQuery
      • Data.Factual.ResolveQuery
      • Data.Factual.Response
      • Data.Factual.SchemaQuery
      • Data.Factual.Table
  • Network
    • Factual
      • Network.Factual.API


Maintainer's Corner

For package maintainers and hackage trustees

Readme for factual-api

Readme for factual-api-0.1.0


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



This driver was developed on ghc 7.0.4 and The Haskell Platform 2011.4.0.0. Please follow the installation instructions for your specific platform to install ghc and The Haskell Platform.

Installation from git

$ git clone
$ cabal install hoauth
$ cabal install aeson

Note you may require libcurl to install hoauth. On lucid you can run:

$ sudo apt-get install libcurl4-openssl-dev

Installation from cabal

$ cabal install factual-api


Load the tests file into ghci to run the tests:

$ ghci test/Tests.hs

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

*Main> runQueryTests
Cases: 33  Tried: 33  Errors: 0  Failures: 0
Counts {cases = 33, tried = 33, errors = 0, failures = 0}
*Main> runResponseTests "mykey" "mysecret"
Cases: 4  Tried: 4  Errors: 0  Failures: 0
Counts {cases = 4, tried = 4, errors = 0, failures = 0}


You can read library documentation by opening docs/index.html in your browser.


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.