Bitcoin Price Data
Files | Size | Format | Created | Updated | License | Source |
---|---|---|---|---|---|---|
1 | 24.3 kB | csv | 10 days ago | Creative Commons Attribution 4.0 International | CoinGecko API |
Daily Bitcoin price, market capitalization, and trading volume data from CoinGecko API
Data Files
File | Description | Size | Last modified | Download |
---|---|---|---|---|
bitcoin-prices | Daily Bitcoin price, market cap, and volume data | 24.3 kB | bitcoin-prices |
Data Previews
Bitcoin Daily Prices
Schema
name | type | description | title |
---|---|---|---|
date | date | Date of price data (YYYY-MM-DD) | Date |
datetime | datetime | Full timestamp of price data | DateTime |
price | number | Bitcoin price in US Dollars | Price (USD) |
market_cap | integer | Total market capitalization in USD | Market Capitalization |
volume | integer | 24-hour trading volume in USD | 24h Trading Volume |
🪙 Bitcoin Price Data Package
An automated Data Package for collecting, processing, and visualizing Bitcoin price data using the Frictionless Data standard.
📊 Dataset Overview
This Data Package provides comprehensive Bitcoin market data including:
- Daily price data (USD)
- Market capitalization
- 24-hour trading volume
- Historical trends (1 year lookback)
Data is automatically collected from the CoinGecko API and follows the Frictionless Data Package standard.
🚀 Quick Start
Prerequisites
pip install -r scripts/requirements.txt
Data Collection
# Collect Bitcoin price data
python scripts/collect_bitcoin_data.py
# Generate visualizations
python scripts/create_visualizations.py
Validation
# Validate the Data Package
frictionless validate datapackage.json
📁 Project Structure
bitcoin-price-datapackage/
├── datapackage.json # Data Package descriptor
├── README.md # This file
├── data/
│ ├── raw/ # Raw API responses
│ │ ├── current_price_*.json
│ │ └── historical_data_*.json
│ └── processed/ # Cleaned CSV data
│ └── bitcoin_prices.csv # Main dataset
├── scripts/
│ ├── collect_bitcoin_data.py # Data collection script
│ ├── create_visualizations.py # Visualization generator
│ └── requirements.txt # Python dependencies
└── visualizations/
├── bitcoin_dashboard.html # Interactive dashboard
├── bitcoin_price_chart.html # Price & volume chart
├── bitcoin_market_cap.html # Market cap chart
└── bitcoin_gauge.html # Current price gauge
📈 Data Schema
Field | Type | Description |
---|---|---|
date | date | Date of price data (YYYY-MM-DD) |
datetime | datetime | Full timestamp with time |
price | number | Bitcoin price in USD |
market_cap | integer | Total market capitalization in USD |
volume | integer | 24-hour trading volume in USD |
🎨 Visualizations
The package includes several interactive visualizations:
-
📊 Main Dashboard (
bitcoin_dashboard.html
)- Combined price, volume, and market cap charts
- Key statistics and metrics
- Real-time price gauge
-
📈 Price Chart (
bitcoin_price_chart.html
)- Daily price trends
- Trading volume overlay
-
💰 Market Cap Chart (
bitcoin_market_cap.html
)- Market capitalization over time
-
⏱️ Price Gauge (
bitcoin_gauge.html
)- Current price vs yearly range
🔄 Automation
Manual Updates
python scripts/collect_bitcoin_data.py
python scripts/create_visualizations.py
Scheduled Updates
Using Cron (Linux/Mac)
# Add to crontab for daily updates at 9 AM
0 9 * * * cd /path/to/bitcoin-price-datapackage && python scripts/collect_bitcoin_data.py
Using GitHub Actions
Create .github/workflows/update-data.yml
:
name: Update Bitcoin Data
on:
schedule:
- cron: "0 9 * * *" # Daily at 9 AM UTC
workflow_dispatch:
jobs:
update-data:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.9"
- name: Install dependencies
run: pip install -r scripts/requirements.txt
- name: Collect data
run: python scripts/collect_bitcoin_data.py
- name: Create visualizations
run: python scripts/create_visualizations.py
- name: Commit changes
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add -A
git commit -m "Update Bitcoin data $(date)" || exit 0
git push
📊 Data Sources
- CoinGecko API: https://api.coingecko.com/api/v3
- Free tier: 10-30 calls/minute
- No API key required
- Comprehensive cryptocurrency data
🔍 Data Quality
Validation Checks
- ✅ Schema validation with Frictionless
- ✅ Data type verification
- ✅ Missing value handling
- ✅ Timestamp consistency
- ✅ Price range validation
Error Handling
- Network timeout handling
- API rate limit respect
- Data consistency checks
- Graceful error recovery
📄 License
This Data Package is made available under the Creative Commons Attribution 4.0 International License.
Data Sources License
- CoinGecko API data is used under their Terms of Service
🤝 Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run validation:
frictionless validate datapackage.json
- Submit a pull request
📞 Support
- Issues: Create an issue on GitHub
- Data Package Spec: https://datapackage.org/
- CoinGecko API: https://www.coingecko.com/en/api
🏷️ Version History
- v1.0.0: Initial release with daily price collection and basic visualizations
Created as part of the Datopian tech onboarding process - turning awesome data into Frictionless Data Packages! 🚀