Skip to content

How to configure API keys

The pipeline consumes several academic APIs and LLM models. This guide covers how to obtain and configure each key in .env.

The .env file

Copy the template and fill it in:

cp .env.example .env

Never commit .env

It's in .gitignore. No inline comments — they go with # on separate lines. If a key leaks, revoke it and generate a new one.

Pipeline keys

Variable Purpose Where to get it Cost
ANTHROPIC_API_KEY Orchestrator + Claude sub-agents Anthropic Console $$$
OPENALEX_API_KEY Literature search openalex.org Free (works without key)
SEMANTIC_SCHOLAR_API_KEY Style calibration semanticscholar.org/product/api Free (recommended)
BELICO_API_EMAIL Polite pool (10x capacity) your email Free
SUPABASE_URL + SERVICE_KEY reference_papers, patents supabase.com Optional
ZOTERO_API_KEY + ZOTERO_USER_ID Curated library zotero.org/settings/keys Free
PEER_EMAIL + PEER_PASSWORD Seismic ground motions ngawest2.berkeley.edu Free

Minimum keys

For the basic pipeline you only need:

OPENALEX_API_KEY=          # optional — free tier works without key
SEMANTIC_SCHOLAR_API_KEY=  # optional but recommended
BELICO_API_EMAIL=your_email@example.com  # raises OpenAlex/SS capacity

Polite pool

Setting BELICO_API_EMAIL makes OpenAlex and Semantic Scholar recognize the client and raise capacity 10x. It's free and highly recommended. See Cache and rate limiter.

Verify they work

belico smoke-check            # real API check
belico smoke-check --apis openalex,crossref   # specific subset
belico smoke-check --json-output              # for CI

Keyless APIs

Several APIs work without credentials on the free tier:

  • OpenAlex — free tier without key (with BELICO_API_EMAIL for polite pool).
  • CrossRef — public, no key.
  • Unpaywall — only requires email.

See the detail of each API in Academic APIs.

See also

Canonical source

Derives from the §Installation section of the README.md.