Academic Ancestry

For developers

last changed 2026-10-20

The record's addresses

Every page of the site is drawn from answers the record gives at these addresses, as JSON, to a plain GET. They need no key and no account, and the removal of a person applies to them as it does to the pages. Most take root, a person's id as the search lists it: a Wikidata item such as Q7186, an OpenAlex author, or a person a repository names. Where an address takes several people, their ids are joined by |.

https://academicancestry.org/api/lineage?root=Q7186

Each reader gets 120 answers a minute across all of these addresses, counted by the network address they ask from, and is told to wait past that. An assistant's calls are counted against its account instead. An answer that is not a 200 says why in its error: 400 for a parameter not sent, 410 for a person who asked not to be shown, 429 past the minute, 502 where a source did not answer. CloudFront, the network in front of the site, keeps a 200 for a day; the last column says which are never kept.

addresstakesanswerskept a day
/api/resolveq, and optionally more, openalex, source, country, institution, since, until, levelranked candidates by name and works by title, and which sources did not answerno
/api/currentof, ids joined by |the id each person is under now, where the record has since joined their idsyes
/api/personrootone person whole: their theses, those they supervised and sat beside, the ORCID iDs the record gives them, and the runsyes
/api/thesissource, as /api/sources lists it, and id, the thesis record's OAI identifierone thesis whole: its title, year, level, school, landing page and file, the people on it by role with the kind of each link, and, where it names no supervisor, whyyes
/api/worksid, a person as the search lists themthe works and theses the repositories' records list them as an author of, the newest first: each with its type as served, the category read from it and whether that reading has been checked, their place among its authors, its landing page and DOI, and how many there are from how many sourcesyes
/api/worksource, as /api/sources lists it, and id, the work record's OAI identifierone work whole: its title, year, type, category, landing page, DOI and file, and its authors by place with the ids the record gives themyes
/api/claimedid, a person as the search lists themthe works ORCID lists under their ORCID iDs, their own word, kept apart from the record's works and never counted with themyes
/api/lineagerootadvisors up and students down, each link with its kind, level and runyes
/api/advisorsrootthe supervisors of their own doctoral thesisyes
/api/advisedroottheir own doctoral students, with the year of each thesisyes
/api/alongsiderootthe people who studied under their supervisorsyes
/api/grouproot, rule (circle, examiners, together or panel), mostthe people the rule ranks around them, with the theses they shareyes
/api/besiderootwho sat on, refereed or examined the theses of their lineage, by roleyes
/api/aroundids joined by |everyone around each person, in every role the thesis record namesyes
/api/thesesroot, a Wikidata itemwhat Wikidata says of the thesis behind each link of the lineageyes
/api/institutionsrootwhere the people of the lineage studied or workedyes
/api/coauthorsrootthe people who share the most works with them, from OpenAlexyes
/api/citationsrootthe authors they cite most and are cited by most, from OpenAlexyes
/api/mentorsrootteachers and mentors above and the taught below, pairs read by hand marked likelyyes
/api/neighboursroot, a Wikidata itema person's advisors and students on Wikidata, one step awayyes
/api/aboverootthe line above a person, four steps of advisors in the record and on Wikidata, each kind apart, and how many stand below within three stepsyes
/api/factsroot, a Wikidata itemwhat Wikidata states of the personyes
/api/papersroottheir papers from OpenAlex, under a key the record holds for themyes
/api/paperroot, an OpenAlex workone paper wholeyes
/api/trainingroot, an OpenAlex authorthe degree, school and year Medicare's list of clinicians holds under their name, said to be unconfirmedyes
/api/termq, and optionally field, froma term's curve by year, its fields and its early adoptersyes
/api/phraseroot, as term: and the phrasea term's curve and fields as a card asks for themyes
/api/connecta and b, or ids joined by |the routes between two to six people, the ten between a pairyes
/api/tiesids joined by |, levelthe fewest routes that tie two to six people together, each hop naming its kind, run and levelyes
/api/evidencenothingthe line a model read off the thesis for each extracted linkyes
/api/schoolsnothingevery school with its doctorates, the doctors followed from it and where they went onyes
/api/schoolid, and optionally toone school's flows; with to, the people of the flow to that schoolyes
/api/sourcesnothingthe sources read, with their runs, records and relations, and the others by statusyes
/api/coveragenothingwhere the record stops, counted: supervisions with both people linked to other records, by source, country and decadeyes
/api/gatesnothingevery check a reading of the sources was held to: what it read, when, its sample, how many agreed, its score, the bar and whether it passedyes
/api/countsnothingwhat the record holds: theses, sources, countries and Wikidata's statements, each naming its runyes
/api/picksnothingthe newest picks run: the landing's listsyes
/api/browsesource, with decade and institution, or fieldthe advisors with the most cited doctoral students in that sliceyes
/api/fieldsnothingevery field the newest picks run offersyes
/api/pairnothingthe day's pair of advisors and the route between themno
/api/surprisenothingone person at randomno
/api/tonightnothingwhat last night's runs brought, a source a lineyes

