Skip to content

CORE

CORE aggregates open-access research outputs from repositories worldwide and exposes direct download links, making it a natural feeder for the planned full-text pipeline. Disabled by default and requires an API key.

Implementation: src/retrieval/providers/core_provider.py

HTTP API

Attribute Value
Search URL GET https://api.core.ac.uk/v3/search/works
Query params q, limit
Authentication CORE_API_KEY (required, Bearer token)
Timeout 60s (search), 15s (health)
Retries 3 with exponential backoff
Rate limiting HTTP 429 → sleep Retry-After

Free API keys are issued at the CORE services portal. Without a key the provider reports itself unhealthy, and search fails with a clear message — which the retrieval fan-out converts into a per-provider warning rather than a crash.

Normalization

CORE work records map to RetrievedPaper:

CORE field RetrievedPaper field
title title
abstract abstract
publishedDate / year year
publisher / journals[0] venue
downloadUrl / sourceFulltextUrls[0] url (direct PDF when available)
doi doi
authors[].name authors
citationCount citation_count

Configuration

# config/providers.yaml
providers:
  core:
    enabled: true
RA_RETRIEVAL__PROVIDERS__CORE__ENABLED=true
CORE_API_KEY=...

See also: Provider matrix.