Exporting data from FamilySearch

There was a thread started in the “Gramps for Genealogists” Facebook group asking about data scraping one’s own research from FamilySearch.

The prospects of an official Gramps tool for FamilySearch were exceedingly bleak.

There is a cross-development Partners program to help Developers create applications which Read from FamilySearch branches. And Writing records to FamilySearch is another, more advanced level. Ancestry and MyHeritage have tools to synchronize data. But to become “Partners”, they have executed contracts that would conflict with the terms of our licensing.

So I didn’t think any of our development team was likely to gain access to the information needed to use the FamilySearch API.

Karen Paffendorf found a few resources that could get users around the issues. Here are some options for anyone who wants to try indirectly request data from FamilySearch.

Linekio GetMyAncestors - a python3 package that downloads family trees in GEDCOM format from FamilySearch

And FamilySearch has a Tools page with SDKs


  • Python SDK for FamilySearch API Under Development
    It is designed for Python 3 and 2.7. Python 2.6 is the earliest supported version, but bugfixes are low-priority. 2.5 and earlier are not guaranteed to work, or supported, and are considered legacy.
  • Windows App for Python SDK Under Development 32-bit Windows sample applications for demonstrating the use of FamilySearch-Python SDK. To run these, click on Download ZIP, and then on the executable in the directory.

Sample Apps


Thanks for the mention.

Having created a gedcom based on family search data my struggle is how to merge with my larger gramps tree. If I manually select two people to merge I seem to have to pick one or the other rather than aspects of each. Then I have to do the families and so on. It gets tedious fast. Any recommendations for tools that look not only at names but also families to do the right thing? The assumption is the id’s are not consistant between the gedcoms.

For the moment I have my hand built and my family search in separate databases.

It depends on your goals, and I often use RootsMagic for this purpose, meaning that I export my Gramps tree to GEDCOM, import that into a new RootsMagic database, and compare that with FamilySearch.

My main use then is either to correct some data that is already there, by selecting persons and adding or replacing things one by one, or to download new branches, and make notes of the persons where these branches start.

In the latter case, I export the full RootsMagic tree into a new tree in Gramps, so that I can run some quality checks, and then I export the new branches which are either ancestors or descendants of existing persons, in .gramps format.

When I import such .gramps files into my main database, I know that in most cases, there is only one person to merge, which is the former end-of-line person. This may be an end-of-line family, so then I have two persons to merge.

Note that, although Gramps forces you to pick one person in its UI, it does not throw away anything of the other person. The new person can only have one ID, but the ID of the other person will be added to the person’s attributes. Names will be added as alternative names, and all events will be added as extra births, marriages, deaths, etc., even if they are exactly the same for both persons before you started the merge.

I mention RootsMagic here, but you can also do this with Ancestral Quest and other programs. I mention these, because I like both, and these features are available in the free versions of either.