Grandmas Family APIgrandmasfamily.com ↗
Search 85 persons and 44 families on grandmasfamily.com. Retrieve birth/death records, family relationships, and surname counts via 3 JSON endpoints.
What is the Grandmas Family API?
The grandmasfamily.com API exposes a genealogy database of 85 persons across 44 families through 3 endpoints. Use search_persons to find individuals by name, get_person to retrieve full biographical and relationship records, and count_surname to tally how many times a given surname appears across both the persons and families indexes.
curl -X GET 'https://api.parse.bot/scraper/152f057d-8a76-44cd-9b91-0b5caa2caa47/search_persons?query=Parker' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace grandmasfamily-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: grandmasfamily_com_api SDK — bounded, re-runnable; every call capped."""
from parse_apis.grandmasfamily_com_api import GrandmasFamily, PersonNotFound
client = GrandmasFamily()
# Search for persons by surname
for person in client.person_summaries.search(query="Parker", limit=3):
print(person.name, person.birth_date, person.death_date)
# Drill into a specific person's full details
hit = client.person_summaries.search(query="Pickett", limit=1).first()
if hit:
full = hit.details()
print(full.name, full.events[0].type, full.events[0].date)
for parent in full.parents:
print("Father:", parent.father, "Mother:", parent.mother)
# Count surname references across the database
for ref in client.surname_references.count(surname="Pickett", limit=3):
print(ref.source, ref.name or ref.family_name)
# Fetch a person by known ID
try:
person = client.people.get(person_id="43370242")
print(person.name, person.person_id)
except PersonNotFound as e:
print("not found:", e.person_id)
print("exercised: person_summaries.search, details, surname_references.count, people.get")
Full-text search over the genealogy person index by name substring. Returns all persons whose name contains the query string (case-insensitive). Each result carries birth/death dates and places plus a person_id suitable for get_person drill-down.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Name substring to search for (case-insensitive match against full person name). |
{
"type": "object",
"fields": {
"query": "the search query echoed back",
"total": "number of matching persons",
"persons": "array of matching person summaries with person_id, name, birth/death info"
},
"sample": {
"query": "Pickett",
"total": 2,
"persons": [
{
"name": "Alta June Parker (Pickett)",
"person_id": "43370242",
"birth_date": "06/24/1917",
"death_date": "11/29/2011",
"birth_place": "Manhattan, Riley County, Kansas, United States",
"death_place": "Rockville, Parke County, Indiana, United States"
},
{
"name": "Keith Pickett",
"person_id": "45538441",
"birth_date": "5/16/1917",
"death_date": "11/28/1994",
"birth_place": "Salem, Marion County, Illinois, United States",
"death_place": "Rockville, Parke County, Indiana, United States"
}
]
}
}About the Grandmas Family API
What the API Covers
The grandmasfamily.com API gives structured access to a genealogy database of 85 persons and 44 family units. The data includes birth and death dates and places, parent-child relationships, marriage partnerships, alternate names (such as married names), and life event timelines.
Searching and Retrieving Persons
search_persons accepts a query string and returns all persons whose name contains that substring (case-insensitive). Each result in the persons array includes a person_id, the person's name, and birth/death summary fields. That person_id feeds directly into get_person, which returns the full record: a name, an events array covering birth, marriage, and death entries with dates and places, a parents array with father and mother names and their own IDs, a partners array that nests their shared children, and an additional_names array for alternate or married names.
Surname Analysis
count_surname takes a surname string and searches across both the persons index and the families index. The response returns a references array where each entry identifies its source type (persons or families) and the relevant identifiers, plus a total_references count. This is useful for gauging how prominent a family line is within the database without iterating through individual person records.
The Grandmas Family API is a managed, monitored endpoint for grandmasfamily.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when grandmasfamily.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official grandmasfamily.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a family tree viewer that resolves parent and partner chains from
get_personresponses - Autocomplete a name search field using
search_personswith partial surname or given name substrings - Aggregate surname frequency statistics using
count_surnameto identify dominant lineages in the database - Cross-reference
parentsandpartnersarrays fromget_personto map multi-generational descendant trees - Display a biographical timeline by rendering the
eventsarray (birth, marriage, death) for a specific individual - Identify alternate identities by surfacing the
additional_namesfield for individuals who appear under married names
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does grandmasfamily.com provide an official developer API?+
What does `get_person` return beyond basic birth and death information?+
get_person returns a full record: a name, an events array with dated life events (birth, marriage, death) and their places, a parents array with father and mother names and IDs, a partners array with nested children, and an additional_names array for married or alternate names. The person_id from search_persons is the required input.Does `count_surname` distinguish between persons and family records in its results?+
references array includes a source field indicating whether the match came from the persons index or the families index, along with the relevant identifiers for further drill-down.