Provider Capabilities

Each adapter implements the unified ScholarlyDataSource interface while handling provider-specific features and limitations.

Supported Providers

Provider Works Search Author Search Citations References Batch APIs Rate Limits
OpenAlex ✅ Cursor ✅ Cursor ✅ 50/req Polite†
Semantic Scholar ✅ Offset ✅ Offset ✅ 500/req 100/min*
Crossref ✅ Cursor ⚠️ Limited Polite†

Polite usage encouraged with mailto parameter

Quick Provider Selection

Choose OpenAlex for:

Choose Semantic Scholar for:

Choose Crossref for:

Common Behaviors

All adapters share these standardized features:

Configuration Examples

Environment Variables (Laravel)

# Provider credentials
OPENALEX_MAILTO=researcher@university.edu
S2_API_KEY=your-semantic-scholar-key
CROSSREF_MAILTO=researcher@university.edu

# Global settings
SCHOLARLY_DEFAULT_ADAPTER=openalex
SCHOLARLY_HTTP_TIMEOUT=30
SCHOLARLY_CACHE_STORE=redis

Direct Configuration

$factory = AdapterFactory::make([
    'default' => 'openalex',
    'cache' => new ArrayAdapter(),
    'openalex' => ['mailto' => 'you@example.com'],
    's2' => ['api_key' => 'your-key'],
    'crossref' => ['mailto' => 'you@example.com']
]);

For detailed provider setup and capabilities, see the individual adapter guides:


Core Concepts: Contracts Architecture Getting Started
Features: Graph Analytics Laravel Integration Provider Adapters
Development: Extending GitHub Repository  
External Resources: OpenAlex API Semantic Scholar API Crossref API