CtrlK
BlogDocsLog inGet started
Tessl Logo

openalex-db

Access the OpenAlex database (240M+ scholarly works) for bibliometric analysis, literature search, and citation tracking; use when you need to query works/authors/institutions/concepts without an API key.

69

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Source: https://github.com/aipoch/medical-research-skills

When to Use

  • You need to search scholarly works by keyword and filter by properties (e.g., open access, year, venue).
  • You want to look up authors and analyze their publication output and citation impact.
  • You need to retrieve and compare institutions (e.g., affiliation-based exploration or benchmarking).
  • You want to explore concepts/topics and track trends across time.
  • You need lightweight bibliometric workflows (citation tracking, publication trends) without managing API keys.

Key Features

  • Query OpenAlex entities: works, authors, institutions, concepts.
  • Keyword search with filtering support.
  • Designed for bibliometric tasks such as citation tracking and trend exploration.
  • No API key required; supports providing an email for OpenAlex Polite Pool (higher rate limits).
  • Simple Python client wrapper via scripts/openalex_client.py.

Dependencies

  • requests (version not pinned; install via uv pip install requests)

Example Usage

from scripts.openalex_client import OpenAlexClient

def main():
    # Provide an email to use OpenAlex "Polite Pool" (recommended for better rate limits)
    client = OpenAlexClient(email="user@example.com")

    # Search for open-access works related to CRISPR
    works = client.search_works(
        search="CRISPR",
        filter_params={"is_oa": "true"},
    )

    print(f"Found {len(works)} works")
    if works:
        first = works[0]
        # Field names depend on OpenAlex response schema
        print("First result:")
        print(f"  id: {first.get('id')}")
        print(f"  title: {first.get('title')}")
        print(f"  publication_year: {first.get('publication_year')}")
        print(f"  cited_by_count: {first.get('cited_by_count')}")

if __name__ == "__main__":
    main()

Implementation Details

  • Client entry point: scripts/openalex_client.py provides the main API wrapper (OpenAlexClient).
  • Polite Pool: Supplying an email is recommended to receive higher rate limits from OpenAlex.
  • Search + filters: Work queries accept a free-text search string plus filter_params (key/value pairs) that map to OpenAlex API filters (e.g., {"is_oa": "true"}).
  • Pagination and schema: For supported filters, pagination behavior, and response fields, refer to references/api_guide.md.
Repository
aipoch/medical-research-skills
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.