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"
Check if Place is Child
GET https://api.familysearch.org/platform/places/{pid}/ischild?pids={parentIds}
Search for Parent Places
GET https://api.familysearch.org/platform/places/parents?value={text}&pids={optionalParentIds}
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}
Read a Concept with Descendancy
GET https://api.familysearch.org/platform/vocab/concepts/{id}?descendancy=true
Updated 2 days ago