---
name: 1stauthor
description: Primary sources for agents: papers, statutes, judgments, researcher profiles and the open web behind one API — search, read in layers, ask with citations. Use when a task needs a source that can be opened and quoted, not recalled.
---

# 1stAuthor

One API over primary sources. Every domain answers the same three verbs, so learning one teaches the rest.

Base URL `https://api.1stauthor.com`. Every call takes `Authorization: Bearer $FA_API_KEY`; the free samples named below work without a key.

## Three verbs, every domain

```
POST /v1/{domain}/search  {query, filters?, top_k?}      → hits[].id + a card each
GET  /v1/{domain}/read/{id}?level=brief|detail|full      → read as deep as you need
POST /v1/{domain}/ask     {query, effort: low|medium|high} → an answer with real citations
```

`read` also takes `extra=<side>` for another side of the same document and `format=json|md|html`.
At `level=full`, `section=<name>` reads one section and `characters=N` the first N characters.

## Domains

| domain | id | holds |
|---|---|---|
| `papers` | `arxiv_id` | Full text of 3.13M arXiv papers (sectioned, per-section TLDR) plus bioRxiv / medRxiv retrieval. |
| `law` | `law_id` | 33,103 statutes / 1,539,593 articles from 26 jurisdictions; article-level hybrid retrieval, Chinese translations and per-article extraction (heading, subjects, conditions, consequences, references). |
| `cases` | `uuid` | Court judgments: 17.49M from China (2.65M criminal plus 14.83M civil / administrative / enforcement) and 3.44M US opinions (country=us, tier A). Brief-level hybrid retrieval with LLM-extracted structured fields. Chinese judgment text needs the cases:fulltext grant (the originals carry personal data); US full text waits on the PG store. |
| `us_law` | `law_id` | 4,978,029 clause-level US legal provisions across 53 jurisdictions: 2.12M statutes, 1.95M regulations (including CFR annual editions), 425k session laws, 258k agency decisions, 77k proposed regulations, 77k guidance documents, 53k court rules, 13k constitutional provisions. English and Chinese summaries, norm types, regulated parties, subjects, defined terms, penalties, deadlines and cross-references are extracted per provision (citations and figures checked against the text). |
| `uk_eu_law` | `doc_id` | 50.0k UK and EU legal instruments: 42.3k EU (EUR-Lex — 16.7k REG, 12.6k REG_IMPL, 11.2k DEC, 1,683 DIR) plus 7.7k UK (legislation.gov.uk — nisr / ukpga / asp / asc / ssi / nia / ukla). Norm types (the same closed set as us_law), regulated parties, penalties, defined terms, deadlines, cross-references and bilingual summaries are model-extracted. No vectors: structured filters plus bilingual full-text search in Postgres. |
| `trials` | `nct_id` | All 603,730 studies on ClinicalTrials.gov (one per NCT). Phase / status / enrolment / countries / MeSH come from the ctgov record; eligibility highlights, biomarkers, prior therapy, ECOG and one-line summaries are model-extracted. |
| `drugs` | `set_id` | 256,282 US drug labels (openFDA SPL, latest version per set_id). Indications, contraindications, interacting drugs, boxed-warning gist and one-line summaries are model-extracted; route / product type / pharmacologic class come from the openfda mapping block. |
| `grants` | `grant_id` | 1,328,138 research awards: 651,041 NSF awards (one per award id), 570,238 NIH RePORTER projects (multi-year funding merged per core project number, with per-year amounts) and 106,859 EU CORDIS projects (FP5 to Horizon Europe, amounts in EUR). Organisation / country / PI / directorate / activity code / dates / amounts come from the source; topics, methods, domain and one-line summaries are model-generated (title-only where no abstract exists — see _enrich.basis). |
| `filings` | `doc_id` | 1,317,571 corporate filings and regulatory documents across US and China, in two layers. The vector layer holds 1,211,748 (semantic plus lexical): 393,660 EDGAR 8-K events, 153,857 6-K, 187,879 13D/13G ownership filings, 46,542 structured 10-K/20-F, 31,513 DEF 14A, 28,397 Form 425, 6,593 S-1, 89,029 SEC comment-letter documents (CORRESP and UPLOAD), 119,399 Chinese periodic reports, 142,037 Chinese interim announcements, 10,434 exchange inquiry letters and discipline decisions, 2,408 CSRC penalty decisions. Only the 104,690 10-Q quarterlies are Postgres-only (no vectors, by design; keyword plus filters). One-liners, counterparties, amounts, MD&A drivers, inquiry points and violation types are model-extracted; company name / tickers / SIC come from EDGAR submissions. |
| `standards` | `std_code` | Catalogue of 79,311 Chinese national standards (openstd: mandatory GB / recommended GB/T / guiding GB/Z). **Metadata only, no full text**: code, Chinese and English title, status, issue and effective dates, ICS class, tags. |
| `talent` | `person_id` | AI researcher directory: 189k people, 160k LLM-researched profiles (education, career, representative papers, open source), Google Scholar metrics rendered live. One document per person; id is person_id. |
| `appraise` | `target_key` | Academic appraisal: which academicians and society fellows have cited a paper, and what they actually said. 112k arXiv papers authored by 5,427 fellows and academicians (Chinese Academies, US NAS/NAE, Royal Society / RAEng, ACM / IEEE / AAAI / ACL / AAAS / IAPR / CCF), with 5.26M parsed references and 8.3M citing sentences, each classified by type and stance. The id is the paper being appraised (arXiv id / DOI / title). ask turns the matched sentences into a Chinese appraisal paragraph for grant reports and promotion dossiers, with the English original attached to every claim. |
| `web` | `url` | Agentic Q&A over the open web (Serper search + cached page bodies). No search / doc, only ask. |
| `cve` | `doc_id` | 384k public vulnerabilities (NVD) plus CISA KEV exploited-in-the-wild flags and FIRST EPSS exploitation probability. Vulnerability class (closed set of 17), attacker prerequisites, affected scope, impact and one-line summaries are model-extracted. No vectors: structured filters plus bilingual full-text search in Postgres. |
| `osv` | `doc_id` | 199.7k open-source package security advisories — the part of osv.dev that CVE does not cover. **186.4k are malicious-package reports** (185.7k MAL-*, 177.2k of them npm); the remaining 13.3k are standalone advisories with no CVE id (GHSA / RUSTSEC / PYSEC / GO …). Malicious behaviours (closed set of 13), the legitimate package being impersonated, IOCs (domains / URLs / IPs / filenames, each verified to appear in the advisory text) and one-line summaries are model-extracted. No vectors: structured filters plus bilingual full-text search in Postgres. |
| `fr` | `doc_id` | 1.0M Federal Register documents (1994– ): rules, proposed rules, notices and presidential documents. Action kind (closed set of 19), issuing agencies, affected parties, effective and comment-close dates and one-line summaries are model-extracted. No vectors: structured filters plus bilingual full-text search in Postgres. |

