Project

Spotify Batch Data Processing

Python project for extracting and processing data from Spotify Web API with OAuth 2.0 authentication and pagination strategies.

This projectSeptember 2025
Data Engineering · APIs · Python
Python, Spotify API, OAuth 2.0, REST APIs
LinksCode All projects
Spotify Batch Data Processing

Overview

A Python project demonstrating best practices for batch data extraction from the Spotify Web API. This serves as a foundation for music analytics, trend analysis, and recommendation systems.

Features

  • OAuth 2.0 Authentication: Token-based auth with automatic refresh
  • Paginated Data Retrieval: Two pagination strategies implemented
  • Rate Limit Handling: Built-in rate limiting awareness

API Endpoints Used

  • Browse New Releases
  • Get Album Tracks

Pagination Strategies

1. Offset-Based Pagination

1
2
# Manual calculation of next page
offset = offset + limit
  • More control over pagination logic
  • Useful for custom requirements

2. URL-Based Pagination

1
2
# Uses 'next' URL from API response
next_url = response['next']
  • Simpler implementation
  • Recommended approach

Rate Limiting

Spotify API uses dynamic rate limiting (30-second rolling window):

  • Configurable request intervals
  • Exponential backoff strategies
  • Request timing analysis

Future Enhancements

Data & Analytics

  • Audio features integration (tempo, energy, danceability)
  • Artist analytics and visualization dashboards

Technical

  • Database integration (PostgreSQL/MongoDB)
  • Docker containerization
  • Async processing

Machine Learning

  • Music recommendation algorithms
  • Genre classification models
  • Trend analysis and clustering

All projects → · The repository →

Tagantino AI - Smart Agriculture with Satellite Data

ETL pipelines and Deep Learning models to forecast droughts from satellite data, helping Moroccan farmers optimize water resources.

2025 · Deep Learning · Data Engineering · AWS · LLM · RAG