How do I get developer access to the Factual API?
What Kind of uptime do you guarantee?
What resources are available if I run into problems?
How do I get in touch in case of a problem?
Is there a message board or a discussion group for application developers?
How much will it cost to use your service after it goes live?
How do I access the API?
What Exactly is REST?
How do I use the API?
Will I be able to make calls to the Factual API through a firewall?
What will my results look like?
What languages does the Factual API support?
Is there a limit to data throughput per day or for a single API call?
Is there a limit to my data storage?
If I write an application and generate a table, will people be able to modify the data in my application without going through my application?
If developers pass user input through their applications, does it look as if the users gave the input or the application developers gave the input?
Does every user of my application have to have a Factual account?
What are the terms of use for the Factual API?
It's simple: just click here or click on the "Get Started - Factual API Key" button in the developer section, and answer some basic questions.
Currently, you can use this API for free, but there is no guaranteed uptime. However, if you plan to use the API on a large scale and would like to discuss an SLA, please contact us.
We've put together a Factual Developer Wiki. Here you will find the most recent Factual developer info and data, as well as API documentation and sample code. There is also the Factual Developer Google Group to post questions.
If something is not working, please check the Factual Developer Google Group. We'll be answering questions and providing status updates there. If you don't see a relevant thread, then please start one - factual_developers@googlegroups.com.
Yes, we have a Factual Developer Google Group. Definitely check this out and stay involved with the conversation.
There's no pricing model at this stage, while we concentrate on developing an open data community. At some point there will likely be fees for various features and service levels, but there will be plenty of communication with the Factual developer community before that takes effect.
The Factual API a RESTful-style interface based on the principles of REpresentational State Transfer (REST).
REST is basically a protocol that requests and moves data (hence, the T for transfer). It leverages established technology of the Web: HTTP and XML. You make an HTTP request to a given URI, and the specific construct of that URI tells the details of the data you want. REST is not a proprietary interface and these principles can be used by anyone.
To learn more about RESTful interfaces:
Wikipedia: Representational State Transfer
http://en.wikipedia.org/wiki/Representational_State_Transfer
How I explained REST to my wife.
http://tomayko.com/writings/rest-to-my-wife
A Brief Introduction to REST
http://www.infoq.com/articles/rest-introduction
You can see documentation and code samples at the Factual Developer Wiki.
Yes, because Factual uses an API based on RESTful principles. As long as a browser can reach a URL, your code will be able to reach the Factual API. To get a better understanding of REST, check out the resources listed above.
You can get results in either JavaScript Object Notation (JSON) or in eXtensible Markup Language (XML).
Here's a sample in JSON:
curl " http://api.factual.com/v1/API_KEY/tables/Oj5R5U/read?limit=3&offset=0
{"status":"ok","response":{"fields":["subject_key","Number","Name","Nickname","Political Party","Year First Elected","First Day in Office","Last Day in Office","First Lady","Vice President","Religion","Birthdate","Deathdate","Birth State","Burial Site","Most Significant Act As President"],"rows":3,"total_rows":44,"subject_columns":[1],"data":[["NWoZK3kTsExUV00Ywo1G5jlUKKs",1,"George Washington","Father of His County, The Sage of Mount Vernon","Federalist",1789,"1789-04-30","1797-03-04","Martha Dandridge Custis Washington","John Adams","Episcopalian","1732-02-22","1799-12-14","Virginia","Mount Vernon Estate, Mount Vernon, VA","crossing the river"],["2kuSN7rMzfGcB2DKt67EqDWQELA",2,"John Adams","His Roundity, The Atlas of Independence, Bonny Johnny","Federalist",1796,"1797-03-04","1801-03-04","Abigail Smith Adams","Thomas Jefferson","Unitarian","1735-10-30","1826-07-04","Massachusetts","United First Parish Church, Quincy, MA",null],["d95o2uzYI7q7tY7bHI4U1xBug7s",3,"Thomas Jefferson","Long Tom, The Pen of the Revolution, Apostle of the Constitution","Democratic-Republican",1800,"1801-03-04","1809-03-04","Martha Wayled Skelton Jefferson","Aaron Burr, George Clinton","Deist","1743-04-13","1826-07-04","Virginia","Monticello, Charlottesville, VA","Lousiana Purchase"]]}}
Here's a sample in XML:
curl " http://api.factual.com/v1/API_KEY/tables/Oj5R5U/read.xml?limit=3&offset=0 "
<?xml version="1.0" encoding="UTF-8"?>
<result>
<status>ok</status>
<response>
<fields>
<field>subject_key</field>
<field>Number</field>
<field>Name</field>
<field>Nickname</field>
<field>Political Party</field>
<field>Year First Elected</field>
<field>First Day in Office</field>
<field>Last Day in Office</field>
<field>First Lady</field>
<field>Vice President</field>
<field>Religion</field>
<field>Birthdate</field>
<field>Deathdate</field>
<field>Birth State</field>
<field>Burial Site</field>
<field>Most Significant Act As President</field>
</fields>
<subject-columns>
<subject-column>0</subject-column>
</subject-columns>
<rows>3</rows>
<total-rows>3</total-rows>
<data>
<row>
<cell>12</cell>
<cell>Zachary Taylor</cell>
<cell>Old Rough and Ready, Old Zack</cell>
<cell>Whig</cell>
<cell>1848</cell>
<cell>1849-03-04</cell>
<cell>1850-07-09</cell>
<cell>Margaret Mackall Smith Taylor</cell>
<cell>Millard Fillmore</cell>
<cell>Episcopalian</cell>
<cell>1784-11-24</cell>
<cell>1850-07-09</cell>
<cell>Virginia</cell>
<cell>Zachary Taylor National Cemetery, Louisville, KY</cell>
<cell nil="true"/>
</row>
<row>
<cell>33</cell>
<cell>Harry S. Truman</cell>
<cell>Give'em Hell Harry, Haberdasher Harry</cell>
<cell>Democratic</cell>
<cell>1948</cell>
<cell>1945-04-12</cell>
<cell>1953-01-20</cell>
<cell>Elizabeth Virginia Wallace Truman</cell>
<cell>Alben W. Barkley</cell>
<cell>Baptist</cell>
<cell>1884-05-08</cell>
<cell>1972-12-26</cell>
<cell>Missouri</cell>
<cell>Harry S. Truman Library, Independence, MO</cell>
<cell nil="true"/>
</row>
<row>
<cell>37</cell>
<cell>Richard M. Nixon</cell>
<cell>Tricky Dick</cell>
<cell>Republican</cell>
<cell>1968</cell>
<cell>1969-01-20</cell>
<cell>1974-08-09</cell>
<cell>Patricia Ryan Nixon</cell>
<cell>Spiro T. Agnew, Gerald R. Ford</cell>
<cell>Quaker</cell>
<cell>1913-01-09</cell>
<cell>1994-04-22</cell>
<cell>California</cell>
<cell>Richard Nixon Library and Birthplace, Yorba Linda, CA</cell>
<cell>Detente with China and Russia</cell>
</row>
</data>
</payload>
</response>
To learn more about JSON or XML:
Introducing JSON
http://www.json.org/
Wikipedia: JSON
http://en.wikipedia.org/wiki/JSON
Wikipedia: XML
http://en.wikipedia.org/wiki/Xml
The Factual API is language agnostic. As long as your code can make a REST request, we'll get you the data. As of yet we have not built any language-specific API hooks. Over time we imagine building some language-specific wrappers to help you more easily integrate your applications with Factual data.
There is no official limit, but please contact us if you're planning to request a large amount of data, either in a single call or in multiple API queries. We will throttle or turn off accounts that seem to have suspect patterns or and that threaten to destabilize the Factual API for everyone else.
Right now we do not enforce a specific limit. However, if we see tables that are unusually large, we'll investigate and shut them down if necessary. If you are planning to send us a gigantic data dump, please contact us in advance so we know it's not spam.
It depends on what options you select. Factual supports unlisted tables (which do not appear in search results) and locked tables (which are read-only for other users). If your table is locked, no other Factual user will be able to modify it. That said, we strongly believe that open and collaborative databases allow data to expand and improve. If you keep your data unlisted or locked, you will miss out on the benefits that the Factual community and platform provide.
If your application is in compliance with OpenID standards, and the user is signed in, you can pass us the information and we'll mark the changes so that they came from that particular user. Otherwise, we'll just track that the changes came from your application, not the specific user.
No. But if you want to pass through changes made by your users and have it look as if your users made the changes, then they'll have to have to sign in using OpenID .
You can check out the Factual terms of use here . If you would like some clarifications just email us at factual_developers@googlegroups.com.