@wentorai/research-plugins 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +204 -0
- package/curated/analysis/README.md +64 -0
- package/curated/domains/README.md +104 -0
- package/curated/literature/README.md +53 -0
- package/curated/research/README.md +62 -0
- package/curated/tools/README.md +87 -0
- package/curated/writing/README.md +61 -0
- package/index.ts +39 -0
- package/mcp-configs/academic-db/ChatSpatial.json +17 -0
- package/mcp-configs/academic-db/academia-mcp.json +17 -0
- package/mcp-configs/academic-db/academic-paper-explorer.json +17 -0
- package/mcp-configs/academic-db/academic-search-mcp-server.json +17 -0
- package/mcp-configs/academic-db/agentinterviews-mcp.json +17 -0
- package/mcp-configs/academic-db/all-in-mcp.json +17 -0
- package/mcp-configs/academic-db/apple-health-mcp.json +17 -0
- package/mcp-configs/academic-db/arxiv-latex-mcp.json +17 -0
- package/mcp-configs/academic-db/arxiv-mcp-server.json +17 -0
- package/mcp-configs/academic-db/bgpt-mcp.json +17 -0
- package/mcp-configs/academic-db/biomcp.json +17 -0
- package/mcp-configs/academic-db/biothings-mcp.json +17 -0
- package/mcp-configs/academic-db/catalysishub-mcp-server.json +17 -0
- package/mcp-configs/academic-db/clinicaltrialsgov-mcp-server.json +17 -0
- package/mcp-configs/academic-db/deep-research-mcp.json +17 -0
- package/mcp-configs/academic-db/dicom-mcp.json +17 -0
- package/mcp-configs/academic-db/enrichr-mcp-server.json +17 -0
- package/mcp-configs/academic-db/fec-mcp-server.json +17 -0
- package/mcp-configs/academic-db/fhir-mcp-server-themomentum.json +17 -0
- package/mcp-configs/academic-db/fhir-mcp.json +19 -0
- package/mcp-configs/academic-db/gget-mcp.json +17 -0
- package/mcp-configs/academic-db/google-researcher-mcp.json +17 -0
- package/mcp-configs/academic-db/idea-reality-mcp.json +17 -0
- package/mcp-configs/academic-db/legiscan-mcp.json +19 -0
- package/mcp-configs/academic-db/lex.json +17 -0
- package/mcp-configs/ai-platform/Adaptive-Graph-of-Thoughts-MCP-server.json +17 -0
- package/mcp-configs/ai-platform/ai-counsel.json +17 -0
- package/mcp-configs/ai-platform/atlas-mcp-server.json +17 -0
- package/mcp-configs/ai-platform/counsel-mcp.json +17 -0
- package/mcp-configs/ai-platform/cross-llm-mcp.json +17 -0
- package/mcp-configs/ai-platform/gptr-mcp.json +17 -0
- package/mcp-configs/browser/decipher-research-agent.json +17 -0
- package/mcp-configs/browser/deep-research.json +17 -0
- package/mcp-configs/browser/everything-claude-code.json +17 -0
- package/mcp-configs/browser/gpt-researcher.json +17 -0
- package/mcp-configs/browser/heurist-agent-framework.json +17 -0
- package/mcp-configs/data-platform/4everland-hosting-mcp.json +17 -0
- package/mcp-configs/data-platform/context-keeper.json +17 -0
- package/mcp-configs/data-platform/context7.json +19 -0
- package/mcp-configs/data-platform/contextstream-mcp.json +17 -0
- package/mcp-configs/data-platform/email-mcp.json +17 -0
- package/mcp-configs/note-knowledge/ApeRAG.json +17 -0
- package/mcp-configs/note-knowledge/In-Memoria.json +17 -0
- package/mcp-configs/note-knowledge/agent-memory.json +17 -0
- package/mcp-configs/note-knowledge/aimemo.json +17 -0
- package/mcp-configs/note-knowledge/biel-mcp.json +19 -0
- package/mcp-configs/note-knowledge/cognee.json +17 -0
- package/mcp-configs/note-knowledge/context-awesome.json +17 -0
- package/mcp-configs/note-knowledge/context-mcp.json +17 -0
- package/mcp-configs/note-knowledge/conversation-handoff-mcp.json +17 -0
- package/mcp-configs/note-knowledge/cortex.json +17 -0
- package/mcp-configs/note-knowledge/devrag.json +17 -0
- package/mcp-configs/note-knowledge/easy-obsidian-mcp.json +17 -0
- package/mcp-configs/note-knowledge/engram.json +17 -0
- package/mcp-configs/note-knowledge/gnosis-mcp.json +17 -0
- package/mcp-configs/note-knowledge/graphlit-mcp-server.json +19 -0
- package/mcp-configs/reference-mgr/arxiv-cli.json +17 -0
- package/mcp-configs/reference-mgr/arxiv-search-mcp.json +17 -0
- package/mcp-configs/reference-mgr/chiken.json +17 -0
- package/mcp-configs/reference-mgr/claude-scholar.json +17 -0
- package/mcp-configs/reference-mgr/devonthink-mcp.json +17 -0
- package/mcp-configs/registry.json +447 -0
- package/openclaw.plugin.json +21 -0
- package/package.json +61 -0
- package/skills/analysis/dataviz/color-accessibility-guide/SKILL.md +230 -0
- package/skills/analysis/dataviz/geospatial-viz-guide/SKILL.md +218 -0
- package/skills/analysis/dataviz/interactive-viz-guide/SKILL.md +287 -0
- package/skills/analysis/dataviz/network-visualization-guide/SKILL.md +195 -0
- package/skills/analysis/dataviz/publication-figures-guide/SKILL.md +238 -0
- package/skills/analysis/dataviz/python-dataviz-guide/SKILL.md +195 -0
- package/skills/analysis/econometrics/causal-inference-guide/SKILL.md +197 -0
- package/skills/analysis/econometrics/iv-regression-guide/SKILL.md +198 -0
- package/skills/analysis/econometrics/panel-data-guide/SKILL.md +274 -0
- package/skills/analysis/econometrics/robustness-checks/SKILL.md +250 -0
- package/skills/analysis/econometrics/stata-regression/SKILL.md +117 -0
- package/skills/analysis/econometrics/time-series-guide/SKILL.md +235 -0
- package/skills/analysis/statistics/bayesian-statistics-guide/SKILL.md +221 -0
- package/skills/analysis/statistics/hypothesis-testing-guide/SKILL.md +210 -0
- package/skills/analysis/statistics/meta-analysis-guide/SKILL.md +206 -0
- package/skills/analysis/statistics/nonparametric-tests-guide/SKILL.md +221 -0
- package/skills/analysis/statistics/power-analysis-guide/SKILL.md +240 -0
- package/skills/analysis/statistics/sem-guide/SKILL.md +231 -0
- package/skills/analysis/statistics/survival-analysis-guide/SKILL.md +195 -0
- package/skills/analysis/wrangling/missing-data-handling/SKILL.md +224 -0
- package/skills/analysis/wrangling/pandas-data-wrangling/SKILL.md +242 -0
- package/skills/analysis/wrangling/questionnaire-design-guide/SKILL.md +234 -0
- package/skills/analysis/wrangling/text-mining-guide/SKILL.md +225 -0
- package/skills/domains/ai-ml/computer-vision-guide/SKILL.md +213 -0
- package/skills/domains/ai-ml/deep-learning-papers-guide/SKILL.md +200 -0
- package/skills/domains/ai-ml/llm-evaluation-guide/SKILL.md +194 -0
- package/skills/domains/ai-ml/prompt-engineering-research/SKILL.md +233 -0
- package/skills/domains/ai-ml/reinforcement-learning-guide/SKILL.md +254 -0
- package/skills/domains/ai-ml/transformer-architecture-guide/SKILL.md +233 -0
- package/skills/domains/biomedical/clinical-research-guide/SKILL.md +232 -0
- package/skills/domains/biomedical/clinicaltrials-api/SKILL.md +177 -0
- package/skills/domains/biomedical/epidemiology-guide/SKILL.md +200 -0
- package/skills/domains/biomedical/genomics-analysis-guide/SKILL.md +270 -0
- package/skills/domains/business/market-analysis-guide/SKILL.md +112 -0
- package/skills/domains/business/strategic-management-guide/SKILL.md +154 -0
- package/skills/domains/chemistry/computational-chemistry-guide/SKILL.md +266 -0
- package/skills/domains/chemistry/retrosynthesis-guide/SKILL.md +215 -0
- package/skills/domains/cs/algorithms-complexity-guide/SKILL.md +194 -0
- package/skills/domains/cs/dblp-api/SKILL.md +129 -0
- package/skills/domains/cs/software-engineering-research/SKILL.md +218 -0
- package/skills/domains/ecology/biodiversity-data-guide/SKILL.md +296 -0
- package/skills/domains/ecology/conservation-biology-guide/SKILL.md +198 -0
- package/skills/domains/ecology/gbif-api/SKILL.md +158 -0
- package/skills/domains/ecology/inaturalist-api/SKILL.md +173 -0
- package/skills/domains/economics/behavioral-economics-guide/SKILL.md +239 -0
- package/skills/domains/economics/development-economics-guide/SKILL.md +181 -0
- package/skills/domains/economics/fred-api/SKILL.md +189 -0
- package/skills/domains/education/curriculum-design-guide/SKILL.md +144 -0
- package/skills/domains/education/learning-science-guide/SKILL.md +150 -0
- package/skills/domains/finance/financial-data-analysis/SKILL.md +152 -0
- package/skills/domains/finance/quantitative-finance-guide/SKILL.md +151 -0
- package/skills/domains/geoscience/climate-science-guide/SKILL.md +158 -0
- package/skills/domains/geoscience/gis-remote-sensing-guide/SKILL.md +129 -0
- package/skills/domains/humanities/digital-humanities-guide/SKILL.md +181 -0
- package/skills/domains/humanities/philosophy-research-guide/SKILL.md +148 -0
- package/skills/domains/law/courtlistener-api/SKILL.md +213 -0
- package/skills/domains/law/legal-research-guide/SKILL.md +250 -0
- package/skills/domains/math/linear-algebra-applications/SKILL.md +227 -0
- package/skills/domains/math/numerical-methods-guide/SKILL.md +236 -0
- package/skills/domains/math/oeis-api/SKILL.md +158 -0
- package/skills/domains/pharma/clinical-pharmacology-guide/SKILL.md +165 -0
- package/skills/domains/pharma/drug-development-guide/SKILL.md +177 -0
- package/skills/domains/physics/computational-physics-guide/SKILL.md +300 -0
- package/skills/domains/physics/nasa-ads-api/SKILL.md +150 -0
- package/skills/domains/physics/quantum-computing-guide/SKILL.md +234 -0
- package/skills/domains/social-science/social-research-methods/SKILL.md +194 -0
- package/skills/domains/social-science/survey-research-guide/SKILL.md +182 -0
- package/skills/literature/discovery/citation-alert-guide/SKILL.md +154 -0
- package/skills/literature/discovery/conference-proceedings-guide/SKILL.md +142 -0
- package/skills/literature/discovery/literature-mapping-guide/SKILL.md +175 -0
- package/skills/literature/discovery/paper-tracking-guide/SKILL.md +211 -0
- package/skills/literature/discovery/rss-paper-feeds/SKILL.md +214 -0
- package/skills/literature/discovery/semantic-scholar-recs-guide/SKILL.md +164 -0
- package/skills/literature/fulltext/doaj-api/SKILL.md +120 -0
- package/skills/literature/fulltext/interlibrary-loan-guide/SKILL.md +163 -0
- package/skills/literature/fulltext/open-access-guide/SKILL.md +183 -0
- package/skills/literature/fulltext/pmc-oai-api/SKILL.md +184 -0
- package/skills/literature/fulltext/preprint-servers-guide/SKILL.md +128 -0
- package/skills/literature/fulltext/repository-harvesting-guide/SKILL.md +207 -0
- package/skills/literature/fulltext/unpaywall-api/SKILL.md +113 -0
- package/skills/literature/metadata/altmetrics-guide/SKILL.md +132 -0
- package/skills/literature/metadata/citation-network-guide/SKILL.md +236 -0
- package/skills/literature/metadata/crossref-api/SKILL.md +133 -0
- package/skills/literature/metadata/datacite-api/SKILL.md +126 -0
- package/skills/literature/metadata/doi-resolution-guide/SKILL.md +168 -0
- package/skills/literature/metadata/h-index-guide/SKILL.md +183 -0
- package/skills/literature/metadata/journal-metrics-guide/SKILL.md +188 -0
- package/skills/literature/metadata/opencitations-api/SKILL.md +128 -0
- package/skills/literature/metadata/orcid-api/SKILL.md +136 -0
- package/skills/literature/metadata/orcid-integration-guide/SKILL.md +178 -0
- package/skills/literature/search/arxiv-api/SKILL.md +95 -0
- package/skills/literature/search/biorxiv-api/SKILL.md +123 -0
- package/skills/literature/search/boolean-search-guide/SKILL.md +199 -0
- package/skills/literature/search/citation-chaining-guide/SKILL.md +148 -0
- package/skills/literature/search/database-comparison-guide/SKILL.md +100 -0
- package/skills/literature/search/europe-pmc-api/SKILL.md +120 -0
- package/skills/literature/search/google-scholar-guide/SKILL.md +182 -0
- package/skills/literature/search/mesh-terms-guide/SKILL.md +164 -0
- package/skills/literature/search/openalex-api/SKILL.md +134 -0
- package/skills/literature/search/pubmed-api/SKILL.md +130 -0
- package/skills/literature/search/scientify-literature-survey/SKILL.md +203 -0
- package/skills/literature/search/semantic-scholar-api/SKILL.md +134 -0
- package/skills/literature/search/systematic-search-strategy/SKILL.md +214 -0
- package/skills/research/automation/ai-scientist-guide/SKILL.md +228 -0
- package/skills/research/automation/data-collection-automation/SKILL.md +248 -0
- package/skills/research/automation/research-workflow-automation/SKILL.md +266 -0
- package/skills/research/deep-research/meta-synthesis-guide/SKILL.md +174 -0
- package/skills/research/deep-research/research-cog/SKILL.md +153 -0
- package/skills/research/deep-research/scoping-review-guide/SKILL.md +217 -0
- package/skills/research/deep-research/systematic-review-guide/SKILL.md +250 -0
- package/skills/research/funding/figshare-api/SKILL.md +163 -0
- package/skills/research/funding/grant-writing-guide/SKILL.md +233 -0
- package/skills/research/funding/nsf-grant-guide/SKILL.md +206 -0
- package/skills/research/funding/open-science-guide/SKILL.md +255 -0
- package/skills/research/funding/zenodo-api/SKILL.md +174 -0
- package/skills/research/methodology/action-research-guide/SKILL.md +201 -0
- package/skills/research/methodology/experimental-design-guide/SKILL.md +236 -0
- package/skills/research/methodology/grad-school-guide/SKILL.md +182 -0
- package/skills/research/methodology/grounded-theory-guide/SKILL.md +171 -0
- package/skills/research/methodology/mixed-methods-guide/SKILL.md +208 -0
- package/skills/research/methodology/qualitative-research-guide/SKILL.md +234 -0
- package/skills/research/methodology/scientify-idea-generation/SKILL.md +222 -0
- package/skills/research/paper-review/paper-reading-assistant/SKILL.md +266 -0
- package/skills/research/paper-review/peer-review-guide/SKILL.md +227 -0
- package/skills/research/paper-review/rebuttal-writing-guide/SKILL.md +185 -0
- package/skills/research/paper-review/scientify-write-review-paper/SKILL.md +209 -0
- package/skills/tools/code-exec/jupyter-notebook-guide/SKILL.md +178 -0
- package/skills/tools/code-exec/python-reproducibility-guide/SKILL.md +341 -0
- package/skills/tools/code-exec/r-reproducibility-guide/SKILL.md +236 -0
- package/skills/tools/code-exec/sandbox-execution-guide/SKILL.md +221 -0
- package/skills/tools/diagram/mermaid-diagram-guide/SKILL.md +269 -0
- package/skills/tools/diagram/plantuml-guide/SKILL.md +397 -0
- package/skills/tools/diagram/scientific-illustration-guide/SKILL.md +225 -0
- package/skills/tools/document/anystyle-api/SKILL.md +199 -0
- package/skills/tools/document/grobid-pdf-parsing/SKILL.md +294 -0
- package/skills/tools/document/markdown-academic-guide/SKILL.md +217 -0
- package/skills/tools/document/pdf-extraction-guide/SKILL.md +321 -0
- package/skills/tools/knowledge-graph/knowledge-graph-construction/SKILL.md +306 -0
- package/skills/tools/knowledge-graph/ontology-design-guide/SKILL.md +214 -0
- package/skills/tools/knowledge-graph/rag-methodology-guide/SKILL.md +325 -0
- package/skills/tools/ocr-translate/formula-recognition-guide/SKILL.md +367 -0
- package/skills/tools/ocr-translate/handwriting-recognition-guide/SKILL.md +211 -0
- package/skills/tools/ocr-translate/latex-ocr-guide/SKILL.md +204 -0
- package/skills/tools/ocr-translate/multilingual-research-guide/SKILL.md +234 -0
- package/skills/tools/scraping/academic-web-scraping/SKILL.md +326 -0
- package/skills/tools/scraping/api-data-collection-guide/SKILL.md +301 -0
- package/skills/tools/scraping/web-scraping-ethics-guide/SKILL.md +250 -0
- package/skills/writing/citation/bibtex-management-guide/SKILL.md +246 -0
- package/skills/writing/citation/citation-style-guide/SKILL.md +248 -0
- package/skills/writing/citation/reference-manager-comparison/SKILL.md +208 -0
- package/skills/writing/citation/zotero-api/SKILL.md +188 -0
- package/skills/writing/composition/abstract-writing-guide/SKILL.md +188 -0
- package/skills/writing/composition/discussion-writing-guide/SKILL.md +194 -0
- package/skills/writing/composition/introduction-writing-guide/SKILL.md +194 -0
- package/skills/writing/composition/literature-review-writing/SKILL.md +196 -0
- package/skills/writing/composition/methods-section-guide/SKILL.md +185 -0
- package/skills/writing/composition/response-to-reviewers/SKILL.md +215 -0
- package/skills/writing/composition/scientific-writing-guide/SKILL.md +152 -0
- package/skills/writing/latex/bibliography-management-guide/SKILL.md +206 -0
- package/skills/writing/latex/latex-drawing-guide/SKILL.md +234 -0
- package/skills/writing/latex/latex-ecosystem-guide/SKILL.md +240 -0
- package/skills/writing/latex/math-typesetting-guide/SKILL.md +231 -0
- package/skills/writing/latex/overleaf-collaboration-guide/SKILL.md +211 -0
- package/skills/writing/latex/tikz-diagrams-guide/SKILL.md +211 -0
- package/skills/writing/polish/academic-translation-guide/SKILL.md +175 -0
- package/skills/writing/polish/academic-writing-refiner/SKILL.md +143 -0
- package/skills/writing/polish/ai-writing-humanizer/SKILL.md +178 -0
- package/skills/writing/polish/grammar-checker-guide/SKILL.md +184 -0
- package/skills/writing/polish/plagiarism-detection-guide/SKILL.md +167 -0
- package/skills/writing/templates/beamer-presentation-guide/SKILL.md +263 -0
- package/skills/writing/templates/conference-paper-template/SKILL.md +219 -0
- package/skills/writing/templates/thesis-template-guide/SKILL.md +200 -0
- package/skills/writing/templates/thesis-writing-guide/SKILL.md +220 -0
- package/src/tools/arxiv.ts +131 -0
- package/src/tools/crossref.ts +112 -0
- package/src/tools/openalex.ts +174 -0
- package/src/tools/pubmed.ts +166 -0
- package/src/tools/semantic-scholar.ts +108 -0
- package/src/tools/unpaywall.ts +58 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: preprint-servers-guide
|
|
3
|
+
description: "Guide to preprint servers across scientific disciplines"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "paper"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "fulltext"
|
|
9
|
+
keywords: ["preprint server", "preprint submission", "arXiv", "bioRxiv", "open access"]
|
|
10
|
+
source: "wentor-research-plugins"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Preprint Servers Guide
|
|
14
|
+
|
|
15
|
+
A comprehensive guide to preprint servers across all major academic disciplines, covering submission workflows, licensing, and programmatic access.
|
|
16
|
+
|
|
17
|
+
## What Are Preprints?
|
|
18
|
+
|
|
19
|
+
Preprints are complete research manuscripts shared publicly before formal peer review. They enable rapid dissemination of findings, establish priority of discovery, and invite community feedback before journal submission.
|
|
20
|
+
|
|
21
|
+
Key characteristics:
|
|
22
|
+
- **Not peer reviewed** (but increasingly moderated for basic quality)
|
|
23
|
+
- **Freely accessible** to anyone
|
|
24
|
+
- **Citable** with a DOI
|
|
25
|
+
- **Versioned** (authors can post revisions)
|
|
26
|
+
- **Compatible** with most journal submissions (check journal policy first)
|
|
27
|
+
|
|
28
|
+
## Major Preprint Servers by Discipline
|
|
29
|
+
|
|
30
|
+
| Server | Disciplines | Operator | Moderation | DOI Prefix |
|
|
31
|
+
|--------|-------------|----------|------------|------------|
|
|
32
|
+
| arXiv | Physics, Math, CS, Econ, EE, Stats, Q-Bio | Cornell | Light screening | 10.48550 |
|
|
33
|
+
| bioRxiv | Biology (all subfields) | Cold Spring Harbor | Basic screening | 10.1101 |
|
|
34
|
+
| medRxiv | Clinical/health sciences | Yale/BMJ/CSHL | Enhanced screening | 10.1101 |
|
|
35
|
+
| ChemRxiv | Chemistry | ACS | Moderate screening | 10.26434 |
|
|
36
|
+
| EarthArXiv | Earth/planetary sciences | Community-led | Light screening | 10.31223 |
|
|
37
|
+
| PsyArXiv | Psychology | COS/OSF | Light screening | 10.31234 |
|
|
38
|
+
| SocArXiv | Social sciences | COS/OSF | Light screening | 10.31235 |
|
|
39
|
+
| SSRN | Social sciences, law, economics | Elsevier | Minimal | various |
|
|
40
|
+
| engrXiv | Engineering | COS/OSF | Light screening | 10.31224 |
|
|
41
|
+
| EdArXiv | Education | COS/OSF | Light screening | 10.35542 |
|
|
42
|
+
| Preprints.org | Multidisciplinary | MDPI | Basic screening | 10.20944 |
|
|
43
|
+
| Research Square | Multidisciplinary | Springer Nature | In Review service | 10.21203 |
|
|
44
|
+
| TechRxiv | Electrical eng., CS | IEEE | Moderate | 10.36227 |
|
|
45
|
+
|
|
46
|
+
## Submission Workflow
|
|
47
|
+
|
|
48
|
+
### arXiv Submission
|
|
49
|
+
|
|
50
|
+
1. **Create an account** at arxiv.org and get endorsed (new users need endorsement in the relevant category).
|
|
51
|
+
2. **Prepare your manuscript**:
|
|
52
|
+
- LaTeX source (preferred): upload `.tex` + figures + `.bbl` as a single archive
|
|
53
|
+
- PDF: accepted but LaTeX is strongly preferred
|
|
54
|
+
3. **Select categories**: Choose a primary category (e.g., `cs.CL`) and optional cross-lists.
|
|
55
|
+
4. **Submit metadata**: Title, abstract, authors, comments, journal-ref (if applicable).
|
|
56
|
+
5. **Wait for processing**: Papers appear in the next daily posting (submissions before 14:00 ET on weekdays).
|
|
57
|
+
6. **Receive arXiv ID**: Format `YYMM.NNNNN` (e.g., `2401.12345`).
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Download arXiv paper PDF programmatically
|
|
61
|
+
curl -o paper.pdf https://arxiv.org/pdf/2401.12345
|
|
62
|
+
|
|
63
|
+
# Get metadata via arXiv API
|
|
64
|
+
curl "http://export.arxiv.org/api/query?id_list=2401.12345"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### bioRxiv/medRxiv Submission
|
|
68
|
+
|
|
69
|
+
1. **Create an account** at biorxiv.org or medrxiv.org.
|
|
70
|
+
2. **Upload manuscript** as a single Word or PDF file.
|
|
71
|
+
3. **Add metadata**: Title, authors with ORCIDs, abstract, subject area.
|
|
72
|
+
4. **Select license**: CC-BY, CC-BY-NC, CC-BY-ND, CC-BY-NC-ND, or CC0.
|
|
73
|
+
5. **Screening**: bioRxiv screens for plagiarism, dual submission, and non-scientific content. medRxiv applies additional clinical content screening.
|
|
74
|
+
6. **Posting**: Typically within 24-48 hours after screening.
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
# bioRxiv API: search recent preprints
|
|
78
|
+
import requests
|
|
79
|
+
|
|
80
|
+
response = requests.get(
|
|
81
|
+
"https://api.biorxiv.org/details/biorxiv/2024-01-01/2024-01-31",
|
|
82
|
+
params={"cursor": 0, "format": "json"}
|
|
83
|
+
)
|
|
84
|
+
papers = response.json()["collection"]
|
|
85
|
+
for p in papers[:5]:
|
|
86
|
+
print(f"[{p['date']}] {p['title']} (doi: {p['doi']})")
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Licensing Options
|
|
90
|
+
|
|
91
|
+
| License | Allows Reuse | Allows Commercial | Allows Derivatives | Requires Attribution |
|
|
92
|
+
|---------|-------------|-------------------|--------------------|---------------------|
|
|
93
|
+
| CC-BY | Yes | Yes | Yes | Yes |
|
|
94
|
+
| CC-BY-NC | Yes | No | Yes | Yes |
|
|
95
|
+
| CC-BY-ND | Yes | Yes | No | Yes |
|
|
96
|
+
| CC-BY-NC-ND | Yes | No | No | Yes |
|
|
97
|
+
| CC0 | Yes | Yes | Yes | No |
|
|
98
|
+
|
|
99
|
+
**Recommendation**: Use CC-BY for maximum openness and compatibility with funder mandates (NIH, Wellcome Trust, ERC). Use CC-BY-NC if you want to restrict commercial reuse.
|
|
100
|
+
|
|
101
|
+
## Journal Policies on Preprints
|
|
102
|
+
|
|
103
|
+
Most major publishers now accept manuscripts previously posted as preprints:
|
|
104
|
+
|
|
105
|
+
- **Accepts preprints**: Nature, Science, PNAS, Cell, Lancet, BMJ, PLOS, eLife, all IEEE journals, most ACM venues
|
|
106
|
+
- **Does not accept preprints**: Some society journals in certain fields (check SHERPA/RoMEO at sherpa.ac.uk/romeo for specific policies)
|
|
107
|
+
|
|
108
|
+
Important considerations:
|
|
109
|
+
- Some journals require you to update the preprint with a link to the published version.
|
|
110
|
+
- Dual posting on multiple preprint servers may violate policies.
|
|
111
|
+
- Embargo periods may apply for some clinical journals (especially medRxiv).
|
|
112
|
+
|
|
113
|
+
## Programmatic Access Comparison
|
|
114
|
+
|
|
115
|
+
| Server | API Available | Bulk Download | OAI-PMH | Rate Limit |
|
|
116
|
+
|--------|--------------|---------------|---------|------------|
|
|
117
|
+
| arXiv | Yes (Atom) | Yes (S3 bulk) | Yes | 1 req/3 sec |
|
|
118
|
+
| bioRxiv | Yes (REST) | No | No | Polite use |
|
|
119
|
+
| SSRN | No public API | No | No | N/A |
|
|
120
|
+
| OSF Preprints | Yes (SHARE) | Yes | Yes | Polite use |
|
|
121
|
+
|
|
122
|
+
## Best Practices
|
|
123
|
+
|
|
124
|
+
1. **Post before or at submission**: Maximize the time for community feedback.
|
|
125
|
+
2. **Use ORCIDs**: Link your preprint to your ORCID profile for discoverability.
|
|
126
|
+
3. **Update with journal DOI**: After acceptance, add a comment or new version linking to the published article.
|
|
127
|
+
4. **Choose the right server**: Use the discipline-specific server for maximum visibility within your community.
|
|
128
|
+
5. **Check funder requirements**: Some funders (NIH, Plan S) mandate preprint posting for funded research.
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: repository-harvesting-guide
|
|
3
|
+
description: "Harvest papers from institutional and subject repositories at scale"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "inbox_tray"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "fulltext"
|
|
9
|
+
keywords: ["repository harvesting", "OAI-PMH", "institutional repository", "open access", "metadata harvesting", "preprints"]
|
|
10
|
+
source: "wentor-research-plugins"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Repository Harvesting Guide
|
|
14
|
+
|
|
15
|
+
A skill for systematically harvesting research papers and metadata from institutional repositories, preprint servers, and open access archives. Covers OAI-PMH protocol, API-based harvesting, and tools for building comprehensive literature datasets.
|
|
16
|
+
|
|
17
|
+
## Repository Landscape
|
|
18
|
+
|
|
19
|
+
### Types of Repositories
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Institutional Repositories (IR):
|
|
23
|
+
- Run by universities to archive their researchers' output
|
|
24
|
+
- Examples: DSpace, EPrints, Fedora-based systems
|
|
25
|
+
- Discovery: OpenDOAR directory (v2.sherpa.ac.uk/opendoar)
|
|
26
|
+
|
|
27
|
+
Subject Repositories:
|
|
28
|
+
- Discipline-specific archives
|
|
29
|
+
- arXiv (physics, CS, math), bioRxiv, SSRN, RePEc, EarthArXiv
|
|
30
|
+
|
|
31
|
+
Aggregators:
|
|
32
|
+
- Harvest from many repositories into a single search interface
|
|
33
|
+
- BASE (Bielefeld Academic Search Engine)
|
|
34
|
+
- CORE (core.ac.uk, 200M+ open access articles)
|
|
35
|
+
- OpenAIRE (European research output)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## OAI-PMH Harvesting
|
|
39
|
+
|
|
40
|
+
### Protocol Overview
|
|
41
|
+
|
|
42
|
+
The Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) is the standard protocol for harvesting metadata from repositories. Most institutional repositories support it.
|
|
43
|
+
|
|
44
|
+
```python
|
|
45
|
+
import xml.etree.ElementTree as ET
|
|
46
|
+
import urllib.request
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def harvest_oai_records(base_url: str, metadata_prefix: str = "oai_dc",
|
|
50
|
+
set_spec: str = None, from_date: str = None) -> list:
|
|
51
|
+
"""
|
|
52
|
+
Harvest metadata records from an OAI-PMH endpoint.
|
|
53
|
+
|
|
54
|
+
Args:
|
|
55
|
+
base_url: The OAI-PMH base URL of the repository
|
|
56
|
+
metadata_prefix: Metadata format (oai_dc, datacite, mets, etc.)
|
|
57
|
+
set_spec: Optional set to restrict harvesting
|
|
58
|
+
from_date: Optional date filter (YYYY-MM-DD)
|
|
59
|
+
"""
|
|
60
|
+
params = f"?verb=ListRecords&metadataPrefix={metadata_prefix}"
|
|
61
|
+
if set_spec:
|
|
62
|
+
params += f"&set={set_spec}"
|
|
63
|
+
if from_date:
|
|
64
|
+
params += f"&from={from_date}"
|
|
65
|
+
|
|
66
|
+
url = base_url + params
|
|
67
|
+
records = []
|
|
68
|
+
|
|
69
|
+
while url:
|
|
70
|
+
response = urllib.request.urlopen(url)
|
|
71
|
+
tree = ET.parse(response)
|
|
72
|
+
root = tree.getroot()
|
|
73
|
+
|
|
74
|
+
ns = {"oai": "http://www.openarchives.org/OAI/2.0/"}
|
|
75
|
+
|
|
76
|
+
for record in root.findall(".//oai:record", ns):
|
|
77
|
+
header = record.find("oai:header", ns)
|
|
78
|
+
identifier = header.find("oai:identifier", ns).text
|
|
79
|
+
datestamp = header.find("oai:datestamp", ns).text
|
|
80
|
+
records.append({
|
|
81
|
+
"identifier": identifier,
|
|
82
|
+
"datestamp": datestamp
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
# Handle resumption token for pagination
|
|
86
|
+
token_elem = root.find(".//oai:resumptionToken", ns)
|
|
87
|
+
if token_elem is not None and token_elem.text:
|
|
88
|
+
url = f"{base_url}?verb=ListRecords&resumptionToken={token_elem.text}"
|
|
89
|
+
else:
|
|
90
|
+
url = None
|
|
91
|
+
|
|
92
|
+
return records
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### OAI-PMH Verbs
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
Identify — Get repository information
|
|
99
|
+
ListSets — List available sets (collections)
|
|
100
|
+
ListMetadataFormats — List supported metadata formats
|
|
101
|
+
ListIdentifiers — List record headers (lightweight)
|
|
102
|
+
ListRecords — List full metadata records
|
|
103
|
+
GetRecord — Retrieve a single record by identifier
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## API-Based Harvesting
|
|
107
|
+
|
|
108
|
+
### CORE API
|
|
109
|
+
|
|
110
|
+
```python
|
|
111
|
+
import urllib.request
|
|
112
|
+
import json
|
|
113
|
+
import os
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
def search_core_api(query: str, limit: int = 100) -> list:
|
|
117
|
+
"""
|
|
118
|
+
Search CORE.ac.uk for open access papers.
|
|
119
|
+
|
|
120
|
+
Args:
|
|
121
|
+
query: Search query string
|
|
122
|
+
limit: Maximum number of results
|
|
123
|
+
"""
|
|
124
|
+
api_key = os.environ["CORE_API_KEY"]
|
|
125
|
+
url = "https://api.core.ac.uk/v3/search/works"
|
|
126
|
+
headers = {"Authorization": f"Bearer {api_key}"}
|
|
127
|
+
|
|
128
|
+
params = f"?q={urllib.parse.quote(query)}&limit={limit}"
|
|
129
|
+
req = urllib.request.Request(url + params, headers=headers)
|
|
130
|
+
response = urllib.request.urlopen(req)
|
|
131
|
+
data = json.loads(response.read())
|
|
132
|
+
|
|
133
|
+
results = []
|
|
134
|
+
for item in data.get("results", []):
|
|
135
|
+
results.append({
|
|
136
|
+
"title": item.get("title"),
|
|
137
|
+
"doi": item.get("doi"),
|
|
138
|
+
"year": item.get("yearPublished"),
|
|
139
|
+
"download_url": item.get("downloadUrl"),
|
|
140
|
+
"repository": item.get("sourceFulltextUrls", [])
|
|
141
|
+
})
|
|
142
|
+
|
|
143
|
+
return results
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Crossref and Unpaywall APIs
|
|
147
|
+
|
|
148
|
+
```python
|
|
149
|
+
def find_open_access_version(doi: str) -> dict:
|
|
150
|
+
"""
|
|
151
|
+
Check Unpaywall for an open access version of a paper.
|
|
152
|
+
|
|
153
|
+
Args:
|
|
154
|
+
doi: The DOI of the paper
|
|
155
|
+
"""
|
|
156
|
+
email = os.environ["CONTACT_EMAIL"]
|
|
157
|
+
url = f"https://api.unpaywall.org/v2/{doi}?email={email}"
|
|
158
|
+
|
|
159
|
+
req = urllib.request.Request(url)
|
|
160
|
+
response = urllib.request.urlopen(req)
|
|
161
|
+
data = json.loads(response.read())
|
|
162
|
+
|
|
163
|
+
best_oa = data.get("best_oa_location", {})
|
|
164
|
+
|
|
165
|
+
return {
|
|
166
|
+
"is_oa": data.get("is_oa", False),
|
|
167
|
+
"oa_status": data.get("oa_status"),
|
|
168
|
+
"pdf_url": best_oa.get("url_for_pdf") if best_oa else None,
|
|
169
|
+
"host_type": best_oa.get("host_type") if best_oa else None
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Building a Harvesting Pipeline
|
|
174
|
+
|
|
175
|
+
### Workflow for Systematic Collection
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
1. Identify target repositories
|
|
179
|
+
- Use OpenDOAR to find IRs in your research area
|
|
180
|
+
- List preprint servers relevant to your discipline
|
|
181
|
+
|
|
182
|
+
2. Test OAI-PMH endpoints
|
|
183
|
+
- Send an Identify request to verify the endpoint is active
|
|
184
|
+
- Check ListMetadataFormats for available schemas
|
|
185
|
+
|
|
186
|
+
3. Harvest incrementally
|
|
187
|
+
- Use the "from" parameter to harvest only new records
|
|
188
|
+
- Store the last harvest date for each repository
|
|
189
|
+
- Respect rate limits (typically 1 request per second)
|
|
190
|
+
|
|
191
|
+
4. Deduplicate
|
|
192
|
+
- Match records by DOI when available
|
|
193
|
+
- Use title + author fuzzy matching for records without DOIs
|
|
194
|
+
- Flag duplicates rather than deleting (keep provenance)
|
|
195
|
+
|
|
196
|
+
5. Store and index
|
|
197
|
+
- Save metadata in a structured format (JSON, SQLite, or CSV)
|
|
198
|
+
- Build a local search index for efficient retrieval
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Ethical and Legal Considerations
|
|
202
|
+
|
|
203
|
+
- Always respect robots.txt and rate limits
|
|
204
|
+
- Harvesting metadata is generally permitted; bulk full-text download may require permission
|
|
205
|
+
- Check each repository's terms of use
|
|
206
|
+
- Use harvested data for research purposes, not commercial redistribution
|
|
207
|
+
- Attribute the source repository in any publications using harvested data
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: unpaywall-api
|
|
3
|
+
description: "Find free legal full-text versions of scholarly articles via Unpaywall"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🔍"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "fulltext"
|
|
9
|
+
keywords: ["full-text retrieval", "open access", "journal copyright policy", "self-archiving"]
|
|
10
|
+
source: "https://unpaywall.org/products/api"
|
|
11
|
+
requires:
|
|
12
|
+
env: ["UNPAYWALL_EMAIL"]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Unpaywall API Guide
|
|
16
|
+
|
|
17
|
+
## Overview
|
|
18
|
+
|
|
19
|
+
Unpaywall is a free, open database of over 40 million free scholarly articles. Built by the nonprofit OurResearch, Unpaywall indexes legal open access (OA) copies of papers from thousands of institutional repositories, preprint servers, publisher websites, and government archives. It is the most comprehensive source for finding freely available versions of paywalled academic literature.
|
|
20
|
+
|
|
21
|
+
Researchers, librarians, and tool developers use Unpaywall to locate open access copies of papers they need, assess the OA status of publications, and integrate OA discovery into their workflows. The database is updated daily, scanning repositories and publisher sites for new open access content. Unpaywall categorizes OA into types: gold (published OA), green (repository copy), hybrid (OA in subscription journal), and bronze (free to read on publisher site).
|
|
22
|
+
|
|
23
|
+
The API requires only an email address for authentication and is free for non-commercial use with a generous rate limit of 100,000 requests per day.
|
|
24
|
+
|
|
25
|
+
## Authentication
|
|
26
|
+
|
|
27
|
+
Authentication is via email address passed as a query parameter. No API key or registration is needed -- just provide a valid email:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
?email=your@email.com
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
This email is used for contact purposes only and to identify your application. The API will reject requests without a valid email address. For commercial use or higher rate limits, contact OurResearch for an API key.
|
|
34
|
+
|
|
35
|
+
## Core Endpoints
|
|
36
|
+
|
|
37
|
+
### DOI Lookup: Find Open Access for a Paper
|
|
38
|
+
|
|
39
|
+
- **URL**: `GET https://api.unpaywall.org/v2/{doi}`
|
|
40
|
+
- **Parameters**:
|
|
41
|
+
| Param | Type | Required | Description |
|
|
42
|
+
|-------|------|----------|-------------|
|
|
43
|
+
| doi | string | Yes | The DOI of the paper (URL-encoded in path) |
|
|
44
|
+
| email | string | Yes | Your email address |
|
|
45
|
+
- **Example**:
|
|
46
|
+
```bash
|
|
47
|
+
curl "https://api.unpaywall.org/v2/10.1038/nature12373?email=user@example.com"
|
|
48
|
+
```
|
|
49
|
+
- **Response**: JSON with comprehensive OA information:
|
|
50
|
+
- `is_oa`: boolean indicating if any OA version exists
|
|
51
|
+
- `best_oa_location`: the best available OA copy with `url`, `url_for_pdf`, `evidence`, `host_type`, `license`, and `version`
|
|
52
|
+
- `oa_locations`: array of all known OA copies
|
|
53
|
+
- `oa_status`: gold, green, hybrid, bronze, or closed
|
|
54
|
+
- `title`, `doi`, `year`, `genre`, `journal_name`, `publisher`
|
|
55
|
+
|
|
56
|
+
### Batch DOI Lookup: Multiple Papers
|
|
57
|
+
|
|
58
|
+
- **URL**: `GET https://api.unpaywall.org/v2/{doi}` (repeated per DOI)
|
|
59
|
+
- **Parameters**:
|
|
60
|
+
| Param | Type | Required | Description |
|
|
61
|
+
|-------|------|----------|-------------|
|
|
62
|
+
| doi | string | Yes | One DOI per request (batch via multiple requests) |
|
|
63
|
+
| email | string | Yes | Your email address |
|
|
64
|
+
- **Example**:
|
|
65
|
+
```bash
|
|
66
|
+
# Process multiple DOIs sequentially
|
|
67
|
+
for doi in "10.1038/nature12373" "10.1126/science.aaa8685" "10.1016/j.cell.2015.05.002"; do
|
|
68
|
+
curl -s "https://api.unpaywall.org/v2/$doi?email=user@example.com" | jq '{doi: .doi, is_oa: .is_oa, oa_status: .oa_status, best_url: .best_oa_location.url}'
|
|
69
|
+
sleep 0.01
|
|
70
|
+
done
|
|
71
|
+
```
|
|
72
|
+
- **Response**: Same JSON structure as single lookup, for each DOI.
|
|
73
|
+
|
|
74
|
+
### Data Feed: Bulk Access
|
|
75
|
+
|
|
76
|
+
For large-scale analyses, Unpaywall provides a complete database snapshot and a weekly data feed, rather than requiring millions of individual API calls. Access is available at https://unpaywall.org/products/data-feed for registered users.
|
|
77
|
+
|
|
78
|
+
## Rate Limits
|
|
79
|
+
|
|
80
|
+
The API allows 100,000 requests per day (approximately 1.15 requests per second sustained). There is no strict per-second rate limit, so burst traffic is acceptable as long as the daily cap is respected. Exceeding the limit returns HTTP 429. For analyses requiring more than 100K lookups, use the Unpaywall Data Feed (database snapshot) instead.
|
|
81
|
+
|
|
82
|
+
## Common Patterns
|
|
83
|
+
|
|
84
|
+
### Check OA Status for a Reading List
|
|
85
|
+
|
|
86
|
+
Determine which papers in your reading list have freely available versions:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
curl -s "https://api.unpaywall.org/v2/10.1038/s41586-021-03819-2?email=user@example.com" | jq '{title: .title, is_oa: .is_oa, oa_status: .oa_status, pdf: .best_oa_location.url_for_pdf}'
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Find the Best Available PDF
|
|
93
|
+
|
|
94
|
+
Get a direct link to the best open access PDF for a paper:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
curl -s "https://api.unpaywall.org/v2/10.1145/3292500.3330672?email=user@example.com" | jq '.best_oa_location | {url: .url, pdf: .url_for_pdf, version: .version, license: .license}'
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Audit Open Access Compliance for a Grant
|
|
101
|
+
|
|
102
|
+
Check whether publications from a funded project comply with OA mandates:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# For each publication DOI from the grant
|
|
106
|
+
curl -s "https://api.unpaywall.org/v2/10.1038/nature12373?email=user@example.com" | jq '{doi: .doi, title: .title, is_oa: .is_oa, oa_status: .oa_status, locations: [.oa_locations[] | {host: .host_type, license: .license, version: .version}]}'
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## References
|
|
110
|
+
|
|
111
|
+
- Official documentation: https://unpaywall.org/products/api
|
|
112
|
+
- Unpaywall data format: https://unpaywall.org/data-format
|
|
113
|
+
- OurResearch: https://ourresearch.org/
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: altmetrics-guide
|
|
3
|
+
description: "Guide to altmetrics and research impact beyond traditional citations"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "chart"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "metadata"
|
|
9
|
+
keywords: ["altmetrics", "attention score", "social impact", "online mentions", "academic metrics"]
|
|
10
|
+
source: "wentor-research-plugins"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Altmetrics Guide
|
|
14
|
+
|
|
15
|
+
Understand and use alternative metrics (altmetrics) to measure the broader impact and reach of research outputs beyond traditional citation counts.
|
|
16
|
+
|
|
17
|
+
## What Are Altmetrics?
|
|
18
|
+
|
|
19
|
+
Altmetrics capture the online attention and engagement that research receives across diverse platforms. Unlike citation-based metrics (which can take years to accumulate), altmetrics provide near-real-time signals of how research is being discussed, shared, and used.
|
|
20
|
+
|
|
21
|
+
| Source Category | Examples | What It Measures |
|
|
22
|
+
|----------------|----------|------------------|
|
|
23
|
+
| Social media | Twitter/X, Facebook, Reddit, Weibo | Public discussion and sharing |
|
|
24
|
+
| News & blogs | Mainstream media, science blogs | Media coverage and science communication |
|
|
25
|
+
| Policy documents | Government reports, clinical guidelines | Policy relevance |
|
|
26
|
+
| Reference managers | Mendeley, Zotero readership | Academic readership and interest |
|
|
27
|
+
| Wikipedia | Article citations | Educational and encyclopedic use |
|
|
28
|
+
| Peer review | Publons, post-publication review | Formal and informal peer evaluation |
|
|
29
|
+
| Patents | Patent citations | Commercial and industrial relevance |
|
|
30
|
+
|
|
31
|
+
## Key Altmetric Providers and Scores
|
|
32
|
+
|
|
33
|
+
### Altmetric.com Attention Score
|
|
34
|
+
|
|
35
|
+
The Altmetric Attention Score is a weighted composite of online mentions:
|
|
36
|
+
|
|
37
|
+
| Source | Weight | Rationale |
|
|
38
|
+
|--------|--------|-----------|
|
|
39
|
+
| News outlets | 8 | Editorial curation, wide audience |
|
|
40
|
+
| Blog posts | 5 | Expert commentary |
|
|
41
|
+
| Wikipedia | 3 | Encyclopedic significance |
|
|
42
|
+
| Policy documents | 3 | Real-world impact |
|
|
43
|
+
| Twitter/X posts | 1 | Broad sharing but low barrier |
|
|
44
|
+
| Facebook posts | 0.25 | General public engagement |
|
|
45
|
+
| Reddit posts | 0.25 | Community discussion |
|
|
46
|
+
| Mendeley readers | 0 (separate) | Tracked but not in score |
|
|
47
|
+
|
|
48
|
+
### PlumX Metrics (Elsevier)
|
|
49
|
+
|
|
50
|
+
PlumX organizes metrics into five categories:
|
|
51
|
+
|
|
52
|
+
1. **Usage**: Downloads, views, library holdings
|
|
53
|
+
2. **Captures**: Bookmarks, readers, watchers
|
|
54
|
+
3. **Mentions**: Blog posts, news articles, reviews, Wikipedia
|
|
55
|
+
4. **Social Media**: Tweets, Facebook likes, Reddit activity
|
|
56
|
+
5. **Citations**: Scopus, CrossRef, patent citations
|
|
57
|
+
|
|
58
|
+
### Dimensions Badge
|
|
59
|
+
|
|
60
|
+
Dimensions provides citation counts alongside altmetric-style attention data, integrating grants, patents, clinical trials, and policy documents.
|
|
61
|
+
|
|
62
|
+
## Querying the Altmetric.com API
|
|
63
|
+
|
|
64
|
+
```python
|
|
65
|
+
import requests
|
|
66
|
+
|
|
67
|
+
# Look up altmetrics by DOI
|
|
68
|
+
doi = "10.1038/s41586-021-03819-2"
|
|
69
|
+
response = requests.get(f"https://api.altmetric.com/v1/doi/{doi}")
|
|
70
|
+
|
|
71
|
+
if response.status_code == 200:
|
|
72
|
+
data = response.json()
|
|
73
|
+
print(f"Title: {data.get('title')}")
|
|
74
|
+
print(f"Altmetric Score: {data.get('score')}")
|
|
75
|
+
print(f"Twitter mentions: {data.get('cited_by_tweeters_count', 0)}")
|
|
76
|
+
print(f"News mentions: {data.get('cited_by_msm_count', 0)}")
|
|
77
|
+
print(f"Blog mentions: {data.get('cited_by_feeds_count', 0)}")
|
|
78
|
+
print(f"Wikipedia mentions: {data.get('cited_by_wikipedia_count', 0)}")
|
|
79
|
+
print(f"Mendeley readers: {data.get('readers', {}).get('mendeley', 0)}")
|
|
80
|
+
print(f"Detail URL: {data.get('details_url')}")
|
|
81
|
+
else:
|
|
82
|
+
print("No altmetric data found for this DOI")
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Batch Queries
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
# Query multiple DOIs using the Altmetric Explorer API (requires subscription)
|
|
89
|
+
# Free API supports individual lookups by DOI, PubMed ID, or arXiv ID
|
|
90
|
+
|
|
91
|
+
# Look up by PubMed ID
|
|
92
|
+
pmid = "34234348"
|
|
93
|
+
response = requests.get(f"https://api.altmetric.com/v1/pmid/{pmid}")
|
|
94
|
+
|
|
95
|
+
# Look up by arXiv ID
|
|
96
|
+
arxiv_id = "2103.14030"
|
|
97
|
+
response = requests.get(f"https://api.altmetric.com/v1/arxiv/{arxiv_id}")
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Interpreting Altmetrics Responsibly
|
|
101
|
+
|
|
102
|
+
### What Altmetrics Tell You
|
|
103
|
+
|
|
104
|
+
- **Speed of dissemination**: How quickly research is being noticed
|
|
105
|
+
- **Audience breadth**: Whether attention comes from academics, media, public, or policymakers
|
|
106
|
+
- **Geographic reach**: Where in the world the work is being discussed
|
|
107
|
+
- **Interdisciplinary interest**: Engagement from unexpected fields
|
|
108
|
+
|
|
109
|
+
### What Altmetrics Do NOT Tell You
|
|
110
|
+
|
|
111
|
+
- **Quality**: High attention does not equal high quality (controversial or flawed papers can go viral)
|
|
112
|
+
- **Field-normalized comparison**: Raw scores are not comparable across disciplines
|
|
113
|
+
- **Gaming resistance**: Social media metrics can be artificially inflated
|
|
114
|
+
- **Comprehensive coverage**: Not all platforms and languages are tracked equally
|
|
115
|
+
|
|
116
|
+
## Best Practices for Using Altmetrics
|
|
117
|
+
|
|
118
|
+
1. **Combine with traditional metrics**: Use altmetrics alongside citation counts, h-index, and peer review to build a complete picture of impact.
|
|
119
|
+
2. **Context matters**: A score of 50 might be exceptional in pure mathematics but ordinary in public health. Check the "Compared to outputs of the same age" percentile.
|
|
120
|
+
3. **Report responsibly**: When including altmetrics in CVs or grant applications, explain what the numbers mean (e.g., "Top 5% of all research outputs tracked by Altmetric.com").
|
|
121
|
+
4. **Track over time**: Set up alerts for your publications to monitor engagement trends.
|
|
122
|
+
5. **Explore the sources**: Click through to see who is discussing your work and in what context. A single policy document mention may be more meaningful than 100 tweets.
|
|
123
|
+
|
|
124
|
+
## Tools for Tracking Your Research Impact
|
|
125
|
+
|
|
126
|
+
| Tool | Cost | Features |
|
|
127
|
+
|------|------|----------|
|
|
128
|
+
| Altmetric.com Bookmarklet | Free | One-click altmetrics for any paper |
|
|
129
|
+
| ImpactStory / OurResearch | Free | ORCID-based open access and impact profiles |
|
|
130
|
+
| Google Scholar Profile | Free | Citation tracking, h-index, i10-index |
|
|
131
|
+
| PlumX Dashboard | Institutional | Comprehensive multi-source tracking |
|
|
132
|
+
| Dimensions | Free tier | Citations + grants + patents + clinical trials |
|