Skip to content
Back to skills

Plumx Metrics Api

BSecurity

Track research impact beyond citations via PlumX altmetrics API

  • 3,639 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 6, 2026
researchpythongobashapidocumentation

Works with

  • api

Security analysis

B88/100
  • criticalExfiltrates credentials via HTTP β€” exact pattern from Snyk ToxicSkills study

Pro shows the line behind each finding and how to fix it

Scanned June 6, 2026

npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill plumx-metrics-api --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Plumx Metrics Api?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Plumx Metrics Api
[![Security: B β€” Skills Directory](https://www.skillsdirectory.com/api/skills/brycewang-stanford-plumx-metrics-api/badge)](https://www.skillsdirectory.com/skills/brycewang-stanford-plumx-metrics-api)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: plumx-metrics-api
description: "Track research impact beyond citations via PlumX altmetrics API"
metadata:
  openclaw:
    emoji: "πŸ“Š"
    category: "literature"
    subcategory: "metadata"
    keywords: ["PlumX", "altmetrics", "research impact", "social media metrics", "usage statistics", "scholarly metrics"]
    source: "https://plumanalytics.com/"
---

# PlumX Metrics API

## Overview

PlumX (by Elsevier/Plum Analytics) tracks 5 categories of research impact metrics beyond traditional citations: Usage, Captures, Mentions, Social Media, and Citations. It covers 130M+ research artifacts including articles, datasets, presentations, and videos. Available via Elsevier's API infrastructure. Requires an Elsevier API key.

## Metric Categories

| Category | What it measures | Examples |
|----------|-----------------|---------|
| **Usage** | Reading/viewing | Abstract views, PDF downloads, HTML views |
| **Captures** | Saving for later | Mendeley readers, CiteULike bookmarks |
| **Mentions** | Commentary | Blog posts, news articles, Wikipedia refs |
| **Social Media** | Sharing/discussion | Tweets, Facebook shares, Reddit posts |
| **Citations** | Formal references | Scopus, CrossRef, PubMed citations |

## API Endpoints

### Base URL

```
https://api.elsevier.com/analytics/plumx/
```

### Get Metrics by DOI

```bash
curl -H "X-ELS-APIKey: $ELSEVIER_API_KEY" \
  "https://api.elsevier.com/analytics/plumx/doi/10.1038/nature14539"
```

### Get Metrics by Other IDs

```bash
# By PubMed ID
curl -H "X-ELS-APIKey: $ELSEVIER_API_KEY" \
  "https://api.elsevier.com/analytics/plumx/pmid/25428114"

# By ISBN
curl -H "X-ELS-APIKey: $ELSEVIER_API_KEY" \
  "https://api.elsevier.com/analytics/plumx/isbn/9780262035613"

# By Scopus ID
curl -H "X-ELS-APIKey: $ELSEVIER_API_KEY" \
  "https://api.elsevier.com/analytics/plumx/scopusId/84920765826"
```

## Response Structure

```json
{
  "count_categories": [
    {
      "name": "capture",
      "total": 15432,
      "count_types": [
        {"name": "READER_COUNT", "total": 15432, "sources": [
          {"name": "Mendeley", "total": 15432}
        ]}
      ]
    },
    {
      "name": "socialMedia",
      "total": 3250,
      "count_types": [
        {"name": "TWEET_COUNT", "total": 2800},
        {"name": "FACEBOOK_COUNT", "total": 450}
      ]
    },
    {
      "name": "citation",
      "total": 2100,
      "count_types": [
        {"name": "Scopus", "total": 1800},
        {"name": "CrossRef", "total": 2100}
      ]
    },
    {
      "name": "usage",
      "total": 45000,
      "count_types": [
        {"name": "ABSTRACT_VIEWS", "total": 30000},
        {"name": "LINK_OUTS", "total": 15000}
      ]
    },
    {
      "name": "mention",
      "total": 85,
      "count_types": [
        {"name": "NEWS_COUNT", "total": 45},
        {"name": "BLOG_COUNT", "total": 25},
        {"name": "WIKIPEDIA_COUNT", "total": 15}
      ]
    }
  ]
}
```

## Python Usage

```python
import os
import requests

API_KEY = os.environ["ELSEVIER_API_KEY"]
BASE_URL = "https://api.elsevier.com/analytics/plumx"
HEADERS = {"X-ELS-APIKey": API_KEY, "Accept": "application/json"}


def get_plumx_metrics(doi: str) -> dict:
    """Get PlumX metrics for a paper by DOI."""
    resp = requests.get(
        f"{BASE_URL}/doi/{doi}",
        headers=HEADERS,
    )
    resp.raise_for_status()
    data = resp.json()

    metrics = {}
    for cat in data.get("count_categories", []):
        category_name = cat["name"]
        metrics[category_name] = {
            "total": cat["total"],
            "breakdown": {},
        }
        for ct in cat.get("count_types", []):
            metrics[category_name]["breakdown"][ct["name"]] = ct["total"]
    return metrics


def compare_impact(dois: list) -> list:
    """Compare PlumX metrics across multiple papers."""
    results = []
    for doi in dois:
        metrics = get_plumx_metrics(doi)
        results.append({
            "doi": doi,
            "citations": metrics.get("citation", {}).get("total", 0),
            "captures": metrics.get("capture", {}).get("total", 0),
            "social": metrics.get("socialMedia", {}).get("total", 0),
            "usage": metrics.get("usage", {}).get("total", 0),
            "mentions": metrics.get("mention", {}).get("total", 0),
        })
    return results


# Example: analyze a paper's multi-dimensional impact
metrics = get_plumx_metrics("10.1038/nature14539")
for category, data in metrics.items():
    print(f"\n{category.upper()} (total: {data['total']})")
    for metric_type, count in data["breakdown"].items():
        print(f"  {metric_type}: {count}")

# Example: compare two papers
# comparison = compare_impact([
#     "10.1038/nature14539",
#     "10.1126/science.aax2342",
# ])
```

## PlumX vs Other Altmetric Services

| Feature | PlumX | Altmetric.com | Crossref Event Data |
|---------|-------|---------------|---------------------|
| Metric categories | 5 comprehensive | Attention Score | Events only |
| Coverage | 130M+ artifacts | 30M+ outputs | DOI-based |
| Social media | Twitter, Facebook, Reddit | Twitter, Reddit, News | Twitter, Reddit, Wikipedia |
| Usage data | Yes (views, downloads) | No | No |
| Capture data | Yes (Mendeley readers) | Mendeley readers | No |
| Free access | Limited | Limited widget | Full API free |

## References

- [PlumX Metrics](https://plumanalytics.com/learn/about-metrics/)
- [Elsevier Developer Portal](https://dev.elsevier.com/)
- [PlumX API Documentation](https://dev.elsevier.com/documentation/PlumXMetricsAPI.wadl)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…