Find a Grave memorials
findagrave_memorialSearch and retrieve Find a Grave memorial records, including dates, burial details, plot, biography, family links, and photos.
Instructions
Search and read Find a Grave memorials (grave records: dates, burial place, plot, inscription, biography, linked family, photos). Actions:
search: memorials matching the given criteria; needs at least one of lastName, firstName, location/locationId, cemeteryId, relativeName, text, bio, birthYear, deathYear, famous. Rows give memorialId, name, maidenName, birth/death dates and places, cemetery, plot, veteran/gravePhoto flags, and for text/relativeName/bio searches the passages that matched. Names match exactly by default (nameMatch); women are also found under their maiden name unless includeMaidenName=false. About 360 chars per row, 50 rows per call at most; only the first 10000 results of a search can be reached, so narrow by place or years.
get: one memorial in full (needs memorialId): name with maidenName separate, birth/death with place ids, burial cemetery and GPS, plot, inscription, bio, veteran, family grouped by the relative's role (parents with father/mother, spouses, children, siblings, halfSiblings — each with its own memorialId to read next), the first photos (photos=count), who created/manages it, the matching Ancestry "Find a Grave Index" record (ancestryRecord: collectionId 60525 + recordId, usable with ancestry_record get), and a ready citation. About 2-15K chars.
photos: a memorial's photos with captions and contributors (needs memorialId; type filters grave/person/family/other). Read one with findagrave_download.
flowers: virtual flowers left on the memorial with their notes, which sometimes name relatives (needs memorialId). Find a Grave is user-contributed: dates, family links and bios are a contributor's claims, often without sources; treat them as leads and check the stones in the photos and the records behind them.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bio | No | search: words in the biography only | |
| plot | No | search: plot text, e.g. "Row 4" | |
| text | No | search: words anywhere on the memorial — biography, relatives' names, maiden name — e.g. "Dearing" with lastName "Lay" finds Lays whose bio or family mentions Dearing. Rows show what matched | |
| type | No | photos: which photos (default all) | |
| count | No | Items per call (default 20): search at most 50, photos and flowers at most 100 | |
| start | No | Paging offset: index of the first item to return (default 0) | |
| action | Yes | search · get · photos · flowers | |
| famous | No | search: true = only famous memorials | |
| photos | No | get: how many photos to list (default 10, 0 = none; the total is always given) | |
| orderBy | No | search: sort order (default: Find a Grave's relevance). birth/death = oldest first; *_desc = newest first | |
| veteran | No | search: true = only memorials flagged as veterans | |
| cenotaph | No | search: true = only cenotaphs (marker without burial) | |
| graveGps | No | search: true = only graves with GPS coordinates, false = only without | |
| lastName | No | search: surname | |
| location | No | Place as text, e.g. "Giles County, Tennessee", "Pulaski, Tennessee", "Mississippi", "Mrkopalj, Croatia". Resolved to one Find a Grave place (reported back as `location`); text that fits several places is refused with their ids. Covers the place and everything inside it | |
| birthYear | No | search: birth year | |
| deathYear | No | search: death year | |
| firstName | No | search: given name(s); "Annie" also matches "Annie Jane" (middle names are part of the first name on Find a Grave) | |
| nameMatch | No | search: exact (default) = whole names, "Hunt" finds Hunt only; prefix = names starting with the text, so initials match ("A." for Annie) but "Hunt" also finds Hunter and Huntley; similar = spelling variants (Lay → Lacy, Lackland), noisy | |
| cemeteryId | No | search: only memorials in this cemetery (id from findagrave_cemetery search or a memorial's burial.cemeteryId); with no name it lists the whole cemetery | |
| gravePhoto | No | search: true = only with a grave photo, false = only without | |
| locationId | No | Find a Grave place id from findagrave_place search, e.g. county_2452 (Giles County, Tennessee), city_136632, state_45. Use instead of location when the text is ambiguous | |
| memorialId | No | Memorial id (e.g. "94640355") or a memorial URL | |
| middleName | No | search: middle name | |
| relativeName | No | search: memorials linked to a relative with this name, e.g. lastName "Davis" + relativeName "Sarah West" finds her husband and children. Switches name matching to prefix (the result says so): Find a Grave matches a relative exactly only by the whole stored name, maiden name included. Loose on its own (thousands of hits); combine with lastName and location | |
| birthYearMode | No | How birthYear is compared: exact (default), before, after. Memorials with no birth year never match a birth-year filter | |
| deathYearMode | No | How deathYear is compared: exact (default), before, after. Memorials with no death year never match a death-year filter | |
| notInCemetery | No | search: true = only people not buried in a cemetery (ashes scattered, lost at sea, …) | |
| birthYearRange | No | Match birthYear ± this many years (1-25); replaces birthYearMode | |
| deathYearRange | No | Match deathYear ± this many years (1-25); replaces deathYearMode | |
| includeNickname | No | search: also match firstName against nicknames (default false) | |
| includeMaidenName | No | search: also match lastName against maiden names (default true), so a married woman is found under her birth surname |