Discover/Geneanet API
live

Geneanet APIgeneanet.org

Search Geneanet individuals, retrieve family profiles with birth/death events and relationships, look up surname origins, and query cemetery records via a single API.

Endpoint health
verified 4d ago
get_last_name_origin
search_individuals
get_individual_profile
search_cemeteries
4/4 passing latest checkself-healing
Endpoints
4
Updated
26d ago

What is the Geneanet API?

The Geneanet API provides 4 endpoints for querying genealogical data from Geneanet.org, one of the largest family history databases in Europe. Use search_individuals to find people by surname across millions of contributed records, then drill into any result with get_individual_profile to retrieve life events, parents, spouses, siblings, and children. Surname geographic distribution and cemetery lookups are also available.

Try it
Page number for pagination.
Number of results per page.
Year of birth, marriage, or death to filter by (4-digit year).
Location to filter results.
Last name to search for.
First name to filter results.
Collection to search within.
api.parse.bot/scraper/ed77ac7b-ac0a-4014-8489-10e20a9badfb/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/ed77ac7b-ac0a-4014-8489-10e20a9badfb/search_individuals?page=1&size=5&year=1800&place=Paris&lastname=Dupont&firstname=Jean&collection=archives' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 geneanet-org-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: Geneanet SDK — genealogical search, profiles, and surname distribution."""
from parse_apis.geneanet_api import Geneanet, Collection, ProfileNotFound

client = Geneanet()

# Search for individuals by surname, bounded iteration
for person in client.individualsummaries.search(lastname="Dupont", firstname="Jean", limit=3):
    print(person.full_name, person.profile_url)

# Drill into one result's detailed profile
summary = client.individualsummaries.search(lastname="Martin", limit=1).first()
if summary:
    detail = summary.details()
    print(detail.full_name, detail.life_summary)
    for member in detail.family.spouses_and_children:
        print(member.name, member.link)

# Look up surname geographic distribution
try:
    surname = client.surnames.get(surname="Dupont")
    print(surname.surname, surname.description)
    for place_count in surname.distribution_by_place[:5]:
        print(place_count.place, place_count.total)
except ProfileNotFound as exc:
    print(f"Surname not found: {exc}")

# Search cemetery records
for record in client.individualsummaries.search_cemeteries(lastname="Dupont", limit=3):
    print(record.full_name, record.description)

print("exercised: individualsummaries.search / details / surnames.get / search_cemeteries")
All endpoints · 4 totalmissing one? ·

Full-text search for individuals across Geneanet collections by surname. Supports optional filtering by first name, year, place, and collection type. Returns paginated results; each item carries a profile_url for drill-down via get_individual_profile. Pagination is page-based with configurable page size.

Input
ParamTypeDescription
pageintegerPage number for pagination.
sizeintegerNumber of results per page.
yearstringYear of birth, marriage, or death to filter by (4-digit year).
placestringLocation to filter results.
lastnamerequiredstringLast name to search for.
firstnamestringFirst name to filter results.
collectionstringCollection to search within.
Response
{
  "type": "object",
  "fields": {
    "page": "integer current page number",
    "results": "array of individual summary objects with full_name, profile_url, and description",
    "total_count": "integer total number of matching records"
  },
  "sample": {
    "data": {
      "page": 1,
      "results": [
        {
          "full_name": "DUPONT Guillaume",
          "description": "DUPONT Guillaume | Spouse: LEMESRE Antoinette (1675) | Family tree of dewulf | Birth 1635 | Tourcoing, Nord, France",
          "profile_url": "https://gw.geneanet.org/dewulf?n=dupont&oc=1&p=guillaume&type=fiche"
        }
      ],
      "total_count": 3246380
    },
    "status": "success"
  }
}

About the Geneanet API

Individual Search and Profile Retrieval

The search_individuals endpoint accepts a required lastname parameter plus optional filters including firstname, year, place, and collection. Results are paginated (page, size) and each item in the results array exposes a full_name, description, and a profile_url that serves as the key for the next call. The total_count field tells you how many records match before you page through them.

Passing a profile_url from search results to get_individual_profile returns a single record with a life_summary array (covering events like birth, death, and occupation) and a family object. The family object contains three arrays — parents, spouses_and_children, and siblings — where each element carries a name and a link for further look-up. One HTTP call is required per individual.

Surname Origin and Cemetery Records

get_last_name_origin takes a single lastname and returns a distribution_by_place array of objects, each with a place string and a total integer showing how frequently that surname appears in records from that location. A description field provides etymology text when the site has it for the queried name; it may be empty otherwise.

