Skip to main content

casased

casased logo

casased — Casablanca Stock Exchange Data Retriever

A Python library to retrieve historical and intraday data from the Casablanca Stock Exchange (Bourse de Casablanca) using the Medias24 API.

PyPI version License: MIT

Features

  • 📈 Historical Data: Daily OHLCV data for all listed stocks
  • 📊 Index Data: MASI and MSI20 historical data
  • ⏱️ Intraday Data: Real-time intraday prices
  • 🏦 Multiple Assets: Load data for multiple stocks at once
  • ⚖️ Index Weights: Market index weights (pondération)
  • 🔤 Asset Aliases: Support for common ticker aliases (CFG, CMG, IAM, MDP, SAM)

Note: Some features (getCours, getKeyIndicators, getDividend, getIndex, getIndexRecap) are temporarily unavailable due to website changes. See ROADMAP.md for details.

Installation

pip install casased

Cloudflare Bypass (Optional)

If you encounter 403 errors due to Cloudflare protection, install browser automation tools:

# Install with browser automation support
pip install casased[cloudflare]

# Or install manually
pip install nodriver seleniumbase

The library will automatically use headless browser automation as a fallback when direct API requests fail.

Quick Start

import casased as cas

# List available assets
assets = cas.notation()

# Get historical data for a stock
df = cas.get_history('BCP', start='2024-01-01', end='2024-12-31')

# Get MASI index history
masi = cas.get_history('MASI')

# Load multiple assets
banks = cas.loadmany(['BCP', 'CIH', 'Attijariwafa'], start='2024-01-01', end='2024-12-31')

# Get intraday data
intraday = cas.get_intraday('BCP')

API Reference

Historical Data

get_history(identifier, start=None, end=None)

Get historical daily data for a stock or index.

# Stock data
df = cas.get_history('Addoha', start='2024-01-01', end='2024-06-30')

# Index data
masi = cas.get_history('MASI')
msi20 = cas.get_history('MSI20')

Returns: DataFrame with columns: Value, Min, Max, Variation, Volume

loadmany(*assets, start=None, end=None, feature='Value')

Load data for multiple assets.

# Load closing prices
df = cas.loadmany(['BCP', 'CIH', 'BOA'], start='2024-01-01', end='2024-12-31')

# Load volumes
volumes = cas.loadmany(['BCP', 'CIH'], feature='Volume')

Intraday Data

get_intraday(identifier)

Get intraday prices for a stock or index.

# Stock intraday
intraday = cas.get_intraday('BCP')

# Market intraday
market = cas.get_intraday('MASI')

Company Information

⚠️ Temporarily Unavailable: The following functions are currently deprecated due to changes in the casablanca-bourse.com website structure. They return empty dictionaries with deprecation warnings. See ROADMAP.md for restoration timeline.

getCours(name) (deprecated)

Get session data, latest transactions, and order book.

cours = cas.getCours('BOA')  # Returns {} with deprecation warning

getKeyIndicators(name) (deprecated)

Get company key indicators and financial ratios.

indicators = cas.getKeyIndicators('Attijariwafa')  # Returns {} with deprecation warning

getDividend(name) (deprecated)

Get dividend history.

dividends = cas.getDividend('BOA')  # Returns {} with deprecation warning

Market Overview

getIndex() (deprecated)

Get all index summaries.

index = cas.getIndex()  # Returns {} with deprecation warning

getPond()

Get index weights (pondération).

weights = cas.getPond()

getIndexRecap() (deprecated)

Get session recap with top gainers/losers.

recap = cas.getIndexRecap()  # Returns {} with deprecation warning

Utilities

notation()

Get list of all available asset names.

assets = cas.notation()

get_isin_by_name(name)

Get ISIN code for an asset. Supports aliases like CFG, CMG, IAM, MDP, SAM.

isin = cas.get_isin_by_name('BCP')  # Returns 'MA0000011884'
isin = cas.get_isin_by_name('IAM')  # Returns 'MA0000011488' (alias for Maroc Telecom)

Data Sources

Requirements

  • Python 3.7+
  • requests
  • beautifulsoup4
  • pandas
  • lxml

Example Notebook

Open In Colab

See casased_exemple.ipynb for a complete demonstration of all features.

Release Notes

  • v0.2.0 — 2026-01-14 — Added asset aliases (CFG, CMG, IAM, MDP, SAM), deprecated broken scraping functions, updated HPS ISIN, added ROADMAP.md
  • v0.1.2 — 2026-01-06 — Documentation cleanup, branding updates
  • v0.1.1 — 2026-01-06 — Remove demo videos, update branding
  • v0.1.0 — Initial release

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License — see LICENSE for details.

Contact

Metadata

Release files for casased 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for casased 0.2.2
File Size Uploaded
casased-0.2.2.tar.gz 20.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for casased 0.2.2
File Interpreter ABI Platform
casased-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 37.8 kB

Release files / casased-0.2.2.tar.gz

Download URL casased-0.2.2.tar.gz
Size 20.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4f8bac15813cd88761742bb6d7153610dc3a0ba609f95f4d184c33c2dbb7ecfe
BLAKE2b-256 checksum
How to use checksums
9d2e36de4ab1e2a5ac4e7b19a8686734ecbb9a9d5ff13b322a7ab6c7b495360b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release files / casased-0.2.2-py3-none-any.whl

Download URL casased-0.2.2-py3-none-any.whl
Size 17.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1b2dda6ebe8cce99c341d29c2bb3f1eef8db4332f04b2dd521d124b1f1bf5991
BLAKE2b-256 checksum
How to use checksums
2769d4b3f0336acd31497f15522b7ac9ed7b150ca783b01e7179d9cc645a66d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page