FamilySearch Places API Quick-Start Guide (Bruno Edition)

FamilySearch API Reference

Prerequisites

  • Developer Key (via JIRA): fs-internal-dev-key-XXXXXX
  • HTTPS request capability
  • Bruno installed (desktop or CLI)
  • API Reference Guide

Best Practices

  • Protect your developer key and tokens
  • Respect rate limits; back off on 429 responses

Authentication

Unauthenticated Session

POST https://ident.familysearch.org/cis-web/oauth2/v3/token

Headers:

Content-Type: application/x-www-form-urlencoded

Body parameters:

client_id=fs-internal-dev-key-XXXXXX
grant_type=unauthenticated_session
ip_address={your_client_ip}

Response:

{
  "access_token": "...",
  "token_type": "Bearer",
  "expires_in": 3600
}

References:

Places API

Base: https://api.familysearch.org/platform/places

Common Headers:

Authorization: Bearer {access_token}
Accept: application/json

Search Places

GET https://api.familysearch.org/platform/places/search?q=name:"Provo, Utah"

Documentation

Check if Place is Child

GET https://api.familysearch.org/platform/places/{pid}/ischild?pids={parentIds}

Documentation

Search for Parent Places

GET https://api.familysearch.org/platform/places/parents?value={text}&pids={optionalParentIds}

Documentation

Controlled Vocabulary (Concepts)

Base: https://api.familysearch.org/platform/vocab/concepts/

Headers:

Authorization: Bearer {access_token}
Accept: application/ld-v2+json

Read a Concept

GET https://api.familysearch.org/platform/vocab/concepts/{cvcid}

Documentation

Read a Concept with Descendancy

GET https://api.familysearch.org/platform/vocab/concepts/{id}?descendancy=true

Documentation