Pages for a person or a thesis

A person has a page at /person/ID, where ID is the id the search lists for them, the one the addresses above take as root. A thesis has a page at /thesis/SOURCE/ID, where SOURCE is the repository the thesis record is from, as /api/sources lists it, and ID the thesis record's OAI identifier. Add /jsonld to either address and the same page comes as schema.org data (JSON-LD). Like the addresses above, these answer a plain GET and need no key.

addressanswers
/thesis/SOURCE/IDa thesis's page: its title, where it is held, and the people on it by role, each with the kind of the link
/person/ID/jsonlda person's page as schema.org data: their name, their theses and the registers the record links them to
/thesis/SOURCE/ID/jsonlda thesis's page as schema.org data: its title, where it is held, its author and each person on it with their role and the kind of the link

An address of a person the record links to Wikidata or OpenAlex holds; any other may move when the record reads a name differently, and the old address then says where the person went. How many of the people in the record are linked to another register is counted every night, and said on the coverage page.

Your assistant

An assistant can ask the record for you. It has 13 tools, which answer what the pages answer: who taught whom, how two people are related, and where the record stops. All but the last is a call to one of the addresses above, made in your name, so a person who asked not to be shown is not shown to an assistant either. The last, report_missing, posts to /api/missing what the form at /missing sends, of a missing advisor or, with kind work, of a missing work.

the tools
toolasks
find_personranked candidates for a name, with the facts that tell them apart
personone person whole: theses, roles held, Wikidata's facts
lineageadvisors up, students down, each link with its kind and run
relation_betweenthe shortest routes between two people, or where the record stops
tiesthe fewest routes that tie two to six people together
aroundeveryone beside the lineage: committees, coauthors, teachers
students_ofa person's own doctoral students, with the year of each thesis
schoolsthe schools the record follows doctors from, counted and filtered
schoolone school's flows: where its doctors went on to supervise
coveragewhere the record stops for a person
sourcesthe sources read and the ones known and not read
evidencethe line a model read off a thesis for an extracted link
report_missinga missing advisor or a missing work reported, the one tool that writes

Add the connector at the address of the provider you sign in with. ORCID is the one to pick: the identity academics already hold. In Claude, on the web or in the desktop app, open Settings, then Connectors, then "Add custom connector", paste the address, and press Connect. It sends you to that provider's sign-in page, and after that the tools answer in your conversations.

ORCID · https://academicancestry.org/mcp/orcid/

Google · https://academicancestry.org/mcp/google/

GitHub · https://academicancestry.org/mcp/github/

A command-line tool or a script cannot sign in through a browser, so it carries a key instead. Make one on your account page: it is shown once. Send it as a bearer token in the Authorization header to any of the three addresses, and every answer it asks for is counted under your account. In Claude Code, one line adds the connector:

claude mcp add --transport http academic-ancestry https://academicancestry.org/mcp/orcid/ --header "Authorization: Bearer YOUR KEY"

replace YOUR KEY with the key you made. The address ends in a slash; keep it.

Allowances

Each account has a daily allowance, counted until midnight UTC: on the free plan 1,000 answers and 100 searches of OpenAlex's authors, and on the institution plan 10,000 answers and 1,000 searches. A key counts against the account that made it, with that account's connector, and an account holds 5 live keys at once. When an allowance is used up, the refusal names the number. An institution that needs more writes to academicancestry@proton.me, and its plan is set by hand.

Terms and the notice

The terms for accounts say what an account may be used for, and the privacy notice says what the site shows about the people it names and what it records of its readers. The tools are for asking questions, not for copying the record whole.

The data

The record's supervisions as files, for a program that wants them whole and not a question at a time, are not published yet; until they are, the addresses above are the way in.

Citing

To cite the site, give its name and address, Academic Ancestry, https://academicancestry.org, and the day you read it. To cite a number, give the run it names: the answers and the pages name the runs they were read in. Where a link rests on a source, cite that source too; the sources lists each one.