familysearch

Read-only access to the FamilySearch Family Tree and historical records. Two tools working together:

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "familysearch" with this command: npx skills add baphomet480/claude-skills/baphomet480-claude-skills-familysearch

FamilySearch Skill

Read-only access to the FamilySearch Family Tree and historical records. Two tools working together:

Tool Install Purpose

getmyancestors pip install getmyancestors

Download full GEDCOM trees (ancestors + descendants + spouses). Uses your regular FamilySearch login.

familysearch.py pip install httpx

JSON API queries: person lookup, search, sources, memories, relationship paths.

No developer account required. getmyancestors ships a pre-registered client ID, so you authenticate with your normal FamilySearch username and password. The custom familysearch.py script reuses the same approach.

Setup

Install

CLI tool — install with pipx

pipx install getmyancestors

Library dependency for familysearch.py

pip install httpx

Authenticate (familysearch.py)

Prompts for username and password (password is hidden)

python3 scripts/familysearch.py auth

Or pass credentials directly

python3 scripts/familysearch.py auth -u USERNAME -p PASSWORD

Logs in programmatically (same as getmyancestors) and saves an OAuth2 token to ~/.familysearch/token.json .

Verify

python3 scripts/familysearch.py verify

GEDCOM Export (getmyancestors)

The fastest way to grab a full family tree as a GEDCOM file. Ideal for updating a project's master GEDCOM.

Download Ancestors

4 generations of ancestors (default), outputs to stdout

getmyancestors -u USERNAME -p PASSWORD

6 generations, save to file, verbose log

getmyancestors -u USERNAME -p PASSWORD -a 6 -o tree.ged -l tree.log -v

Start from a specific person instead of the tree root

getmyancestors -u USERNAME -p PASSWORD -i KWCJ-RN4 -o tree.ged -v

Download Ancestors + Descendants + Spouses

6 gen ancestors + 2 gen descendants, include spouse/marriage data

getmyancestors -u USERNAME -p PASSWORD -a 6 -d 2 -m -o tree.ged -v

Multiple starting individuals

getmyancestors -u USERNAME -p PASSWORD -i L4S5-9X4 LHWG-18F -a 6 -d 2 -m -o tree.ged

Merge GEDCOM Files

mergemyancestors -i old-tree.ged new-additions.ged -o merged.ged

Rate Limiting

Limit to 5 requests/second (be respectful)

getmyancestors -u USERNAME -p PASSWORD --rate-limit 5 -o tree.ged -v

Person (familysearch.py)

Look up individuals by their person ID (format: XXXX-XXX ).

Get a Person

Full person record with names, gender, facts (birth, death, etc.)

python3 scripts/familysearch.py get-person --pid KWCJ-RN4

Get the currently authenticated user's tree person

python3 scripts/familysearch.py get-current-user

Get Person with Relationships

Person + their immediate family connections

python3 scripts/familysearch.py get-person --pid KWCJ-RN4 --relationships

Pedigree (familysearch.py)

Ancestry (Ascending)

Default 4 generations of ancestors (JSON, not GEDCOM)

python3 scripts/familysearch.py ancestry --pid KWCJ-RN4

Up to 8 generations

python3 scripts/familysearch.py ancestry --pid KWCJ-RN4 --generations 8

Descendancy (Descending)

python3 scripts/familysearch.py descendancy --pid KWCJ-RN4 --generations 4

Search (familysearch.py)

Search Persons in the Tree

Search by name

python3 scripts/familysearch.py search --name "George Goodman"

Search with date and place filters

python3 scripts/familysearch.py search
--name "George Goodman"
--birth-year 1870
--birth-place "Arizona"

Search with death info

python3 scripts/familysearch.py search
--name "Clara Platt"
--death-year 1961
--death-place "Mesa, Arizona"

Limit results

python3 scripts/familysearch.py search --name "Hofstätter" --limit 5

Match Hints (Research Hints)

Get potential record matches for a person already in the tree

python3 scripts/familysearch.py match --pid KWCJ-RN4

Sources (familysearch.py)

List Sources for a Person

python3 scripts/familysearch.py sources --pid KWCJ-RN4

Search Historical Records

python3 scripts/familysearch.py search-records
--name "George Nicholas Goodman"
--birth-year 1870

Memories (familysearch.py)

List Memories for a Person

python3 scripts/familysearch.py memories --pid KWCJ-RN4

Download a Memory

python3 scripts/familysearch.py download-memory
--url "https://familysearch.org/photos/artifacts/12345"
--output ./downloads/photo.jpg

Relationships (familysearch.py)

Direct Family

python3 scripts/familysearch.py parents --pid KWCJ-RN4 python3 scripts/familysearch.py spouses --pid KWCJ-RN4 python3 scripts/familysearch.py children --pid KWCJ-RN4

Relationship Path

How are two people related?

python3 scripts/familysearch.py relationship-path
--from KWCJ-RN4 --to XXXX-YYY

Export (familysearch.py)

Export Person Subtree as JSON

Export a person and their immediate network as structured JSON

python3 scripts/familysearch.py export-person --pid KWCJ-RN4 --output ./research/person-export.json

Include N generations of ancestors in the export

python3 scripts/familysearch.py export-person --pid KWCJ-RN4 --ancestors 4 --output ./research/tree-export.json

This produces a JSON file compatible with the Goodman history project's parse-gedcom.mjs output shape (individuals + families + relationships).

JSON Output

All familysearch.py commands produce JSON to stdout. Pipe to jq for filtering:

Get just the display name

python3 scripts/familysearch.py get-person --pid KWCJ-RN4 | jq '.display.name'

Get all ancestor birth places

python3 scripts/familysearch.py ancestry --pid KWCJ-RN4 --generations 4
| jq '[.persons[].facts[]? | select(.type == "http://gedcomx.org/Birth") | .place.original]'

When to Use Which Tool

Goal Tool

Download a full family tree as GEDCOM getmyancestors

Update your project's master GEDCOM file getmyancestors

Look up a specific person by ID familysearch.py get-person

Search for people by name/date/place familysearch.py search

Find attached sources or record hints familysearch.py sources / match

Download photos and documents familysearch.py memories / download-memory

Get JSON-formatted pedigree data familysearch.py ancestry / descendancy

Find how two people are related familysearch.py relationship-path

Safety Guidelines

  • This skill is read-only. No write operations against the Family Tree.

  • FamilySearch rate limits API requests. Both tools include automatic retry with backoff.

  • Tokens expire after 2 hours. familysearch.py auto-refreshes using the stored refresh token.

  • Use --rate-limit with getmyancestors to be respectful of FamilySearch servers.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

kitchen-sink-design-system

No summary provided by upstream source.

Repository SourceNeeds Review
General

design-lookup

No summary provided by upstream source.

Repository SourceNeeds Review
General

local-ocr

No summary provided by upstream source.

Repository SourceNeeds Review
General

nextjs-tinacms

No summary provided by upstream source.

Repository SourceNeeds Review