`GET /v1/domains` lists them and `GET /v1/{domain}` returns that domain's own description — filters, levels, prices, free samples. Read it before guessing.

## Credits

| operation | credits |
|---|---|
| discovery, facets, free samples | 0 |
| search | 2 |
| read · brief / detail / full | 1 / 2–3 / 5–10 |
| ask · low / medium / high | 50 / 100 / 200 |

Each response carries `meta.credits`. 404s are free and upstream failures are refunded.

## Errors

| status | code | meaning |
|---|---|---|
| 400 | `invalid_request` | bad parameter, unknown level, undeclared filter field |
| 401 | `unauthorized` | missing / invalid / revoked key |
| 402 | `insufficient_credits` | balance below this call |
| 403 | `forbidden` | key not scoped to this domain, or the plan caps this effort |
| 404 | `not_found` | no such id (not charged) |
| 429 | `rate_limited` | over rpm; honour `Retry-After` |
| 502 | `upstream_error` | upstream failed (refunded) |

## Working rules

- **Search first, read second.** A search hit is a card; decide from the card which ids deserve a read.
- **Read in layers.** `detail` answers most questions; go to `full` only when the answer is not in it.
- **Filters are declared.** An undeclared filter field is a 400, never a silent no-op. `GET /v1/{domain}` lists what exists.
- **Cite what you read.** Use the citation format below, and say plainly when the corpus has nothing.
- **Failures are not charged.** A 404 costs nothing; an upstream error is refunded. Quote `meta.request_id` when reporting one.

## Per-domain skills

- `1stauthor-papers` — https://1stauthor.com/skills/papers/SKILL.md
- `1stauthor-law` — https://1stauthor.com/skills/law/SKILL.md
- `1stauthor-cases` — https://1stauthor.com/skills/cases/SKILL.md
- `1stauthor-us_law` — https://1stauthor.com/skills/us_law/SKILL.md
- `1stauthor-uk_eu_law` — https://1stauthor.com/skills/uk_eu_law/SKILL.md
- `1stauthor-trials` — https://1stauthor.com/skills/trials/SKILL.md
- `1stauthor-drugs` — https://1stauthor.com/skills/drugs/SKILL.md
- `1stauthor-grants` — https://1stauthor.com/skills/grants/SKILL.md
- `1stauthor-filings` — https://1stauthor.com/skills/filings/SKILL.md
- `1stauthor-standards` — https://1stauthor.com/skills/standards/SKILL.md
- `1stauthor-talent` — https://1stauthor.com/skills/talent/SKILL.md
- `1stauthor-appraise` — https://1stauthor.com/skills/appraise/SKILL.md
- `1stauthor-web` — https://1stauthor.com/skills/web/SKILL.md
- `1stauthor-cve` — https://1stauthor.com/skills/cve/SKILL.md
- `1stauthor-osv` — https://1stauthor.com/skills/osv/SKILL.md
- `1stauthor-fr` — https://1stauthor.com/skills/fr/SKILL.md

---

Generated from https://api.1stauthor.com/v1/domains on 2026-10-14. Full reference: https://1stauthor.com/docs/