Attention: This site does not support the current version of your web browser. To get the best possible experience using our website we recommend that you upgrade to a newer version or install another browser

We noticed that you are using Internet Explorer 11. We would like to encourage you to upgrade to a more current browser. Internet Explorer 11 is no longer being updated by Microsoft, and it lacks many important features. Please go here for more information.

Get Started Developing with FamilySearch

The FamilySearch API is a RESTful Web service that can be used to enable your apps to read and write data in various FamilySearch resources. Follow the steps in this guide to get started on the FamilySearch platform.

Create a Developer Account

Complete and submit the Registration form to obtain a FamilySearch developer account. An email will be sent to you with a link to validate your account. Complete registration by choosing a password. You will be automatically signed in after validating your account. This account grants you access to the developer website where you can register and manage your FamilySearch apps.

When signed in, the Integration Account window will show your username and password for the Integration reference system. Use that account to create test data and interact with the API while developing your apps.

Register Your App and Receive an App Key

Register your app with FamilySearch by clicking the Create App button on the developer website. Be prepared with the following information:

App Name

Decide on a name for your app. This name will be made publicly visible to users of your app when they visit the FamilySearch Web page.

App Type

Your app type options are Web, Mobile, or Desktop. You need a separate app key for each type of the app that you develop.

Redirect URI

Your redirect URI should be an absolute URI that points to the location of your app in order to complete the authentication flow. Depending on the server address that is running your app, your redirect URI may look something like one of the following:

http://localhost/familysearch-return.php

http://localhost:5000/auth/familysearch/complete

You can add multiple redirect URIs.

Note If you do not know your URI at this time just enter http://localhost for now; you can change it later. If the redirect URI in your code does not match the redirect URI you enter here, your app will not be authenticated to access FamilySearch data.

You must click the Save Changes button to save your app.

Your App Key

A unique app key is assigned to your app and is shown on the Application Details page of each app. You must use this app key to access the FamilySearch API calls you make. Your app key can be enabled to access the following three sets of data:

Integration

Used for development and testing. Developers are automatically granted access to this system after creating a developer account. Integration only contains test data that was added by other developers. You may use the Integration Data Copy tool to populate it with realistic data.

Beta

This is an old snapshot of production data. It’s used for testing in a production-like environment. This system is not always available. Contact developer support to request access.

Production

After you complete the app certification process, your app key will be enabled to access the production FamilySearch data.

Get An Access Token Using OAuth 2

The first step your app must do is to authenticate with FamilySearch by obtaining an access token. This access token is required for every other FamilySearch resource request. Read the Authentication guide to become familiar with the FamilySearch authentication process.

Develop Your App

The next step is to proceed with developing your code. The FamilySearch developer website includes the following resources to help you with your coding efforts.

A Glossary of terms often used in the FamilySearch API developer documentation.

Take a look at the Resources list, find the data you need, and follow the example in the example request. For example, if you want to read the current person, use the Current User resource and follow the Read Current User example request. If you want to read the memories of a person, use the Memory resource.

SDKs

You may want to leverage SDKs made available for application developers. SDKs are available for Java, C#, PHP, and JavaScript and other libraries are available for C, Ruby, and Objective C. For more information, see the Tools & SDKs section of the Developer Center.

Sample App

There is a simple sample app available for you to try. The app shows how to use JS Lite SDK to authenticate, fetch the user’s profile, and then fetch and display the user’s pedigree. You can copy the app, add your own app key and redirect URI, and run the app yourself.

Apply for Compatible Review

The last step in the "MyApps" section of the developer portal is an action to "Apply for Compatibility". This action will put the developer in contact with a FamilySearch person that is responsible to assist with the verification of the FamilySearch Compatibility of the submitted application.

Manage My Cookies

Like many trusted websites that you use, FamilySearch.org uses browser cookies. Cookies help you log in securely, enable important features, save your preferences, and ensure you are able to accomplish your goals on our site. They help us get to know you so we can provide relevant search results and research suggestions, deliver content tailored to your interests, and deliver a reliable website--just what you expect from us.