Developer Documentation

Developer Tools

Query Editor App Editor Schema Explorer

Language Libraries

The Freebase community has created client libraries for Python, JavaScript, Ruby and more.

Python

freebase-python http://code.google.com/p/freebase-python/
This library provides a python interface to the Freebase API available via HTTP web services. It also includes command-line utilities and APIs for creating, dumping, and reloading types and properties.

Javascript

Mjt http://www.mjtemplate.org/doc/freebaseapi.html
Mjt (pronounced 'midget') is a Javascript application framework that includes wrappers for Freebase API services as well as other useful pieces for building browser-side Freebase applications.

Ruby

Ken http://github.com/michael/ken/
A Ruby API for accessing Freebase. It wraps the Metaweb Architecture to smart Ruby Objects.
freebase http://github.com/chriseppstein/freebase/
Chris Eppstein's Ruby API for Freebase.com

Perl

Metaweb http://search.cpan.org/dist/Metaweb/
Perl interface to the Metaweb/Freebase API
New Metaweb http://www.shadowmagic.org.uk/Metaweb.tar.gz
Updated version of the Metaweb module from Philip Kendall
WWW-Metaweb http://search.cpan.org/dist/WWW-Metaweb/
An interface to the Metaweb database via MQL

PHP

metaweb.php http://freebaseapps.com/docs/mql/ch04.html#metaweb.php
An example PHP class that defines a read() method for invoking the Metaweb mqlread service on api.freebase.com, parsing the response to a PHP array.

.NET

freebase-dotnet http://code.google.com/p/freebase-dotnet/
From user Iain Sproat, "MQLwrite calls are broken, but MQLread is just fine - there's even a sweet fluent interface and the beginnings of a LINQ interface."

Clojure

clj-mql http://github.com/rnewman/clj-mql/tree/master
From user Richard Newman, "This is an early-days Clojure client for Freebase. It currently allows you to issue unauthenticated version, status, read, search, and reconcile requests, and to issue write requests within the scope of a login. Logins and writes are performed over HTTPS by default. Input and output are Clojure datastructures, representing MQL queries. The README (and the enclosed restaurant search app) offer some good examples."