search_cemeteries mirrors the response shape of search_individuals — the same page, results, and total_count fields — but scopes results to grave and monument records in Geneanet's cemetery collection. Each result again includes a profile_url that can be passed to get_individual_profile for full relationship and event data.

Reliability & maintenanceVerified

The Geneanet API is a managed, monitored endpoint for geneanet.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when geneanet.org 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 geneanet.org 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.

Last verified
4d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Building a family tree tool that resolves ancestor records by surname and birth year using search_individuals
  • Aggregating life event timelines (birth, death, occupation) from get_individual_profile for genealogical research apps
  • Mapping surname frequency across historical regions using distribution_by_place from get_last_name_origin
  • Locating grave records for a specific surname via search_cemeteries to support memorial or heritage projects
  • Cross-referencing sibling and parent links from get_individual_profile to reconstruct multi-generation family graphs
  • Providing surname etymology and geographic spread to users of a surname-origin lookup tool
  • Bulk-resolving a list of profile URLs to structured family data for offline genealogy databases
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Geneanet have an official developer API?+
Geneanet does not publish a documented public developer API for programmatic access to its genealogical records. Data access for developers is not offered through an official endpoint.
What does `get_individual_profile` return beyond basic name and dates?+
It returns a life_summary array of strings covering events such as birth, death, and occupation, plus a structured family object with three arrays: parents, spouses_and_children, and siblings. Each family member entry includes a name and a link that can be passed back to get_individual_profile for further traversal.
Can I filter `search_individuals` results by a specific collection or location?+
Yes. The endpoint accepts an optional collection parameter to scope the search and an optional place parameter to filter by location. You can also combine these with firstname and year (4-digit) to narrow results. Results are paginated via page and size parameters, and total_count is returned so you know how many pages exist.
Does `search_cemeteries` support the same filtering options as `search_individuals`?+
Currently search_cemeteries only accepts lastname as an input parameter. Filtering by firstname, year, or place is not exposed on that endpoint. You can fork this API on Parse and revise it to add those filter parameters to the cemetery search endpoint.
Are DNA matches or GEDCOM file exports available through this API?+
No. The API covers individual profile data, family relationships, surname geographic distribution, and cemetery records. DNA match results and GEDCOM file exports are not part of the current endpoint set. You can fork the API on Parse and revise it to add an endpoint targeting those data types if Geneanet exposes them in a queryable form.
Page content last updated . Spec covers 4 endpoints from geneanet.org.
Related APIs in Government PublicSee all →
geonames.org API
Search for places worldwide and get their exact coordinates, timezone information, and elevation data, or reverse lookup locations by coordinates to discover nearby areas. Access postal codes, country details, and geographic names across the globe to build location-aware applications and services.
snpedia.com API
Search and retrieve detailed genetic information including SNPs, genotypes, genes, medical conditions, and medicines from SNPedia's human genetics database. Look up specific genetic variants, explore how different gene combinations affect health outcomes, and discover connections between genetic data and medical treatments.
cyberbackgroundchecks.com API
Search for people by name or email to instantly retrieve their public information including addresses, phone numbers, relatives, and associates. Access detailed background records to verify identities, reconnect with contacts, or conduct people searches.
infobel.com API
Search and retrieve business and person contact information from Infobel directories across the globe to find phone numbers, addresses, and other details. Quickly locate companies or individuals by name to build targeted contact lists or verify business information worldwide.
grantwatch.com API
Search and browse thousands of grants from GrantWatch.com to find funding opportunities tailored to individuals, nonprofits, small businesses, and foundations. Get detailed grant information, filter by category, and discover newly posted grants to match your eligibility and funding needs.
identify.plantnet.org API
Identify and explore plant species by searching through Pl@ntNet's comprehensive botanical database to access detailed information like taxonomic families, genera, species descriptions, photos, and community observations. Track plant distributions, view contribution trends, and discover expert contributors within the platform's collaborative plant identification community.
offshoreleaks.icij.org API
Search for entities, individuals, and their financial connections across major offshore leak investigations including the Panama Papers and Pandora Papers. Explore detailed relationship graphs, browse officer records, and analyze bulk datasets to uncover offshore financial activities and networks.
discovery.nationalarchives.gov.uk API
Search and browse The National Archives Discovery catalogue to find historical records, discover their creators, and explore archived collections. Get detailed information about specific records and navigate through the archive's organizational structure to uncover primary sources and historical documents.