Logo

Bitcoin Price Data

FilesSizeFormatCreatedUpdatedLicenseSource
124.3 kBcsv10 days agoCreative Commons Attribution 4.0 InternationalCoinGecko API

Daily Bitcoin price, market capitalization, and trading volume data from CoinGecko API

Read more

Data Files

FileDescriptionSizeLast modifiedDownload
bitcoin-prices
Daily Bitcoin price, market cap, and volume data24.3 kB
bitcoin-prices

Data Previews

Bitcoin Daily Prices

Schema

nametypedescriptiontitle
datedateDate of price data (YYYY-MM-DD)Date
datetimedatetimeFull timestamp of price dataDateTime
pricenumberBitcoin price in US DollarsPrice (USD)
market_capintegerTotal market capitalization in USDMarket Capitalization
volumeinteger24-hour trading volume in USD24h Trading Volume

🪙 Bitcoin Price Data Package

An automated Data Package for collecting, processing, and visualizing Bitcoin price data using the Frictionless Data standard.

Bitcoin Data Package Python

📊 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.

image image

🚀 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

FieldTypeDescription
datedateDate of price data (YYYY-MM-DD)
datetimedatetimeFull timestamp with time
pricenumberBitcoin price in USD
market_capintegerTotal market capitalization in USD
volumeinteger24-hour trading volume in USD

🎨 Visualizations

The package includes several interactive visualizations:

  1. 📊 Main Dashboard (bitcoin_dashboard.html)

    • Combined price, volume, and market cap charts
    • Key statistics and metrics
    • Real-time price gauge
  2. 📈 Price Chart (bitcoin_price_chart.html)

    • Daily price trends
    • Trading volume overlay
  3. 💰 Market Cap Chart (bitcoin_market_cap.html)

    • Market capitalization over time
  4. ⏱️ 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

🔍 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

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run validation: frictionless validate datapackage.json
  5. Submit a pull request

📞 Support

🏷️ 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! 🚀

© 2025 All rights reservedBuilt with DataHub Cloud

Built with LogoDataHub Cloud