Quickstart
This guide covers the basic usage of CrossRef Local.
Python API
Basic Search
from crossref_local import search
# Full-text search
results = search("machine learning", limit=10)
print(f"Found {results.total} matches")
for work in results:
print(f"- {work.title} ({work.year})")
print(f" DOI: {work.doi}")
print(f" Journal: {work.journal}")
Get by DOI
from crossref_local import get
work = get("10.1038/nature12373")
if work:
print(f"Title: {work.title}")
print(f"Authors: {', '.join(work.authors)}")
print(f"Year: {work.year}")
print(f"Citations: {work.citation_count}")
HTTP Mode
from crossref_local import configure_http, search
# Configure to use HTTP API
configure_http("http://localhost:31291")
# Same API works transparently
results = search("CRISPR")
Command Line Interface
Search
# Basic search
crossref-local search "neural networks"
# With options
crossref-local search "machine learning" -n 20 -a --impact-factor
# Output as JSON
crossref-local search "deep learning" --json
Get by DOI
crossref-local search-by-doi 10.1038/nature12373
# As citation format
crossref-local search-by-doi 10.1038/nature12373 --citation
HTTP Relay Server
# Start relay server
crossref-local relay
# Custom port
crossref-local relay --port 8080
# Then connect from another machine
crossref-local --http search "query"
MCP Server
# Start MCP server
crossref-local mcp start
# With specific transport
crossref-local mcp start -t sse --port 8082
Environment Variables
CROSSREF_LOCAL_DB: Path to SQLite databaseCROSSREF_LOCAL_API_URL: HTTP API URL for remote accessCROSSREF_LOCAL_MODE: Force mode (dborhttp)CROSSREF_LOCAL_HOST: Host for relay server (default: 0.0.0.0)CROSSREF_LOCAL_PORT: Port for relay server (default: 31291)