What is RESTfm?

RESTfm turns your FileMaker Server into a RESTful Web Service, so you can access your FileMaker Server databases via HTTP using a common REST architecture with easy to understand API calls.

Version 3.0 out now!
Version 3.0 of RESTfm has been released, now with support for FileMaker 13 and OS X Mavericks. Notable features include support for repetitions and bulk operations. For a complete list of changes, please consult the changelog.

RESTfm gives you full Create, Read, Update and Delete ( CRUD ) operations on FileMaker Server hosted data via standard HTTP GET, POST, PUT and DELETE methods.

RESTfm allows you to use standard FMS Privileges for client access credentials, or choose to configure API keys instead of providing usernames and passwords to clients.

RESTfm works with FileMaker Server 11 and 12 via PHP Web Publishing, running on a Mac with Apache or Windows with IIS 7 or later.

What can I use RESTfm for?

RESTfm is a way of accessing your FMS hosted data. REST is a commonly used architecture so lots of other products and services already have methods for interacting with Web Services. Using RESTfm means you can make your FMS data tables accessible to these other products without any extra coding or work.

Some examples of things you can do with RESTfm :

Access FileMaker Server from FileMaker Pro client over the web.

FileMaker Server has the ability to import data from a URL. You can use this to call RESTfm to request a set of records from FMS and import them directly into FMP. RESTfm has an option to output the data in the FileMaker's own XML format ( FMPXMLRESULT ), so there is no need to convert anything on the import or to try to parse a big text block afterwards.

Plus FMP 12 and later added the "Insert From URL" script step. This gives you options for updating, deleting, or creating new records in FMS.

You can do all of this already in a direct network connection to FMS from FileMaker Pro client. But this option allows you to do those same things very quickly without having to open remote FileMaker files. A web connection like one to RESTfm can be opened, sent and completed in under a second. Taking advantage of all of the FileMaker and Web security already available, this gives you a convenient option to add, edit, create and delete records without having to maintain an ongoing connection.

Plus when you're using FileMaker Pro, you can run plugins such as our free BaseElements plugin that gives you HTTP and XML functions for more control over what you're sending and receiving.

Access FileMaker Server from FileMaker Go on the iPad or iPhone over the web.

The same methods above, except for the plugin, will work in FileMaker Go as well, so you have a great option for setting up methods to send and receive data from an iOS client to FMS. This is perfectly suited to iOS clients as you're likely to be away from the main FMS box, and may not have access to standard FMS networking, but may be able to use the Web.

And if you're not needing an always on connection, using RESTfm as the basis of a sync solution means most of the hard work in communicating with FMS is already done for you. You only need to tailor the operations for your own data set. So you can write your own sync rules and control the process yourself.

You could use RESTfm to get a list of records from FMS, add some new ones to your data set, then send back a new record for FMS and call a script on the FMS box to alert the Sales Manager via email about the new developments.

Integration with other systems.

Lots of systems now have RESTful Web Service APIs and are setup to allow access via these methods. Now your FileMaker Server data can talk to all of these systems. For example you can use Drupal to access FMS data in your Web Site. You could use Wakanda to build a Web or Mobile app, using FMS data in the back end.

Nearly every custom development platform ( Java, .NET, Oracle, PHP, Netbeans ) contains common controls for accessing a RESTful Web Service, so not matter what you're developing there is likely to be an easy way to speak to RESTfm.