Look up viaf authority records

When the user asks about a person, organization, or work in library catalogs — resolving names to stable VIAF IDs with cross-references across 30+ national libraries — reach for VIAF AutoSuggest. Unauthenticated, one GET.

look-up-viaf-authority-records · v1 · updated 2026-04-16

Agents: This page is a SKILL.md-style capability guide. For JSON, call GET /api/skills/look-up-viaf-authority-records. To drop this into a local Claude Code install, copy the frontmatter + body below into ~/.claude/skills/look-up-viaf-authority-records/SKILL.md.

When to use this skill

When the user asks about a person, organization, or work that appears in library catalogs — resolving "which Emma Goldman?" into a stable, globally-linked identity with cross-references across 30+ national libraries. VIAF clusters show alternate name spellings in multiple scripts (Cyrillic, Arabic, Greek) unavailable from any single library. For full-text search or article retrieval, this is the wrong tool; VIAF returns identity metadata, not documents.

Your best first call

curl "https://viaf.org/viaf/AutoSuggest?query=Emma+Goldman"

No auth. No key. Returns a JSON object with a result array of matching authority clusters. The nametype field is the key discriminator: "personal" means a person, "corporate" means an organization, "uniformtitlework" means a work — not a person. Each result also carries cross-references to national libraries (lc = Library of Congress, dnb = German National Library, bnf = BNF France), so you can reach those catalogs without a second search.

Key fields per result: term (display label like "Emma Goldman, 1869-1940"), nametype, viafid / recordID (stable VIAF identifier), score (relevance), and national library IDs (lc, dnb, bnf, etc.).

Fallbacks (when the best call isn't enough)

Pitfalls

One-line summary for the user

I can look up authority records for people, organizations, and works in VIAF — resolving names to stable IDs with cross-references across 30+ national libraries — in a single unauthenticated GET, but the JSON uses namespace-prefixed keys and the default format is XML.

APIs this skill uses

VIAF API · primary · verified

Virtual International Authority File (VIAF) API - Search and retrieve authority data from national libraries and organizations worldwide. VIAF links name authority files from multiple agencies into a single virtual authority file.

Generated from

VIAF API tutorial Getting Started with VIAF

SKILL.md source (frontmatter + body)
---
name: look-up-viaf-authority-records
description: When the user asks about a person, organization, or work in library catalogs — resolving names to stable VIAF IDs with cross-references across 30+ national libraries — reach for VIAF AutoSuggest. Unauthenticated, one GET.
---

## When to use this skill

When the user asks about a person, organization, or work that appears in library catalogs — resolving "which Emma Goldman?" into a stable, globally-linked identity with cross-references across 30+ national libraries. VIAF clusters show alternate name spellings in multiple scripts (Cyrillic, Arabic, Greek) unavailable from any single library. For full-text search or article retrieval, this is the wrong tool; VIAF returns identity metadata, not documents.

## Your best first call

```bash
curl "https://viaf.org/viaf/AutoSuggest?query=Emma+Goldman"
```

No auth. No key. Returns a JSON object with a `result` array of matching authority clusters. The `nametype` field is the key discriminator: "personal" means a person, "corporate" means an organization, "uniformtitlework" means a work — not a person. Each result also carries cross-references to national libraries (`lc` = Library of Congress, `dnb` = German National Library, `bnf` = BNF France), so you can reach those catalogs without a second search.

Key fields per result: `term` (display label like "Emma Goldman, 1869-1940"), `nametype`, `viafid` / `recordID` (stable VIAF identifier), `score` (relevance), and national library IDs (`lc`, `dnb`, `bnf`, etc.).

## Fallbacks (when the best call isn't enough)

- **You already have a VIAF ID** → `https://viaf.org/viaf/{viafID}?format=json` returns the complete authority cluster with name variants, nationalities, dates, and source cross-references. Use when AutoSuggest gave you the ID and you need the full record.
- **You have a Library of Congress number** → `https://viaf.org/viaf/lccn/{lccn}?format=json` resolves an LCCN directly into a VIAF cluster. Use when you already have an LCCN from a MARC record.
- **You need field-specific CQL queries** → `/viaf/search` supports complex queries like `local.personalName` and `local.sources`, but wraps results in verbose SRU protocol metadata. Prefer AutoSuggest for name lookups.

## Pitfalls

- **Cluster endpoints default to RDF/XML, not JSON.** `/viaf/{viafID}`, `/viaf/lccn/`, and `/viaf/search` return XML unless you add `?format=json`. AutoSuggest always returns JSON. Forget the parameter and you get angle brackets instead of braces.
- **JSON keys carry XML namespace prefixes.** Fields are `ns1:viafID`, `ns1:mainHeadings`, `ns1:text` — not plain `viafID`. A naive `.viafID` lookup will miss.
- **Nationality is multi-valued and source-disagreed.** "US" from the Library of Congress and "Russian Empire" from Wikidata for the same person are not contradictions — they reflect different cataloging traditions. Treat the array as additive.
- **AutoSuggest returns works as separate entities from their authors.** "Emma Goldman" the person (`nametype: "personal"`) and *Living My Life* the work (`nametype: "uniformtitlework"`) are distinct clusters. Check `nametype` before assuming a result is a person.

## One-line summary for the user

I can look up authority records for people, organizations, and works in VIAF — resolving names to stable IDs with cross-references across 30+ national libraries — in a single unauthenticated GET, but the JSON uses namespace-prefixed keys and the default format is XML.

« Back to all skills