| name | scrape-fundraising |
| description | This skill should be used when the user asks to "scrape fundraising", "get funding data", "find new investments", "track crypto fundraising", "check RootData", or mentions Web3 fundraising rounds. Automates fundraising data collection from RootData using agent-browser CLI. |
Scrape Fundraising
Automate Web3 fundraising data collection from RootData using the agent-browser CLI.
Prerequisites
agent-browser CLI installed and accessible
- Run
agent-browser --help to verify installation
Core Workflow
Step 1: Navigate to RootData Fundraising
agent-browser open https://www.rootdata.com/Fundraising
Wait for page load and take snapshot:
agent-browser snapshot -i
Step 2: Apply Token Issuance Filter
Filter for projects without tokens (higher airdrop potential):
-
Expand Token Issuance menu:
- Find and click the "Token Issuance" collapse button
- Look for element with
role="tab" containing "Token Issuance"
agent-browser click @e[token-issuance-ref]
-
Wait for menu expansion:
agent-browser snapshot -i
-
Select "No Token" option:
- Find radio button with "No Token" label
agent-browser click @e[no-token-ref]
-
Wait for table reload:
agent-browser snapshot -i
Step 3: Extract Today's Projects
Current date: Use date command to get today's date.
For each table row, check if the date matches today:
JavaScript extraction:
const rows = document.querySelectorAll('tr[role="row"]');
const todayProjects = [];
rows.forEach(row => {
const dateCell = row.querySelector('[aria-colindex="5"]');
if (dateCell && dateCell.innerText.includes('Jan 26')) {
const projectLink = row.querySelector('a[href*="/Projects/detail/"]');
if (projectLink) {
todayProjects.push(projectLink.href);
}
}
});
return todayProjects;
Step 4: Extract Project Details
For each project URL found:
-
Navigate to project page:
agent-browser open https://www.rootdata.com/Projects/detail/ProjectName?k=xxx
-
Extract data fields:
| Field | Selector | Description |
|---|
name | h1.name | Project name |
official_website | .links a[href^="http"] | Official website (exclude social) |
twitter_url | .links a[href*="x.com"] | X/Twitter link |
total_raised | .rank_value in "Total Raised" | Funding amount |
investors | .investor_item_name | List of investors |
tags | .chips in Tags section | Project categories |
founded_year | .info_text in Founded section | Year founded |
Step 5: Check Premium Investors
Compare investors against premium list:
Premium Investors:
- Coinbase Ventures, Galaxy, VanEck, Y Combinator
- Polychain Capital, YZi Labs, Pantera Capital
- Blockchain Capital, Paradigm, Sequoia Capital
- Andreessen Horowitz (a16z), Dragonfly
- BlackRock, Circle, ConsenSys
- Vitalik Buterin, Balaji Srinivasan
Mark is_premium: true if any investor matches (case-insensitive, partial match allowed).
Step 6: Compile Results
Output format (JSON):
{
"scraped_at": "2025-01-26T12:00:00Z",
"source": "RootData",
"filter": "No Token",
"projects": [
{
"name": "Project Name",
"official_website": "https://project.com",
"twitter_url": "https://x.com/project",
"total_raised": "$5M",
"investors": ["Investor1", "Investor2"],
"tags": ["DeFi", "Infrastructure"],
"founded_year": "2024",
"is_premium": true
}
]
}
Step 7: Generate Report
Markdown format:
# Today's Crypto Fundraising - Jan 26, 2025
---
## Project Name ā
**Website:** [project.com](https://project.com)
**Twitter:** [@project](https://x.com/project)
**Total Raised:** $5M
**Investors:** Investor1, Investor2
**Tags:** DeFi, Infrastructure
**Founded:** 2024
**Premium:** ā
---
Formatting rules:
- Add ā after project name if
is_premium: true
- Use
--- horizontal rule between projects
- Show website domain as link text
- Extract Twitter handle from URL
Save files:
fundraising-YYYY-MM-DD.md
fundraising-YYYY-MM-DD.json
Step 8: Send Notification (Optional)
If telegram-notification MCP is configured:
Tool: mcp__telegram-notification__send_notification
Parameters:
message: "š° Fundraising Report - Jan 26\n\nš 3 New Projects\nā 1 Premium\n\nTop: ProjectA ($10M by a16z)"
parse_mode: "Markdown"
agent-browser Quick Reference
| Command | Purpose |
|---|
agent-browser open <url> | Navigate to page |
agent-browser snapshot -i | Get interactive elements |
agent-browser click @e1 | Click element |
agent-browser evaluate "js" | Execute JavaScript |
Error Handling
- If project page fails, skip and continue with next
- If field is missing, display "N/A"
- Handle date format variations (e.g., "Jan 26" vs "Jan 26, 2025")
- Retry navigation once on failure
Output Location
Save reports to current directory or specified path:
- Default:
./fundraising-YYYY-MM-DD.{md,json}