home / skills / lukeslp / dreamer-skills / data-fetch
This skill fetches and aggregates data from 17 external APIs, providing structured results and cross-source insights for research and decision making.
npx playbooks add skill lukeslp/dreamer-skills --skill data-fetchReview the files below or copy the command above to add this skill to your agents.
---
name: data-fetch
description: Fetch and aggregate data from 17 external APIs including Census, arXiv, NASA, Wikipedia, PubMed, and GitHub.
version: 1.0.0
---
# Data Fetch
You are fetching and aggregating data from multiple external sources using the shared library's DataFetchingFactory. This skill provides access to 17 structured API clients.
## Available Data Sources
| Source | Client | Best For |
|--------|--------|----------|
| **Academic** | | |
| arXiv | `arxiv` | Research papers, preprints |
| Semantic Scholar | `semantic_scholar` | Academic citations, papers |
| PubMed | `pubmed` | Medical/biomedical research |
| **Government** | | |
| Census Bureau | `census` | Demographics, economic data |
| FEC | `fec` | Campaign finance |
| Judiciary | `judiciary` | Court records, cases |
| **Web/News** | | |
| Wikipedia | `wikipedia` | General knowledge |
| News APIs | `news` | Current events |
| Archive.org | `archive` | Historical web content |
| **Tech** | | |
| GitHub | `github` | Repositories, code |
| YouTube | `youtube` | Video content, transcripts |
| **Scientific** | | |
| NASA | `nasa` | Space, astronomy data |
| Wolfram Alpha | `wolfram` | Computational answers |
| **Other** | | |
| Finance | `finance` | Stock data, markets |
| Weather | `weather` | Weather forecasts |
| OpenLibrary | `openlibrary` | Books, authors |
| MyAnimeList | `myanimelist` | Anime/manga data |
## Execution Strategy
### Single Source Query
```python
from data_fetching import DataFetchingFactory
factory = DataFetchingFactory()
client = factory.create_client('arxiv')
results = await client.search("quantum computing", max_results=10)
```
### Multi-Source Aggregation (PARALLEL)
```python
import asyncio
sources = ['arxiv', 'wikipedia', 'news']
tasks = [factory.create_client(s).search(query) for s in sources]
results = await asyncio.gather(*tasks)
```
## Source Selection Guide
| Query Type | Recommended Sources |
|------------|---------------------|
| Academic research | arxiv, semantic_scholar, pubmed |
| Current events | news, wikipedia |
| Technical/code | github, stackoverflow |
| Demographics | census |
| Historical | archive, wikipedia |
| Scientific facts | nasa, wolfram |
| Books/literature | openlibrary |
## Output Format
```
📊 DATA FETCH RESULTS
Query: {query}
Sources: {sources_used}
Date: {timestamp}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SOURCE: {source_name}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Results: {count}
1. {title}
- {metadata}
- URL: {url}
2. {title}
...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
AGGREGATED INSIGHTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Cross-Source Themes:
1. {theme} - Found in: {sources}
2. {theme} - Found in: {sources}
Conflicts/Discrepancies:
- {source1} says X, {source2} says Y
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CITATIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[1] {citation}
[2] {citation}
```
## Integration with Orchestrators
For complex research, combine with orchestration:
```
/data-fetch → provides raw data
↓
DreamCascade → synthesizes findings
↓
/data-artist → visualizes results
```
## Key Principles
1. **Parallel fetching** - Query multiple sources simultaneously
2. **Source attribution** - Always cite data origins
3. **Deduplication** - Merge overlapping results
4. **Rate limiting** - Respect API limits per client
5. **Caching** - Use MCP cache for repeated queries
## Common Workflows
```
# Census demographics
/data-fetch census "housing prices by county"
# Academic research
/data-fetch arxiv,pubmed "CRISPR gene editing"
# Tech exploration
/data-fetch github "machine learning frameworks" --stars >1000
# Current events
/data-fetch news,wikipedia "climate summit 2026"
```
## Related Skills
- `/data-artist` - Visualize fetched data beautifully
- `/quality-audit` - Verify data quality and validate findings
This skill fetches and aggregates data from 17 external APIs including Census, arXiv, NASA, Wikipedia, PubMed, and GitHub. It exposes a unified client factory that lets you run single-source queries or parallel multi-source retrievals and returns deduplicated, attributed results. The output emphasizes cross-source insights, discrepancies, and citations to support further analysis or visualization. It is designed for research, reporting, and data-driven workflows.
The skill uses a DataFetchingFactory to instantiate per-source clients (arxiv, census, github, etc.) and supports async calls so multiple sources can be queried in parallel. Results are merged, deduplicated, and annotated with source attribution and metadata. Built-in strategies include rate-limit awareness, optional caching, and an output template that highlights aggregated themes, conflicts, and citations. Clients expose search and specialized endpoints tailored to each API’s strengths.
Can I query multiple sources at once?
Yes. The factory supports async parallel queries across any combination of supported clients and returns aggregated results.
How are conflicts between sources handled?
The output flags discrepancies and lists source-specific claims so you can inspect, reconcile, or prioritize trusted sources.
Is there built-in rate limiting and caching?
Clients are designed with rate-limit awareness and you can enable the shared cache to reduce repeated external calls.