Getting Started

Getting 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.

Important Note: Before beginning any development please click and read the document App Approval Considerations.

Create a Developer Account

After acceptance into the Program, the developer will be granted access to the Solutions Community where application features and Solution Gallery listings can be created and maintained.

Create Your App and Receive an App Key

After enrollment and acceptance in the Solution Provider program you will be able to register your app with FamilySearch Integration Server ("Sandbox") by clicking the "New Application Solution" button on the Solution Community website. Be prepared with the following information:

  • Solution Name
    Decide on a name for your app. This name will be made publicly visible to users of the Solution Gallery after you apply and are accepted as a Compatible Solution Provider.
  • App Type
    Your app type options are Web, Mobile iOS, Mobile Android, Desktop or Mac. You need a separate app key for each type of the app that you develop.
  • Redirect URI
    One of the related items for the application is the Redirect URIs. 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 is automatically enabled to access integration (formally called “sandbox”). Beta and Production access have additional requirements. These services can be enabled by special request.

  • 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.
  • 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 [email protected] to request access.
  • Production
    After you are accepted in the Compatible Solution Program and completed the app compatibility 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. This website includes the following resources to help you with your coding efforts.

Take a look at the API Reference, 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.