# brvmdata > Dated, sourced public BRVM and WAEMU market data: equities, indices, bonds, government debt, rates, currencies, commodities, document registries and official news. French and English pages, CSV downloads, RSS feeds and documented JSON resources. Use the catalog to choose a dataset and verify its file digest. Cite the original source and observation date, not the metadata generation time. Free access does not establish an open licence or redistribution permission; source terms and unresolved rights still apply. No investment advice and no real-time guarantee. llms.txt is a proposed discovery convention, not a guarantee of indexing or ranking. Catalog metadata generated: 2026-11-10T22:47:50+00:00. Data edition: 2026-11-10T22:45:15+00:00. ## Start here - [Agent guide (English Markdown)](https://brvmdata.com/en/agents/index.md): Public GET contracts, executable examples, provenance and interpretation rules. - [Guide agents (français Markdown)](https://brvmdata.com/agents/index.md): Formats, dates, unités, rapprochements et citations. - [Site index (English Markdown)](https://brvmdata.com/en/plan/index.md): All generated public pages by section. - [Index du site (français Markdown)](https://brvmdata.com/plan/index.md): Toutes les pages publiques générées. - [Page index JSON](https://brvmdata.com/data/pages.json): Page titles, languages, descriptions, canonical and Markdown URLs. ## Data catalog and downloads - [Dataset catalog v1](https://brvmdata.com/data/catalog.json): Actual exported fields, counts, units, coverage, joins, source terms and file hashes. - [Catalog JSON Schema](https://brvmdata.com/data/catalog.schema.json): Required fields and null semantics. - [Sources and downloads](https://brvmdata.com/en/donnees/): Dataset landing pages and source-specific usage terms. - [Equity bulletin data](https://brvmdata.com/en/donnees/boc-equities/): Official bulletin quotes and available CSV variants. - [Original bulletin documents](https://brvmdata.com/en/donnees/boc-documents/): Source URLs and document retrieval dates. - [Security search](https://brvmdata.com/data/search.json): Resolve symbols, names and ISINs to canonical pages. - [SNTS chart JSON](https://brvmdata.com/data/actions/snts.json): Split-adjusted close and volume arrays, optional provisional boundary and official events (e). - [BRVM Composite chart JSON](https://brvmdata.com/data/indices/brvm-composite.json): Dated index levels. - [Observed market data v2](https://brvmdata.com/live.json): Per-symbol/index timestamps and intraday/closing/unknown basis. - [boc_equities CSV](https://brvmdata.com/telechargements/boc_equities.csv): Verify its current size and SHA-256 in the catalog. - [com_commodity_monthly CSV](https://brvmdata.com/telechargements/com_commodity_monthly.csv): Verify its current size and SHA-256 in the catalog. - [boc_documents CSV](https://brvmdata.com/telechargements/boc_documents.csv): Verify its current size and SHA-256 in the catalog. ## Official news - [Official news river (English)](https://brvmdata.com/en/actualites/): Dated official documents of the last twelve months, titles as published, links to the original documents; year archives. - [Official news RSS (English labels)](https://brvmdata.com/en/actualites/rss.xml): The latest 100 items; French labels at https://brvmdata.com/actualites/rss.xml. - [Company news RSS, SNTS](https://brvmdata.com/en/actions/snts/rss.xml): The latest 50 items linked to one share; pattern /en/actions//rss.xml, every listed or delisted share. ## Documentation - [Extended interface guide and dataset summaries](https://brvmdata.com/llms-full.txt): Documentation and catalog fields, not all site page text or raw market rows. - [Methods and legal notice](https://brvmdata.com/en/a-propos/): Methodology and limits. - [Source-specific terms](https://brvmdata.com/en/donnees/#licence): Free access is not an open licence. ## Detailed interface guide # Using the data with an agent Practical guide to brvmdata public interfaces: catalog, CSV, chart JSON, dated observations, official-news RSS feeds and original-source citations. Public GET access without authentication. These are documents and files: no server-query API, remote SQL or mutation endpoint. Observations are periodic, not guaranteed real-time. No investment advice. ## Start here - [Complete site index]() - [Markdown index]() - [Page index (JSON)]() - [Dataset catalog v1]() - [JSON Schema 2020-12]() - [Sources, files and terms]() - [This guide in Markdown]() - [Official news RSS feed]() - [Proposed discovery: llms.txt]() - [Guide and full dataset summaries]() llms.txt is a proposed discovery convention, not a universal API standard, reuse permission or a guarantee of indexing or ranking. ## Formats and edition consistency The catalog versions its contract (schema\_version), not download URLs. data\_edition\_at identifies the data edition; metadata\_generated\_at dates the description. Each dataset gives actual exported columns, row count, known units, coverage, join hints and existing files with size and SHA-256. A stable URL can change content; several GETs are not an atomic transaction. Verify size and digest; on mismatch refetch catalog and file without stale cache rather than mixing editions. CSV: UTF-8, comma separator, decimal point, first-row header. storage\_type is the declared storage type, type its affinity; encoding is CSV text. Read identifiers as strings first. compression=null means uncompressed CSV; gzip means a .csv.gz file to decompress. The digest covers downloaded file bytes before decompression. Unknown unit or basis is null. primary\_key=null means no general uniqueness guarantee. ``` import csv, gzip, hashlib, io, json from urllib.request import urlopen BASE = "https://brvmdata.com" def get_json(path): with urlopen(BASE + path, timeout=30) as response: return json.load(response) catalog = get_json("/data/catalog.json") assert catalog["schema_version"] == 1 datasets = {d["table"]: d for d in catalog["datasets"]} def rows(name): dataset = datasets[name] variants = dataset["distributions"] download = next((d for d in variants if d["compression"] is None), variants[0]) with urlopen(download["download_url"], timeout=60) as response: raw = response.read() if (len(raw) != download["byte_size"] or hashlib.sha256(raw).hexdigest() != download["sha256"]): raise RuntimeError("Edition changed: refetch catalog and file without stale cache") if download["compression"] == "gzip": raw = gzip.decompress(raw) return list(csv.DictReader(io.StringIO(raw.decode("utf-8")))) ``` ## 1. Resolve SNTS, then read its history search.json is a list: u=canonical French path, n=name, k=kind, s=symbol, i=ISIN, x=extra text; empty keys are omitted. Do not confuse an equity symbol with a bond symbol. In the chart: s=symbol, d=dates, c=closes, v=volumes; arrays align by position. Optional prov is the first provisional date. Optional e lists the company's official events within the chart's period, oldest first: \[publication date, type (results, dividend, agm, capital or listing), title as published, original document URL or null\]; at most the latest 300. Equity closes and volumes are split-adjusted and merge BOC, bfin and provisional closes; this is neither raw CSV nor a dividend-reinvested total-return series. ``` search = get_json("/data/search.json") security = next(item for item in search if item.get("s") == "SNTS" and item["k"] in ("action", "radiee")) print(BASE + security["u"], security["n"], security.get("i")) chart = get_json("/data/actions/" + security["s"].lower() + ".json") if chart["d"]: print(chart["s"], chart["d"][-1], chart["c"][-1], chart["v"][-1]) ``` For indices choose a k=indice result and use the slug in u: /data/indices/<slug>.json (example below). s is the index name, c its levels, v is optional. Some v zeroes also represent missing or provisional volume: do not automatically read them as no trading. Old index families and new bases cannot be spliced without a method. [BRVM COMPOSITE JSON]() ## 2. Latest official equity board Filter boc\_equities on its maximum date after keeping active bulletins. This is the latest available bulletin session, not necessarily the newest intraday observation. Preserve missing values, document\_id and bulletin parse status; do not copy a prior quote as a new close. ``` bulletins = {r["document_id"]: r for r in rows("boc_bulletins") if r["status"] == "active"} quotes = [r for r in rows("boc_equities") if r["document_id"] in bulletins] latest_date = max(r["trading_date"] for r in quotes) board = [r for r in quotes if r["trading_date"] == latest_date] print("Official bulletin board:", latest_date) for quote in board: print(quote["symbol"], quote["close_price"] or None, quote["volume"] or None, quote["document_id"]) ``` ## 3. Cite the original document Join document\_id to id in the same source's <prefix>\_documents registry (here boc\_documents). IDs are not global. A citation preserves the original PDF URL, session, document date, retrieval and data edition; it can also link the brvmdata dataset landing page. Actually check the document: a recorded URL or HTTP 200 does not prove a complete PDF is available. ``` quote = next(r for r in board if r["symbol"] == "SNTS") documents = {r["id"]: r for r in rows("boc_documents")} document = documents[quote["document_id"]] print({"symbol": quote["symbol"], "session_date": quote["trading_date"], "close_price_xof": quote["close_price"] or None, "source_url": document["source_url"], "document_date": document["doc_date"], "retrieved_at": document["retrieved_at"], "data_edition_at": catalog["data_edition_at"], "dataset_url": datasets["boc_equities"]["landing_urls"]["en"]}) ``` [AMF document-check sample]() ## 4. Read a /live.json v2 observation The document separates market state from the last observation of each symbol or index. equities is keyed by symbol, indices by name (an entry may be null). Their observed\_at, fetched\_at, session\_date and basis belong to each observation. basis is intraday, closing or unknown. Never re-date a quote with the top-level clock or turn closed into closing; an empty closing screen may retain an older intraday quote. Session indicators, bulletin ratios and histories retain their own dates. ``` live = get_json("/live.json") assert live["schema_version"] == 2 quote = live.get("equities", {}).get("SNTS") if quote is not None: print({key: quote.get(key) for key in ("price_last", "change_pct", "volume", "observed_at", "fetched_at", "session_date", "basis", "market_status")}) # live["observed_at"] describes the market-state screen, not every quote. # basis is intraday, closing or unknown; closed alone does not imply closing. ``` price\_last, price\_prev and price\_open are XOF per share, change\_pct is percent, volume is a security count; level is an index level. paths contains observed intraday \[HH:MM UTC, price\] pairs for the top-level screen date only; not a continuous history or a manufactured close. A missing symbol means unavailable observation, not zero. ## 5. Follow official news (RSS) RSS 2.0 feeds: /actualites/rss.xml (the latest 100 items, every source) and /actions/<lower-case symbol>/rss.xml (a company's latest 50), French labels; the same paths under /en/ for English labels. Every listed or delisted share has a feed, possibly empty. An item gives the title as published, link = the original document's URL at its source, pubDate = publication date (midnight UTC when only the day is known), a stable non-permalink guid (brvmdata:<source>:<id>), category = type, description = type · company (symbol) · source · also: other sources of the same event · via brvmdata. No document body is copied. lastBuildDate is the feed's newest publication, not the generation time. Official sources only: listed-company filings and announcements and BRVM notices, the official bulletin, AMF-UMOA, debt offices, BCEAO. Company links come from the source's explicit key or the exact name printed by the BRVM; an ambiguous name (group, missing country) stays unlinked, so a missing symbol does not prove a document concerns no company. One event published by several sources is one item, with the company document's guid; a bulletin notice published before that document can therefore give way to a new guid. Bond coupon and redemption payment notices are left out (coupon calendar on /obligations/). Poll at most a few times an hour, with If-None-Match or If-Modified-Since. - [All official news]() - [One company: SNTS]() ## Interpretation rules - Dates: trading session, observation, publication, effective date, ex-date, maturity, retrieval and metadata generation are distinct. Coverage bounds do not guarantee continuity; schedules may extend into the future. - Joins: preserve source identifiers and dates. Normalize case/whitespace when comparing ISINs, never arbitrarily strip characters or join on a name alone. Check cardinality before aggregating; link\_issuer\_symbols carries method and confidence. For fund\_annual/fund\_quarterly, source refers to fil\_filings.filing\_id, then document\_id to fil\_documents.id. - Missing values: null and empty cells are not zero. An explicit zero also does not prove no activity where the chart contract documents a placeholder. Do not interpolate missing sessions, yields or quotes. - Units: \_xof is XOF; \_millions is XOF millions; \_bn is XOF billions. Accounts are in millions, per-share dividends in XOF. A page may display a different scale from its CSV. For com\_commodity\_monthly.value and macro indicators, read unit on every row; never assume USD or XOF for an entire table. - Dividends and accounts: distinguish gross, net, tax/IRVM, shareholder category, standalone/consolidated accounts and pre/post-split share basis. An announced amount is not automatically net. Preserve cumulative status, fiscal year, period, source and confidence; never add overlapping cumulative periods. - Point-in-time history: published\_date\_imputed, published\_date\_evidence, pit\_excluded, restated\_values and flags identify limitations and revisions. An imputed publication date does not prove historical availability; pit\_excluded=true excludes an observation from point-in-time analysis. The fund datasets are closed; a new catalog edition does not mean new accounts. - Bulletins and approvals: official history is incomplete, parse\_status may be partial; check the PDF. Provisional sessions are not official bulletins. amf\_issue\_visas retains raw versions: conflicting amounts and repeated approvals are not additive; the New issues page reconciles approvals but does not turn approval into completed fundraising. ## Bounded requests and reuse Choose needed files from the catalog, bound concurrent requests, reuse a local copy and honor Cache-Control. File responses may provide ETag and Last-Modified: reuse these validators with If-None-Match or If-Modified-Since and accept 304. Do not assume external sources support those headers; inspect their responses. No guaranteed quota or high-frequency query service is advertised. Access to brvmdata is free; this is not a redistribution licence for its sources. Publicly accessible documents are not automatically openly licensed. The review below distinguishes express permissions, restrictions and rights not established. Cite the original source and brvmdata without implying endorsement. Permission not established does not mean a proven prohibition. For restricted or uncertain uses, the publisher must establish the applicable basis: a contract or permission covering public display, histories, CSV files and intraday data, or legal advice on the permitted scope. Attribution alone does not replace required permission. Third-party rights and privacy obligations still apply. No warranty: the data is reproduced and normalised automatically and may contain errors; check any figure against the source document before relying on it. Nothing here is investment advice. [Detailed source-specific terms]() Catalog metadata generated at 2026-11-10T22:47:50+00:00; data edition: 2026-11-10T22:45:15+00:00 --- [Canonical page]() ## Dataset catalog summaries Every table below has a stable identity and bilingual landing page. Coverage bounds describe exported date fields, not continuous histories. Unknown units/bases and unvalidated primary keys are null. File URLs are stable, not immutable; check bytes and SHA-256 against the catalog for the same edition. ### amf_auditors Audit firms approved by AMF-UMOA (legal entities only). - Identity: https://brvmdata.com/donnees/amf-auditors/#dataset - Landing: https://brvmdata.com/en/donnees/amf-auditors/ - French: https://brvmdata.com/donnees/amf-auditors/ - Source: AMF-UMOA — visas, publications, approved firms, funds; https://www.amf-umoa.org/ - Exported rows: 40; coverage field: None; bounds: None / None - Date meaning: No coverage date established for this table. - data_as_of: None; source_retrieved_at: 2026-11-08T05:15:44+00:00; scope: exported rows - Collection: Sunday 05:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - auditor_id: INTEGER; null; null; null - code: TEXT; null; null; null - name: TEXT; null; null; null - nationality: TEXT; null; null; null - approval_date: TEXT; null; null; null - order_name: TEXT; null; null; null - is_valid: INTEGER; null; null; null - source_url: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/amf_auditors.csv (text/csv, compression=None, 3854 bytes, SHA-256 56050009ffcbec29f1304473ed70a8423ea79b70b8547b5c166a46c30fb9a6f1) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### amf_funds AMF-UMOA register of funds and securitisation vehicles: type, manager, approval, status. - Identity: https://brvmdata.com/donnees/amf-funds/#dataset - Landing: https://brvmdata.com/en/donnees/amf-funds/ - French: https://brvmdata.com/donnees/amf-funds/ - Source: AMF-UMOA — visas, publications, approved firms, funds; https://www.amf-umoa.org/ - Exported rows: 237; coverage field: None; bounds: None / None - Date meaning: No coverage date established for this table. - data_as_of: None; source_retrieved_at: 2026-11-08T05:12:21+00:00; scope: exported rows - Collection: Sunday 05:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - fund_id: INTEGER; null; null; null - code: TEXT; null; null; null - name: TEXT; null; null; null - fund_type: TEXT; null; null; null - manager_id: INTEGER; null; null; null - manager_name: TEXT; null; null; null - approval_reference: TEXT; null; null; null - approval_date: TEXT; null; null; null - is_active: INTEGER; null; null; null - is_valid: INTEGER; null; null; null - note_info_file: TEXT; null; null; null - decision_file: TEXT; null; null; null - document_id: INTEGER; null; null; null - source_url: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/amf_funds.csv (text/csv, compression=None, 51989 bytes, SHA-256 de85bec9f92e77465579d71c7948fc5ac08283256742ad05aaf2dea6a362c799) - Join: document_id → amf_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### amf_intermediaries Institutions approved by AMF-UMOA: type, country, legal form, approval, status, website (legal entities only). - Identity: https://brvmdata.com/donnees/amf-intermediaries/#dataset - Landing: https://brvmdata.com/en/donnees/amf-intermediaries/ - French: https://brvmdata.com/donnees/amf-intermediaries/ - Source: AMF-UMOA — visas, publications, approved firms, funds; https://www.amf-umoa.org/ - Exported rows: 118; coverage field: None; bounds: None / None - Date meaning: No coverage date established for this table. - data_as_of: None; source_retrieved_at: 2026-11-08T05:12:13+00:00; scope: exported rows - Collection: Sunday 05:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - entity_id: INTEGER; null; null; null - entity_type: TEXT; null; null; null - type_code: TEXT; null; null; null - type_label: TEXT; null; null; null - code: TEXT; null; null; null - name: TEXT; null; null; null - country: TEXT; null; null; null - legal_form: TEXT; null; null; null - approval_reference: TEXT; null; null; null - approval_date: TEXT; null; null; null - market_entry_date: TEXT; null; null; null - status: TEXT; null; null; null - is_valid: INTEGER; null; null; null - is_active: INTEGER; null; null; null - website: TEXT; null; null; null - decision_file: TEXT; null; null; null - source_url: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/amf_intermediaries.csv (text/csv, compression=None, 30935 bytes, SHA-256 9888323c4e424e07b25fed2e94550ea7ca0a3cb432ff2baf3b81c4bdebdc4a74) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### amf_issue_visas AMF-UMOA source visa rows, with versions retained: issuer, instrument, rate, tenor, amounts and dates. Do not sum versions. The New issues page reconciles approvals and excludes conflicting amounts from its sums. - Identity: https://brvmdata.com/donnees/amf-issue-visas/#dataset - Landing: https://brvmdata.com/en/donnees/amf-issue-visas/ - French: https://brvmdata.com/donnees/amf-issue-visas/ - Source: AMF-UMOA — visas, publications, approved firms, funds; https://www.amf-umoa.org/ - Exported rows: 551; coverage field: visa_date; bounds: 1997-11-29 / 2026-06-26 - Date meaning: Approval date; neither actual issuance nor confirmed fundraising. - data_as_of: 2026-06-26; source_retrieved_at: 2026-11-08T05:05:45+00:00; scope: exported rows - Collection: Sunday 05:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - visa_id: INTEGER; null; null; null - operation_code: TEXT; null; null; null - visa_reference: TEXT; null; null; null - visa_date: TEXT; null; null; null - nature_code: TEXT; null; null; null - nature_label: TEXT; null; null; null - issuer_id: INTEGER; null; null; null - issuer_name: TEXT; null; null; null - issuer_country: TEXT; null; null; null - arranger_name: TEXT; null; null; null - instrument: TEXT; null; null; null - coupon_rate: REAL; null; null; null - tenor_years: INTEGER; year; null; null - nominal_xof: REAL; XOF; null; null - subscription_price_xof: REAL; XOF; null; null - securities_count: REAL; count; null; null - amount_requested_xof: REAL; XOF; null; null - amount_subscribed_xof: REAL; XOF; null; null - offer_open_date: TEXT; null; null; null - offer_close_date: TEXT; null; null; null - value_date: TEXT; null; null; null - is_open: INTEGER; null; null; null - decision_file: TEXT; null; null; null - note_info_file: TEXT; null; null; null - source_url: TEXT; null; null; null - document_id: INTEGER; null; null; null - retrieved_at: TEXT; null; null; null - coupon_rate_api: REAL; null; null; null - coupon_source: TEXT; null; null; null - tenor_source: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/amf_issue_visas.csv (text/csv, compression=None, 193330 bytes, SHA-256 e3d6c5b327960d4b13324a3937576ede9fcb029aabadc39eb81c410775e07ffe) - Join: document_id → amf_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: issuer_id → amf_issuers.issuer_id. Issuer registry match, not an approval identity. Multiple visa versions are not additive. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Raw versions are retained: do not add repeated visas or conflicting amounts. Approval is not completed issuance. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### amf_issuers Issuers followed by AMF-UMOA: legal form, sector, country, incorporation and listing dates, website (head-office address left out). - Identity: https://brvmdata.com/donnees/amf-issuers/#dataset - Landing: https://brvmdata.com/en/donnees/amf-issuers/ - French: https://brvmdata.com/donnees/amf-issuers/ - Source: AMF-UMOA — visas, publications, approved firms, funds; https://www.amf-umoa.org/ - Exported rows: 154; coverage field: None; bounds: None / None - Date meaning: No coverage date established for this table. - data_as_of: None; source_retrieved_at: 2026-11-08T05:12:13+00:00; scope: exported rows - Collection: Sunday 05:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - issuer_id: INTEGER; null; null; null - code: TEXT; null; null; null - brvm_code: TEXT; null; null; null - name: TEXT; null; null; null - legal_form: TEXT; null; null; null - sector: TEXT; null; null; null - country: TEXT; null; null; null - incorporation_date: TEXT; null; null; null - market_entry_date: TEXT; null; null; null - website: TEXT; null; null; null - is_valid: INTEGER; null; null; null - source_url: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/amf_issuers.csv (text/csv, compression=None, 26942 bytes, SHA-256 1345485698f63de71d5798ab3f97ebb106abb78fb149484a181a876dafec9249) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### amf_publications AMF-UMOA publications: visas, circulars, instructions, decisions, statements, news, annual reports, with the document link. - Identity: https://brvmdata.com/donnees/amf-publications/#dataset - Landing: https://brvmdata.com/en/donnees/amf-publications/ - French: https://brvmdata.com/donnees/amf-publications/ - Source: AMF-UMOA — visas, publications, approved firms, funds; https://www.amf-umoa.org/ - Exported rows: 755; coverage field: published_date; bounds: 1997-11-29 / 2026-10-14 - Date meaning: Recorded publication date; check imputed-date flags. - data_as_of: 2026-10-14; source_retrieved_at: 2026-11-08T05:11:34+00:00; scope: exported rows - Collection: Sunday 05:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - publication_id: TEXT; null; null; null - category: TEXT; null; null; null - source_category: TEXT; null; null; null - reference: TEXT; null; null; null - label: TEXT; null; null; null - title: TEXT; null; null; null - published_date: TEXT; null; null; null - issuer_name: TEXT; null; null; null - instrument: TEXT; null; null; null - amount_xof: REAL; XOF; null; null - amount_basis: TEXT; null; null; null - body: TEXT; null; null; null - language: TEXT; null; null; null - is_repealed: INTEGER; null; null; null - created_date: TEXT; null; null; null - file_name: TEXT; null; null; null - source_url: TEXT; null; null; null - document_url: TEXT; null; null; null - document_id: INTEGER; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/amf_publications.csv (text/csv, compression=None, 361676 bytes, SHA-256 0416327594fba258c06fe4554df07b4d3dd5f82a72a5936beaf244c640d9ec2b) - Join: document_id → amf_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### auc_auction_tranches Lines of each auction: instrument, tenor, maturity, coupon, amounts, rates and yields. - Identity: https://brvmdata.com/donnees/auc-auction-tranches/#dataset - Landing: https://brvmdata.com/en/donnees/auc-auction-tranches/ - French: https://brvmdata.com/donnees/auc-auction-tranches/ - Source: UMOA-Titres — auctions (calendar and results); https://www.umoatitres.org/ - Exported rows: 4091; coverage field: None; bounds: None / None - Date meaning: No coverage date established for this table. - data_as_of: None; source_retrieved_at: 2026-11-10T19:19:58+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 19:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - auction_id: TEXT; null; null; null - tranche_no: INTEGER; null; null; null - instrument: TEXT; null; null; null - leg_kind: TEXT; null; null; null - tenor_label: TEXT; null; null; null - tenor_days: INTEGER; day; null; null - tenor_years: REAL; year; null; null - tenor_basis: TEXT; null; null; null - value_date: TEXT; null; null; null - maturity_date: TEXT; null; null; null - grace_years: REAL; year; null; null - coupon_rate: REAL; null; null; null - nominal_unit_xof: REAL; XOF; null; null - amount_requested_millions: REAL; XOF million; null; null - amount_retained_millions: REAL; XOF million; null; null - marginal_rate: REAL; null; null; null - weighted_average_rate: REAL; null; null; null - weighted_average_yield: REAL; null; null; null - bid_count: INTEGER; null; null; null - coverage_ratio: REAL; null; null; null - redemption_terms: TEXT; null; null; null - weighted_average_price_xof: REAL; XOF; null; null - marginal_price_xof: REAL; XOF; null; null - absorption_rate: REAL; null; null; null - original_tenor_label: TEXT; null; null; null - terms_source_url: TEXT; null; null; null - tenor_flags: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/auc_auction_tranches.csv (text/csv, compression=None, 1406735 bytes, SHA-256 c9a4de8864083d89ecf869da6bd080707303275ffbde9eecf4a018dec78dc9cd) - Join: auction_id → auc_auctions.auction_id. Many tranches per auction; do not multiply auction-level totals when joining. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### auc_auctions UMOA-Titres government securities auctions: country, dates, amounts, rates, cover. - Identity: https://brvmdata.com/donnees/auc-auctions/#dataset - Landing: https://brvmdata.com/en/donnees/auc-auctions/ - French: https://brvmdata.com/donnees/auc-auctions/ - Source: UMOA-Titres — auctions (calendar and results); https://www.umoatitres.org/ - Exported rows: 1904; coverage field: operation_date; bounds: 2014-01-08 / 2026-12-29 - Date meaning: Operation date, including future announcements; check value date and whether results exist. - data_as_of: 2026-11-06; source_retrieved_at: 2026-11-10T19:19:58+00:00; scope: exported rows - Collection: Mon–Fri 19:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - auction_id: TEXT; null; null; null - source_url: TEXT; null; null; null - language: TEXT; null; null; null - country: TEXT; null; null; null - issuer: TEXT; null; null; null - operation_date: TEXT; null; null; null - value_date: TEXT; null; null; null - status: TEXT; null; null; null - instrument_summary: TEXT; null; null; null - tender_amount_millions: REAL; XOF million; null; null - total_proposed_millions: REAL; XOF million; null; null - total_retained_millions: REAL; XOF million; null; null - buyback_retained_millions: REAL; XOF million; null; null - marginal_rate: REAL; null; null; null - weighted_average_rate: REAL; null; null; null - weighted_average_yield: REAL; null; null; null - coverage_ratio: REAL; null; null; null - bid_count: INTEGER; null; null; null - submission_deadline: TEXT; null; null; null - document_id: INTEGER; null; null; null - retrieved_at: TEXT; null; null; null - page_value_date: TEXT; null; null; null - value_date_basis: TEXT; null; null; null - value_date_evidence: TEXT; null; null; null - date_flags: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/auc_auctions.csv (text/csv, compression=None, 662848 bytes, SHA-256 2f843e3afbcbe7da3427b059c87159c19b8638a8e71edb182a28312692ff6cd7) - Join: document_id → auc_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### bceao_auction_notices BCEAO tender notices: government securities and money market. - Identity: https://brvmdata.com/donnees/bceao-auction-notices/#dataset - Landing: https://brvmdata.com/en/donnees/bceao-auction-notices/ - French: https://brvmdata.com/donnees/bceao-auction-notices/ - Source: BCEAO — currency rates, policy rates, money market; https://www.bceao.int/ - Exported rows: 119; coverage field: published_date; bounds: 2025-09-26 / 2026-11-06 - Date meaning: Recorded publication date; check imputed-date flags. - data_as_of: 2026-11-06; source_retrieved_at: 2026-11-10T18:44:14+00:00; scope: exported rows - Collection: Mon–Fri 18:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - notice_id: TEXT; null; null; null - category: TEXT; null; null; null - published_date: TEXT; null; null; null - title: TEXT; null; null; null - deadline_date: TEXT; null; null; null - source_url: TEXT; null; null; null - document_id: INTEGER; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/bceao_auction_notices.csv (text/csv, compression=None, 45515 bytes, SHA-256 f387cf7bc2ea8cf348c86a3b95c330d5655475ce4403fca2ed6ff683b1ddaf4b) - Join: document_id → bceao_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### bceao_fx_rates Currency rates against the CFA franc published by the BCEAO: buy, sell, mid. - Identity: https://brvmdata.com/donnees/bceao-fx-rates/#dataset - Landing: https://brvmdata.com/en/donnees/bceao-fx-rates/ - French: https://brvmdata.com/donnees/bceao-fx-rates/ - Source: BCEAO — currency rates, policy rates, money market; https://www.bceao.int/ - Exported rows: 318; coverage field: quote_date; bounds: 2026-09-14 / 2026-11-10 - Date meaning: Reference date of the exchange rate. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T18:44:13+00:00; scope: exported rows - Collection: Mon–Fri 18:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - quote_date: TEXT; null; null; null - currency_code: TEXT; null; null; null - currency_label: TEXT; null; null; null - buy_xof: REAL; XOF; null; null - sell_xof: REAL; XOF; null; null - mid_xof: REAL; XOF; null; null - source_url: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/bceao_fx_rates.csv (text/csv, compression=None, 31907 bytes, SHA-256 523b090c27174a44f24d17a0545cb235a4660644eff78b6e9d864b579e06dd97) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### bceao_macro_indicators Economic indicators shown by the BCEAO (GDP, growth, inflation, balances) with date and unit. - Identity: https://brvmdata.com/donnees/bceao-macro-indicators/#dataset - Landing: https://brvmdata.com/en/donnees/bceao-macro-indicators/ - French: https://brvmdata.com/donnees/bceao-macro-indicators/ - Source: BCEAO — currency rates, policy rates, money market; https://www.bceao.int/ - Exported rows: 10; coverage field: as_of_date; bounds: 2026-09-07 / 2026-10-09 - Date meaning: Row reference date; does not replace dates of its component figures. - data_as_of: 2026-10-09; source_retrieved_at: 2026-11-10T18:44:13+00:00; scope: exported rows - Collection: Mon–Fri 18:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - as_of_date: TEXT; null; null; null - indicator: TEXT; null; null; null - value: REAL; null; Unit varies by row; read the unit column with every value; unit - unit: TEXT; null; null; null - note: TEXT; null; null; null - source_url: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/bceao_macro_indicators.csv (text/csv, compression=None, 1561 bytes, SHA-256 4b35a764f0aa084c1a11636270f97a8bd367c2635be6ed4865dc0be083557cf2) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### bceao_money_market_allocations Amounts bid and allotted by country at each BCEAO liquidity auction. - Identity: https://brvmdata.com/donnees/bceao-money-market-allocations/#dataset - Landing: https://brvmdata.com/en/donnees/bceao-money-market-allocations/ - French: https://brvmdata.com/donnees/bceao-money-market-allocations/ - Source: BCEAO — currency rates, policy rates, money market; https://www.bceao.int/ - Exported rows: 632; coverage field: None; bounds: None / None - Date meaning: No coverage date established for this table. - data_as_of: None; source_retrieved_at: 2026-11-10T18:44:14+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 18:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - adjudication_no: TEXT; null; null; null - country: TEXT; null; null; null - proposed_millions: REAL; XOF million; null; null - retained_millions: REAL; XOF million; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/bceao_money_market_allocations.csv (text/csv, compression=None, 24819 bytes, SHA-256 791dc6c161cdc47d9e5610e4b4e8df15fd57b267af7dbfd94e954e45ccd64da7) - Join: document_id → bceao_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: adjudication_no → bceao_money_market_results.adjudication_no. Country allocations in XOF millions; auction totals in XOF billions. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### bceao_money_market_results BCEAO liquidity auction results: amounts offered and allotted, marginal and average rate, participants. - Identity: https://brvmdata.com/donnees/bceao-money-market-results/#dataset - Landing: https://brvmdata.com/en/donnees/bceao-money-market-results/ - French: https://brvmdata.com/donnees/bceao-money-market-results/ - Source: BCEAO — currency rates, policy rates, money market; https://www.bceao.int/ - Exported rows: 79; coverage field: operation_date; bounds: 2025-10-06 / 2026-11-02 - Date meaning: Operation date, including future announcements; check value date and whether results exist. - data_as_of: 2026-11-02; source_retrieved_at: 2026-11-04T18:39:06+00:00; scope: exported rows - Collection: Mon–Fri 18:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - adjudication_no: TEXT; null; null; null - tender_type: TEXT; null; null; null - nature: TEXT; null; null; null - operation_date: TEXT; null; null; null - value_date: TEXT; null; null; null - maturity_date: TEXT; null; null; null - duration_days: INTEGER; day; null; null - offered_bn: REAL; XOF billion; null; null - retained_bn: REAL; XOF billion; null; null - marginal_rate: REAL; null; null; null - weighted_average_rate: REAL; null; null; null - min_bid_rate: REAL; null; null; null - max_bid_rate: REAL; null; null; null - participant_count: INTEGER; count; null; null - submission_count: INTEGER; null; null; null - document_id: INTEGER; null; null; null - parse_status: TEXT; null; null; null - parse_note: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/bceao_money_market_results.csv (text/csv, compression=None, 17195 bytes, SHA-256 2c5170bd3f2b209580be7d1237e93203312ed727ff6e286394fa57a9a6d2e2a2) - Join: document_id → bceao_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### bceao_policy_rates BCEAO policy rates and effective date. Public downloadable table with provenance and a column dictionary. - Identity: https://brvmdata.com/donnees/bceao-policy-rates/#dataset - Landing: https://brvmdata.com/en/donnees/bceao-policy-rates/ - French: https://brvmdata.com/donnees/bceao-policy-rates/ - Source: BCEAO — currency rates, policy rates, money market; https://www.bceao.int/ - Exported rows: 2; coverage field: effective_date; bounds: 2026-03-16 / 2026-03-16 - Date meaning: Effective date, not publication date. - data_as_of: None; source_retrieved_at: 2026-11-10T18:44:13+00:00; scope: exported rows - Collection: Mon–Fri 18:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - effective_date: TEXT; null; null; null - rate_name: TEXT; null; null; null - rate_pct: REAL; percent; null; null - source_url: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/bceao_policy_rates.csv (text/csv, compression=None, 251 bytes, SHA-256 414abbac0ea00481b7f22ab87375fce1e7f65d9c6ae5e7f3a442ced4b463dace) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### bceao_publications BCEAO publications on the interbank market. Public downloadable table with provenance and a column dictionary. - Identity: https://brvmdata.com/donnees/bceao-publications/#dataset - Landing: https://brvmdata.com/en/donnees/bceao-publications/ - French: https://brvmdata.com/donnees/bceao-publications/ - Source: BCEAO — currency rates, policy rates, money market; https://www.bceao.int/ - Exported rows: 19; coverage field: published_date; bounds: 2019-01-15 / 2026-11-06 - Date meaning: Recorded publication date; check imputed-date flags. - data_as_of: 2026-11-06; source_retrieved_at: 2026-11-10T18:44:14+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 18:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - publication_id: TEXT; null; null; null - series: TEXT; null; null; null - title: TEXT; null; null; null - published_date: TEXT; null; null; null - source_url: TEXT; null; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/bceao_publications.csv (text/csv, compression=None, 5487 bytes, SHA-256 d5fc19ee9c69c7ba58de3119d4ea41e1db87870d208daf41c732905cd05e1445) - Join: document_id → bceao_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### bfin_security_sessions Sessions with a trade for every security: close and previous price, volume, trade count, value, ISIN, country. - Identity: https://brvmdata.com/donnees/bfin-security-sessions/#dataset - Landing: https://brvmdata.com/en/donnees/bfin-security-sessions/ - French: https://brvmdata.com/donnees/bfin-security-sessions/ - Source: BRVM — session database (bfin.brvm.org); https://bfin.brvm.org/ - Exported rows: 184706; coverage field: session_date; bounds: 1998-09-18 / 2026-11-10 - Date meaning: Trading session, not retrieval date. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T22:04:23+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 22:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - session_date: TEXT; null; null; null - asset_class: TEXT; null; null; null - symbol: TEXT; null; null; null - security_name: TEXT; null; null; null - isin: TEXT; null; null; null - country: TEXT; null; null; null - volume: INTEGER; count; null; null - trade_count: INTEGER; count; null; null - value_xof: REAL; XOF; null; null - price_close: REAL; null; null; null - price_prev: REAL; null; null; null - Download: https://brvmdata.com/telechargements/bfin_security_sessions.csv (text/csv, compression=None, 15565809 bytes, SHA-256 00fd431dda145c9398e32ebffb222d99d8b07ad151cf5cdd787fd03f113a246d) - Download: https://brvmdata.com/telechargements/bfin_security_sessions.csv.gz (text/csv, compression=gzip, 2779587 bytes, SHA-256 a661e1960846ef8b3aee09c0ba4e407a3eaeb7673c5c2ee60180657f5e1a366c) - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### bfin_session_calendar Session dates listed by the BRVM session database. - Identity: https://brvmdata.com/donnees/bfin-session-calendar/#dataset - Landing: https://brvmdata.com/en/donnees/bfin-session-calendar/ - French: https://brvmdata.com/donnees/bfin-session-calendar/ - Source: BRVM — session database (bfin.brvm.org); https://bfin.brvm.org/ - Exported rows: 6891; coverage field: session_date; bounds: 1998-09-16 / 2026-11-10 - Date meaning: Trading session, not retrieval date. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T22:04:23+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 22:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - session_date: TEXT; null; null; null - asset_class: TEXT; null; null; null - first_seen: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/bfin_session_calendar.csv (text/csv, compression=None, 282567 bytes, SHA-256 52b640e708fddcc9f495c0ec4d53aebd7f44bfa41fb496be7621d3073b7b36e9) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### boc_bonds Daily quote of every bond in the bulletin: price, accrued coupon, next coupon, maturity year from the title, amortisation type. - Identity: https://brvmdata.com/donnees/boc-bonds/#dataset - Landing: https://brvmdata.com/en/donnees/boc-bonds/ - French: https://brvmdata.com/donnees/boc-bonds/ - Source: BRVM — Official daily bulletin (PDF); https://www.brvm.org/fr/bulletins-officiels-de-la-cote - Exported rows: 235641; coverage field: trading_date; bounds: 2018-01-02 / 2026-11-09 - Date meaning: Bulletin trading session, not its publication or retrieval date. - data_as_of: 2026-11-09; source_retrieved_at: 2026-11-10T21:04:12+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - document_id: INTEGER; null; null; null - trading_date: TEXT; null; null; null - symbol: TEXT; null; null; null - title: TEXT; null; null; null - nominal_value: REAL; null; null; null - previous_price: REAL; null; null; null - day_price: REAL; null; null; null - reference_price: REAL; null; null; null - volume: INTEGER; count; null; null - traded_value_xof: REAL; XOF; null; null - accrued_coupon: REAL; null; null; null - coupon_period: TEXT; null; null; null - coupon_amount_net: REAL; null; null; null - next_coupon_date: TEXT; null; null; null - maturity_year: INTEGER; null; null; null - amortization_type: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/boc_bonds.csv (text/csv, compression=None, 26306648 bytes, SHA-256 414a2d41f013b5733b0160fc0886c08f7a2901d4fd526505a0764e716dcc06b6) - Download: https://brvmdata.com/telechargements/boc_bonds.csv.gz (text/csv, compression=gzip, 2502068 bytes, SHA-256 e85570dfa58b2193825dbbf0d069dc93e1bf35198bd8ff08f6a4d2a7a5dae423) - Join: document_id → boc_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Official history is partial: check parse_status and the PDF; absence does not mean a session without trades. CSV prices are not split-adjusted. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### boc_bulletins One official bulletin (BOC) per session: number, printed date, parse status, number of share and bond lines. - Identity: https://brvmdata.com/donnees/boc-bulletins/#dataset - Landing: https://brvmdata.com/en/donnees/boc-bulletins/ - French: https://brvmdata.com/donnees/boc-bulletins/ - Source: BRVM — Official daily bulletin (PDF); https://www.brvm.org/fr/bulletins-officiels-de-la-cote - Exported rows: 2193; coverage field: trading_date; bounds: 2018-01-02 / 2026-11-09 - Date meaning: Bulletin trading session, not its publication or retrieval date. - data_as_of: 2026-11-09; source_retrieved_at: 2026-11-10T21:04:12+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - document_id: INTEGER; null; null; null - trading_date: TEXT; null; null; null - bulletin_number: INTEGER; null; null; null - printed_date: TEXT; null; null; null - status: TEXT; null; null; null - parse_status: TEXT; null; null; null - equities_count: INTEGER; null; null; null - bonds_count: INTEGER; null; null; null - error: TEXT; null; null; null - parser_version: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/boc_bulletins.csv (text/csv, compression=None, 129617 bytes, SHA-256 5eb6661cd340eee9e281e1a8f5404dedc7d8b03e609a94f3ecc3e3633bced7b6) - Join: document_id → boc_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Official history is partial: check parse_status and the PDF; absence does not mean a session without trades. CSV prices are not split-adjusted. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### boc_corporate_events Notices to holders printed in each bulletin (reprinted until their date): issuer, number, type, subject. - Identity: https://brvmdata.com/donnees/boc-corporate-events/#dataset - Landing: https://brvmdata.com/en/donnees/boc-corporate-events/ - French: https://brvmdata.com/donnees/boc-corporate-events/ - Source: BRVM — Official daily bulletin (PDF); https://www.brvm.org/fr/bulletins-officiels-de-la-cote - Exported rows: 12133; coverage field: trading_date; bounds: 2018-01-02 / 2026-11-09 - Date meaning: Bulletin trading session, not its publication or retrieval date. - data_as_of: 2026-11-09; source_retrieved_at: 2026-11-10T21:04:12+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - document_id: INTEGER; null; null; null - trading_date: TEXT; null; null; null - issuer: TEXT; null; null; null - event_number: TEXT; null; null; null - nature: TEXT; null; null; null - object: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/boc_corporate_events.csv (text/csv, compression=None, 1543873 bytes, SHA-256 95ba779a262fc0d42a98d0d849fc13185a845f19a4c3fd020426401f57151163) - Join: document_id → boc_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Official history is partial: check parse_status and the PDF; absence does not mean a session without trades. CSV prices are not split-adjusted. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### boc_equities Daily quote of every share in the bulletin: open, close and reference prices, change, volume, value, net dividend, yield, P/E, compartment. - Identity: https://brvmdata.com/donnees/boc-equities/#dataset - Landing: https://brvmdata.com/en/donnees/boc-equities/ - French: https://brvmdata.com/donnees/boc-equities/ - Source: BRVM — Official daily bulletin (PDF); https://www.brvm.org/fr/bulletins-officiels-de-la-cote - Exported rows: 100489; coverage field: trading_date; bounds: 2018-01-02 / 2026-11-09 - Date meaning: Bulletin trading session, not its publication or retrieval date. - data_as_of: 2026-11-09; source_retrieved_at: 2026-11-10T21:04:12+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - document_id: INTEGER; null; null; null - trading_date: TEXT; null; null; null - sector_code: TEXT; null; null; null - symbol: TEXT; null; null; null - title: TEXT; null; null; null - compartment: TEXT; null; null; null - previous_close: REAL; XOF per share; Unadjusted as printed in this bulletin; null - open_price: REAL; XOF per share; Unadjusted as printed in this bulletin; null - close_price: REAL; XOF per share; Unadjusted as printed in this bulletin; null - day_change_pct: REAL; percent; null; null - volume: INTEGER; count; null; null - traded_value_xof: REAL; XOF; null; null - reference_price: REAL; XOF per share; Unadjusted as printed in this bulletin; null - annual_change_pct: REAL; percent; null; null - dividend_net: REAL; XOF per share; Net dividend per share as printed; dividend_date and observation share basis apply; null - dividend_date: TEXT; null; null; null - net_yield_pct: REAL; percent; null; null - pe_ratio: REAL; ratio; null; null - Download: https://brvmdata.com/telechargements/boc_equities.csv (text/csv, compression=None, 12411997 bytes, SHA-256 58b0d6d1e9bac1a04fa98b0f8508c54429f60f8671a8139e84c4c620581457b1) - Download: https://brvmdata.com/telechargements/boc_equities.csv.gz (text/csv, compression=gzip, 2312154 bytes, SHA-256 e9a6940ff2f9916552d66e0886791322632cc5a88bbddb1abe29f22687c84f42) - Join: document_id → boc_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Official history is partial: check parse_status and the PDF; absence does not mean a session without trades. CSV prices are not split-adjusted. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### boc_indices Daily level of the indices printed in the bulletin (headline, compartment, total return, sector), changes and P/E. - Identity: https://brvmdata.com/donnees/boc-indices/#dataset - Landing: https://brvmdata.com/en/donnees/boc-indices/ - French: https://brvmdata.com/donnees/boc-indices/ - Source: BRVM — Official daily bulletin (PDF); https://www.brvm.org/fr/bulletins-officiels-de-la-cote - Exported rows: 24434; coverage field: trading_date; bounds: 2018-01-02 / 2026-11-09 - Date meaning: Bulletin trading session, not its publication or retrieval date. - data_as_of: 2026-11-09; source_retrieved_at: 2026-11-10T21:04:12+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - document_id: INTEGER; null; null; null - trading_date: TEXT; null; null; null - index_name: TEXT; null; null; null - index_group: TEXT; null; null; null - constituent_count: INTEGER; null; null; null - value: REAL; index point; null; null - day_change_pct: REAL; percent; null; null - annual_change_pct: REAL; percent; null; null - volume: INTEGER; count; null; null - traded_value_xof: REAL; XOF; null; null - pe_ratio: REAL; ratio; null; null - Download: https://brvmdata.com/telechargements/boc_indices.csv (text/csv, compression=None, 2103338 bytes, SHA-256 81b63e9d14c5816af08b8504f383745ed64918c8d0736a34a7a8fad2e9acf1c6) - Join: document_id → boc_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Official history is partial: check parse_status and the PDF; absence does not mean a session without trades. CSV prices are not split-adjusted. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### boc_market_metrics Market ratios from the bulletin: average P/E, average yield, liquidity, coverage. - Identity: https://brvmdata.com/donnees/boc-market-metrics/#dataset - Landing: https://brvmdata.com/en/donnees/boc-market-metrics/ - French: https://brvmdata.com/donnees/boc-market-metrics/ - Source: BRVM — Official daily bulletin (PDF); https://www.brvm.org/fr/bulletins-officiels-de-la-cote - Exported rows: 30498; coverage field: trading_date; bounds: 2018-01-02 / 2026-11-09 - Date meaning: Bulletin trading session, not its publication or retrieval date. - data_as_of: 2026-11-09; source_retrieved_at: 2026-11-10T21:04:12+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - document_id: INTEGER; null; null; null - trading_date: TEXT; null; null; null - metric_name: TEXT; null; null; null - metric_value: REAL; null; null; null - Download: https://brvmdata.com/telechargements/boc_market_metrics.csv (text/csv, compression=None, 1563367 bytes, SHA-256 81b671e6b3000512dca2ed2244133eabceae0efd497cfe8dad5096cc274cd49b) - Join: document_id → boc_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Official history is partial: check parse_status and the PDF; absence does not mean a session without trades. CSV prices are not split-adjusted. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### boc_market_summary Session totals from the bulletin (capitalisation, value and volume traded, advances and declines), shares and bonds. - Identity: https://brvmdata.com/donnees/boc-market-summary/#dataset - Landing: https://brvmdata.com/en/donnees/boc-market-summary/ - French: https://brvmdata.com/donnees/boc-market-summary/ - Source: BRVM — Official daily bulletin (PDF); https://www.brvm.org/fr/bulletins-officiels-de-la-cote - Exported rows: 30311; coverage field: trading_date; bounds: 2018-01-02 / 2026-11-09 - Date meaning: Bulletin trading session, not its publication or retrieval date. - data_as_of: 2026-11-09; source_retrieved_at: 2026-11-10T21:04:12+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - document_id: INTEGER; null; null; null - trading_date: TEXT; null; null; null - asset_class: TEXT; null; null; null - metric_name: TEXT; null; null; null - value: REAL; null; null; null - day_change_pct: REAL; percent; null; null - Download: https://brvmdata.com/telechargements/boc_market_summary.csv (text/csv, compression=None, 2082049 bytes, SHA-256 2381783056956c479116e44426d80ecea5f0a6e4ecb54f7dd488aa4d7d8a1117) - Join: document_id → boc_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Official history is partial: check parse_status and the PDF; absence does not mean a session without trades. CSV prices are not split-adjusted. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### boc_movers Top five gainers and losers of each session per the bulletin. - Identity: https://brvmdata.com/donnees/boc-movers/#dataset - Landing: https://brvmdata.com/en/donnees/boc-movers/ - French: https://brvmdata.com/donnees/boc-movers/ - Source: BRVM — Official daily bulletin (PDF); https://www.brvm.org/fr/bulletins-officiels-de-la-cote - Exported rows: 21894; coverage field: trading_date; bounds: 2018-01-02 / 2026-11-09 - Date meaning: Bulletin trading session, not its publication or retrieval date. - data_as_of: 2026-11-09; source_retrieved_at: 2026-11-10T21:04:12+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - document_id: INTEGER; null; null; null - trading_date: TEXT; null; null; null - direction: TEXT; null; null; null - rank: INTEGER; null; null; null - symbol: TEXT; null; null; null - title: TEXT; null; null; null - price: REAL; null; null; null - day_change_pct: REAL; percent; null; null - annual_change_pct: REAL; percent; null; null - Download: https://brvmdata.com/telechargements/boc_movers.csv (text/csv, compression=None, 1361198 bytes, SHA-256 84bd1d8d7569a1a1b3fb7936f369f48b3a01f5cd79a4771c7d0bc542f946b88a) - Join: document_id → boc_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Official history is partial: check parse_status and the PDF; absence does not mean a session without trades. CSV prices are not split-adjusted. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### boc_order_book Residual end-of-session order book: bid and ask quantities and prices. - Identity: https://brvmdata.com/donnees/boc-order-book/#dataset - Landing: https://brvmdata.com/en/donnees/boc-order-book/ - French: https://brvmdata.com/donnees/boc-order-book/ - Source: BRVM — Official daily bulletin (PDF); https://www.brvm.org/fr/bulletins-officiels-de-la-cote - Exported rows: 15277; coverage field: trading_date; bounds: 2026-08-14 / 2026-11-09 - Date meaning: Bulletin trading session, not its publication or retrieval date. - data_as_of: 2026-11-09; source_retrieved_at: 2026-11-10T21:04:12+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - document_id: INTEGER; null; null; null - trading_date: TEXT; null; null; null - market: TEXT; null; null; null - symbol: TEXT; null; null; null - title: TEXT; null; null; null - buy_quantity: INTEGER; null; null; null - buy_price: REAL; null; null; null - sell_price: REAL; null; null; null - sell_quantity: INTEGER; null; null; null - reference_price: REAL; null; null; null - Download: https://brvmdata.com/telechargements/boc_order_book.csv (text/csv, compression=None, 1124222 bytes, SHA-256 bb1441a2e183016cca1f3e51327b8eca070cdde2445ba52d43777361ec91fab0) - Join: document_id → boc_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Official history is partial: check parse_status and the PDF; absence does not mean a session without trades. CSV prices are not split-adjusted. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### com_commodity_monthly Monthly commodity prices (FRED / IMF): series, unit, value. - Identity: https://brvmdata.com/donnees/com-commodity-monthly/#dataset - Landing: https://brvmdata.com/en/donnees/com-commodity-monthly/ - French: https://brvmdata.com/donnees/com-commodity-monthly/ - Source: FRED / IMF — monthly commodity prices; https://fred.stlouisfed.org/ - Exported rows: 2919; coverage field: month; bounds: 1992-01 / 2026-09 - Date meaning: Reference month in YYYY-MM format; not publication date. - data_as_of: 2026-09; source_retrieved_at: 2026-11-09T07:12:17+00:00; scope: exported rows - Collection: Monday 07:10 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - series_id: TEXT; null; null; null - month: TEXT; null; null; null - commodity: TEXT; null; null; null - unit: TEXT; null; null; null - value: REAL; null; Unit varies by row; read the unit column with every value; unit - document_id: INTEGER; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/com_commodity_monthly.csv (text/csv, compression=None, 262447 bytes, SHA-256 99f0ea9fb19c598c1d1cc4838aeb8d4bb0fcfe467cd19a5207da1bc7e88769c3) - Join: document_id → com_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### dcbr_amortisation_schedule DC/BR amortisation schedules: payment dates (future ones included), interest, IRVM tax, principal repaid, outstanding. - Identity: https://brvmdata.com/donnees/dcbr-amortisation-schedule/#dataset - Landing: https://brvmdata.com/en/donnees/dcbr-amortisation-schedule/ - French: https://brvmdata.com/donnees/dcbr-amortisation-schedule/ - Source: DC/BR — term sheets and amortisation schedules; https://dcbruemoa.org/ - Exported rows: 4122; coverage field: payment_date; bounds: 2013-02-13 / 2042-07-29 - Date meaning: Scheduled payment date; may be future, not a confirmed payment. - data_as_of: None; source_retrieved_at: 2026-11-08T04:06:37+00:00; scope: source store metadata; not each row's publication date - Collection: Sunday 04:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - isin: TEXT; null; null; null - payment_date: TEXT; null; null; null - sequence_no: INTEGER; null; null; null - securities_count: INTEGER; count; null; null - nominal_value_xof: NUMERIC; XOF; null; null - period_start_outstanding_xof: NUMERIC; XOF; null; null - gross_interest_xof: NUMERIC; XOF; null; null - irvm_xof: NUMERIC; XOF; null; null - irvm_rate_pct: NUMERIC; percent; null; null - day_count: INTEGER; day; null; null - net_interest_xof: NUMERIC; XOF; null; null - principal_repaid_xof: NUMERIC; XOF; null; null - total_annuity_xof: NUMERIC; XOF; null; null - period_end_outstanding_xof: NUMERIC; XOF; null; null - Download: https://brvmdata.com/telechargements/dcbr_amortisation_schedule.csv (text/csv, compression=None, 451624 bytes, SHA-256 4b489680ea6173e9a7a9c6cc3f1ea51dc30e8bfdb14375a7e9508828cead83da) - Join: isin → dcbr_securities.isin. Exact ISIN after checking case/whitespace; preserve report/trade/payment dates. Coverage may differ and some ISINs have no match. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### dcbr_schedule_totals Per-security totals of the DC/BR schedules and consistency check. - Identity: https://brvmdata.com/donnees/dcbr-schedule-totals/#dataset - Landing: https://brvmdata.com/en/donnees/dcbr-schedule-totals/ - French: https://brvmdata.com/donnees/dcbr-schedule-totals/ - Source: DC/BR — term sheets and amortisation schedules; https://dcbruemoa.org/ - Exported rows: 331; coverage field: None; bounds: None / None - Date meaning: No coverage date established for this table. - data_as_of: None; source_retrieved_at: 2026-11-08T04:06:37+00:00; scope: source store metadata; not each row's publication date - Collection: Sunday 04:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - isin: TEXT; null; null; null - total_gross_interest_xof: NUMERIC; XOF; null; null - total_irvm_xof: NUMERIC; XOF; null; null - total_net_interest_xof: NUMERIC; XOF; null; null - total_principal_xof: NUMERIC; XOF; null; null - total_annuities_xof: NUMERIC; XOF; null; null - rows_parsed: INTEGER; null; null; null - reconciles: INTEGER; null; null; null - note: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/dcbr_schedule_totals.csv (text/csv, compression=None, 38449 bytes, SHA-256 50cf9de6e0be082c31acb799c2c0f892c07b37d12909cb8394fc0d9f67379c88) - Join: isin → dcbr_securities.isin. Exact ISIN after checking case/whitespace; preserve report/trade/payment dates. Coverage may differ and some ISINs have no match. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### dcbr_securities DC/BR term sheets: issuer, amounts, rates, coupon, frequency, repayment. - Identity: https://brvmdata.com/donnees/dcbr-securities/#dataset - Landing: https://brvmdata.com/en/donnees/dcbr-securities/ - French: https://brvmdata.com/donnees/dcbr-securities/ - Source: DC/BR — term sheets and amortisation schedules; https://dcbruemoa.org/ - Exported rows: 332; coverage field: effective_date; bounds: 2012-08-13 / 2026-07-31 - Date meaning: Effective date, not publication date. - data_as_of: None; source_retrieved_at: 2026-11-08T04:07:55+00:00; scope: exported rows - Collection: Sunday 04:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - isin: TEXT; null; null; null - node_id: INTEGER; null; null; null - slug: TEXT; null; null; null - designation: TEXT; null; null; null - symbol: TEXT; null; null; null - security_type: TEXT; null; null; null - issuer_name: TEXT; null; null; null - issuer_registrar: TEXT; null; null; null - secondary_market: TEXT; null; null; null - indicative_amount_xof: NUMERIC; XOF; null; null - effective_amount_xof: NUMERIC; XOF; null; null - nominal_value_xof: NUMERIC; XOF; null; null - securities_count: INTEGER; count; null; null - issue_price_xof: NUMERIC; XOF; null; null - effective_date: TEXT; null; null; null - gross_rate: NUMERIC; null; null; null - net_rate: NUMERIC; null; null; null - gross_coupon_xof: NUMERIC; XOF; null; null - net_coupon_xof: NUMERIC; XOF; null; null - payment_periodicity: TEXT; null; null; null - duration_label: TEXT; null; null; null - repayment_method: TEXT; null; null; null - redemption_price_xof: NUMERIC; XOF; null; null - source_url: TEXT; null; null; null - document_id: INTEGER; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/dcbr_securities.csv (text/csv, compression=None, 175764 bytes, SHA-256 f069e1b8142b57f03b1524e991a92985a954580a619798c4e520292a0afb0705) - Join: document_id → dcbr_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### debt_issuance_plans Issuance plans from the financing strategies: country, period, instrument, planned amount. - Identity: https://brvmdata.com/donnees/debt-issuance-plans/#dataset - Landing: https://brvmdata.com/en/donnees/debt-issuance-plans/ - French: https://brvmdata.com/donnees/debt-issuance-plans/ - Source: Debt offices of the eight states — strategies, financing plans, bulletins; see row/document provenance - Exported rows: 22; coverage field: None; bounds: None / None - Date meaning: No coverage date established for this table. - data_as_of: None; source_retrieved_at: 2026-10-28T05:01:33+00:00; scope: source store metadata; not each row's publication date - Collection: Wednesday 05:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - country: TEXT; null; null; null - period_label: TEXT; null; null; null - instrument: TEXT; null; null; null - planned_amount_bn: REAL; XOF billion; null; null - tenor_label: TEXT; null; null; null - source_publication_id: TEXT; null; null; null - note: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/debt_issuance_plans.csv (text/csv, compression=None, 5177 bytes, SHA-256 45c81004dc0125c492b2abf4154191693e5dc4a60c352b2da2c9b422880a8eef) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### debt_publications Debt-office publications: strategies, bulletins and statistics, with the document link. - Identity: https://brvmdata.com/donnees/debt-publications/#dataset - Landing: https://brvmdata.com/en/donnees/debt-publications/ - French: https://brvmdata.com/donnees/debt-publications/ - Source: Debt offices of the eight states — strategies, financing plans, bulletins; see row/document provenance - Exported rows: 233; coverage field: published_date; bounds: 2010-01-23 / 2026-10-12 - Date meaning: Recorded publication date; check imputed-date flags. - data_as_of: 2026-10-12; source_retrieved_at: 2026-10-28T05:01:33+00:00; scope: source store metadata; not each row's publication date - Collection: Wednesday 05:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - publication_id: TEXT; null; null; null - country: TEXT; null; null; null - institution: TEXT; null; null; null - doc_type: TEXT; null; null; null - title: TEXT; null; null; null - published_date: TEXT; null; null; null - period_label: TEXT; null; null; null - fiscal_year: INTEGER; null; null; null - quarter: INTEGER; null; null; null - source_url: TEXT; null; null; null - page_url: TEXT; null; null; null - document_id: INTEGER; null; null; null - first_seen: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/debt_publications.csv (text/csv, compression=None, 94730 bytes, SHA-256 b2c2bf97694c7e02dd595bfdb78981d57f904cd2e24e4d74fefecdf06951df12) - Join: document_id → debt_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### debt_sources Debt-office websites followed, status and technical notes. - Identity: https://brvmdata.com/donnees/debt-sources/#dataset - Landing: https://brvmdata.com/en/donnees/debt-sources/ - French: https://brvmdata.com/donnees/debt-sources/ - Source: Debt offices of the eight states — strategies, financing plans, bulletins; see row/document provenance - Exported rows: 8; coverage field: None; bounds: None / None - Date meaning: No coverage date established for this table. - data_as_of: None; source_retrieved_at: 2026-10-28T05:01:33+00:00; scope: source store metadata; not each row's publication date - Collection: Wednesday 05:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - source_id: TEXT; null; null; null - country: TEXT; null; null; null - institution: TEXT; null; null; null - base_url: TEXT; null; null; null - index_url: TEXT; null; null; null - status: TEXT; null; null; null - last_checked: TEXT; null; null; null - note: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/debt_sources.csv (text/csv, compression=None, 2845 bytes, SHA-256 f3d6303ad6cf0fc968e56267d60bb18d600d4ba6c9f9db6456479aadec06bfbc) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### ecb_eur_rates Euro reference rates published by the ECB. Public downloadable table with provenance and a column dictionary. - Identity: https://brvmdata.com/donnees/ecb-eur-rates/#dataset - Landing: https://brvmdata.com/en/donnees/ecb-eur-rates/ - French: https://brvmdata.com/donnees/ecb-eur-rates/ - Source: ECB — euro reference rates, XOF crosses through the fixed peg; https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html - Exported rows: 3016; coverage field: quote_date; bounds: 2026-06-18 / 2026-11-10 - Date meaning: Reference date of the exchange rate. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T15:40:55+00:00; scope: exported rows - Collection: Mon–Fri 15:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - quote_date: TEXT; null; null; null - currency_code: TEXT; null; null; null - rate_per_eur: REAL; null; null; null - source_url: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/ecb_eur_rates.csv (text/csv, compression=None, 341447 bytes, SHA-256 4210c03de1b6c7402797264c2072acc345e6624b62430c82a7eec829177ca081) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### ecb_peg_checks Daily peg check: BCEAO dollar rate against the ECB-derived dollar rate. - Identity: https://brvmdata.com/donnees/ecb-peg-checks/#dataset - Landing: https://brvmdata.com/en/donnees/ecb-peg-checks/ - French: https://brvmdata.com/donnees/ecb-peg-checks/ - Source: ECB — euro reference rates, XOF crosses through the fixed peg; https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html - Exported rows: 39; coverage field: quote_date; bounds: 2026-09-14 / 2026-11-09 - Date meaning: Reference date of the exchange rate. - data_as_of: 2026-11-09; source_retrieved_at: 2026-11-10T15:40:55+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 15:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - quote_date: TEXT; null; null; null - bceao_eur_buy: REAL; null; null; null - bceao_eur_sell: REAL; null; null; null - bceao_usd_mid: REAL; null; null; null - derived_usd_mid: REAL; null; null; null - usd_deviation_pct: REAL; percent; null; null - peg_intact: INTEGER; null; null; null - note: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/ecb_peg_checks.csv (text/csv, compression=None, 8199 bytes, SHA-256 a2a5b57c988e46623a359f40ca39d090ef2813f2e59c25d32d4f7e96294eaa41) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### ecb_xof_crosses CFA franc rates derived from ECB rates through the fixed peg (XOF 655.957 per euro). - Identity: https://brvmdata.com/donnees/ecb-xof-crosses/#dataset - Landing: https://brvmdata.com/en/donnees/ecb-xof-crosses/ - French: https://brvmdata.com/donnees/ecb-xof-crosses/ - Source: ECB — euro reference rates, XOF crosses through the fixed peg; https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html - Exported rows: 3120; coverage field: quote_date; bounds: 2026-06-18 / 2026-11-10 - Date meaning: Reference date of the exchange rate. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T15:40:55+00:00; scope: exported rows - Collection: Mon–Fri 15:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - quote_date: TEXT; null; null; null - currency_code: TEXT; null; null; null - xof_per_unit: REAL; null; null; null - rate_per_eur: REAL; null; null; null - peg_eur_xof: REAL; XOF; null; null - retrieved_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/ecb_xof_crosses.csv (text/csv, compression=None, 200224 bytes, SHA-256 8eba356266db183178fad706c198946046ee4f585e990344ebb275e176d2ed1e) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### fil_filings Listed-company filings (financial statements, activity reports, auditors' reports): type, period, date, link to the PDF. - Identity: https://brvmdata.com/donnees/fil-filings/#dataset - Landing: https://brvmdata.com/en/donnees/fil-filings/ - French: https://brvmdata.com/donnees/fil-filings/ - Source: BRVM — listed-company financial statements and reports; https://www.brvm.org/fr/rapports-societes-cotees - Exported rows: 3656; coverage field: published_date; bounds: 2000-02-15 / 2026-11-05 - Date meaning: Recorded publication date; check imputed-date flags. - data_as_of: 2026-11-05; source_retrieved_at: 2026-11-09T06:13:22+00:00; scope: source store metadata; not each row's publication date - Collection: Monday 06:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - filing_id: TEXT; null; null; null - issuer_slug: TEXT; null; null; null - title: TEXT; null; null; null - doc_type: TEXT; null; null; null - period_label: TEXT; null; null; null - period_type: TEXT; null; null; null - period_number: INTEGER; null; null; null - fiscal_year: INTEGER; null; null; null - audited: INTEGER; null; null; null - published_date: TEXT; null; null; null - source_url: TEXT; null; null; null - document_id: INTEGER; null; null; null - first_seen: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/fil_filings.csv (text/csv, compression=None, 1094222 bytes, SHA-256 b1e456c531d7d64e56e4f530c7dec09493d6ca87678ec4d20df626bb53cbf0ae) - Join: document_id → fil_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: issuer_slug → fil_issuers.slug. Exact issuer slug; names alone are not stable join keys. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### fil_issuers Issuers in the BRVM listed-company filing archive. - Identity: https://brvmdata.com/donnees/fil-issuers/#dataset - Landing: https://brvmdata.com/en/donnees/fil-issuers/ - French: https://brvmdata.com/donnees/fil-issuers/ - Source: BRVM — listed-company financial statements and reports; https://www.brvm.org/fr/rapports-societes-cotees - Exported rows: 75; coverage field: None; bounds: None / None - Date meaning: No coverage date established for this table. - data_as_of: None; source_retrieved_at: 2026-11-09T06:13:22+00:00; scope: source store metadata; not each row's publication date - Collection: Monday 06:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - slug: TEXT; null; null; null - code: TEXT; null; null; null - name: TEXT; null; null; null - description: TEXT; null; null; null - issuer_url: TEXT; null; null; null - first_seen: TEXT; null; null; null - last_seen: TEXT; null; null; null - filing_count: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/fil_issuers.csv (text/csv, compression=None, 12926 bytes, SHA-256 d009584566d1cb3a67deb1f4654199f5754b2948aebd6f4a4eeb9c6f1c161a6e) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### fund_annual Annual accounts extracted from published statements: revenue, earnings, equity, dividend, source, method, confidence. - Identity: https://brvmdata.com/donnees/fund-annual/#dataset - Landing: https://brvmdata.com/en/donnees/fund-annual/ - French: https://brvmdata.com/donnees/fund-annual/ - Source: Listed-company annual accounts (extracted from published statements); see row/document provenance - Exported rows: 518; coverage field: published_date; bounds: 2015-02-18 / 2026-09-17 - Date meaning: Recorded publication date; check imputed-date flags. - data_as_of: 2026-09-17; source_retrieved_at: 2026-11-01T16:31:06+00:00; scope: source store metadata; not each row's publication date - Collection: Closed dataset (2026-10-13); state: closed - Fields (storage type; unit; basis; row-specific unit field): - symbol: TEXT; null; null; null - issuer_slug: TEXT; null; null; null - fiscal_year: REAL; null; null; null - period: TEXT; null; null; null - basis: TEXT; null; null; null - revenue: REAL; XOF million; basis column: social or consolidated; period/cumulative and restatement flags apply; null - operating_income: REAL; XOF million; basis column: social or consolidated; period/cumulative and restatement flags apply; null - net_income: REAL; XOF million; basis column: social or consolidated; period/cumulative and restatement flags apply; null - equity: REAL; XOF million; basis column: social or consolidated; period/cumulative and restatement flags apply; null - total_assets: REAL; XOF million; basis column: social or consolidated; period/cumulative and restatement flags apply; null - dividend_per_share: REAL; XOF per share; See source, note and share basis; do not presume net of tax; null - shares: REAL; count; null; null - published_date: TEXT; null; null; null - source: TEXT; null; null; null - page: REAL; null; null; null - method: TEXT; null; null; null - confidence: TEXT; null; null; null - note: TEXT; null; null; null - equity_total: REAL; XOF million; basis column: social or consolidated; period/cumulative and restatement flags apply; null - shares_derived: TEXT; null; null; null - published_date_imputed: TEXT; null; null; null - published_date_evidence: TEXT; null; null; null - pit_excluded: TEXT; null; null; null - restated_values: TEXT; null; null; null - flags: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/fund_annual.csv (text/csv, compression=None, 428510 bytes, SHA-256 0e0fdc50de1f820ea9052f3effe24ba06e786ec3f34e37c3011771e970c47030) - Join: issuer_slug → fil_issuers.slug. Exact issuer slug; names alone are not stable join keys. - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Join: source → fil_filings.filing_id. Source identifier of the filing. Follow document_id to fil_documents or the filing source_url; keep page, confidence and date flags. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Check confidence, basis, published_date_imputed, restated_values and flags; exclude pit_excluded=true from point-in-time analysis. Do not add cumulative and period results. - Caveat: Closed research dataset: generating new metadata does not update its observations. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### fund_quarterly Interim results extracted from published reports: cumulative revenue and earnings, comparatives, source, confidence. - Identity: https://brvmdata.com/donnees/fund-quarterly/#dataset - Landing: https://brvmdata.com/en/donnees/fund-quarterly/ - French: https://brvmdata.com/donnees/fund-quarterly/ - Source: Listed-company interim results (extracted from published reports); see row/document provenance - Exported rows: 1113; coverage field: published_date; bounds: 2014-04-29 / 2026-10-09 - Date meaning: Recorded publication date; check imputed-date flags. - data_as_of: 2026-10-09; source_retrieved_at: 2026-11-01T16:44:41+00:00; scope: source store metadata; not each row's publication date - Collection: Closed dataset; state: closed - Fields (storage type; unit; basis; row-specific unit field): - symbol: TEXT; null; null; null - issuer_slug: TEXT; null; null; null - fiscal_year: REAL; null; null; null - period: TEXT; null; null; null - cumulative: TEXT; null; null; null - basis: TEXT; null; null; null - revenue: REAL; XOF million; basis column: social or consolidated; period/cumulative and restatement flags apply; null - operating_income: REAL; XOF million; basis column: social or consolidated; period/cumulative and restatement flags apply; null - pretax_income: REAL; XOF million; basis column: social or consolidated; period/cumulative and restatement flags apply; null - net_income: REAL; XOF million; basis column: social or consolidated; period/cumulative and restatement flags apply; null - revenue_prior: REAL; XOF million; basis column: social or consolidated; period/cumulative and restatement flags apply; null - net_income_prior: REAL; XOF million; basis column: social or consolidated; period/cumulative and restatement flags apply; null - published_date: TEXT; null; null; null - source: TEXT; null; null; null - page: REAL; null; null; null - method: TEXT; null; null; null - confidence: TEXT; null; null; null - note: TEXT; null; null; null - published_date_imputed: TEXT; null; null; null - published_date_evidence: TEXT; null; null; null - restated_values: TEXT; null; null; null - flags: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/fund_quarterly.csv (text/csv, compression=None, 564665 bytes, SHA-256 db3e69eb7042f5ddbd3d714564f9513051d59db48dd4a31f41d357eee21df478) - Join: issuer_slug → fil_issuers.slug. Exact issuer slug; names alone are not stable join keys. - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Join: source → fil_filings.filing_id. Source identifier of the filing. Follow document_id to fil_documents or the filing source_url; keep page, confidence and date flags. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Check confidence, basis, published_date_imputed, restated_values and flags; exclude pit_excluded=true from point-in-time analysis. Do not add cumulative and period results. - Caveat: Closed research dataset: generating new metadata does not update its observations. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### intra_bond_quotes Bond prices at each intraday capture. Public downloadable table with provenance and a column dictionary. - Identity: https://brvmdata.com/donnees/intra-bond-quotes/#dataset - Landing: https://brvmdata.com/en/donnees/intra-bond-quotes/ - French: https://brvmdata.com/donnees/intra-bond-quotes/ - Source: BRVM — intraday trading screens; https://www.brvm.org/ - Exported rows: 20045; coverage field: snapshot_ts; bounds: 2026-09-15T18:04:00+00:00 / 2026-11-10T16:15:00+00:00 - Date meaning: UTC screen observation time; does not by itself mean closing. - data_as_of: 2026-11-10T16:15:00+00:00; source_retrieved_at: 2026-11-10T09:22:12+00:00; scope: source store metadata; not each row's publication date - Collection: Every 20 min, 09:00–16:40 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - snapshot_ts: TEXT; null; null; null - symbol: TEXT; null; null; null - bond_name: TEXT; null; null; null - issue_date: TEXT; null; null; null - maturity_date: TEXT; null; null; null - price_xof: NUMERIC; XOF; null; null - accrued_coupon_xof: NUMERIC; XOF; null; null - last_coupon_date: TEXT; null; null; null - last_coupon_xof: NUMERIC; XOF; null; null - segment: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/intra_bond_quotes.csv (text/csv, compression=None, 2192829 bytes, SHA-256 0a0b107d1be1cf7151c22779761f268d488e8cde8852f606ae8b471ea6778235) - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Join: snapshot_ts → intra_snapshots.snapshot_ts. Observation-specific market state and fetched_at; do not replace with the latest screen timestamp. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Periodic observations, not a real-time feed. A closed market does not turn the last quote into a closing price. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### intra_equity_quotes Share prices at each intraday capture. Public downloadable table with provenance and a column dictionary. - Identity: https://brvmdata.com/donnees/intra-equity-quotes/#dataset - Landing: https://brvmdata.com/en/donnees/intra-equity-quotes/ - French: https://brvmdata.com/donnees/intra-equity-quotes/ - Source: BRVM — intraday trading screens; https://www.brvm.org/ - Exported rows: 25002; coverage field: snapshot_ts; bounds: 2026-09-15T18:04:00+00:00 / 2026-11-10T15:15:00+00:00 - Date meaning: UTC screen observation time; does not by itself mean closing. - data_as_of: 2026-11-10T15:15:00+00:00; source_retrieved_at: 2026-11-10T09:22:12+00:00; scope: source store metadata; not each row's publication date - Collection: Every 20 min, 09:00–16:40 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - snapshot_ts: TEXT; null; null; null - symbol: TEXT; null; null; null - name: TEXT; null; null; null - price_open: NUMERIC; XOF per share; Source observation; not the split-adjusted chart series; null - price_prev: NUMERIC; XOF per share; Source observation; not the split-adjusted chart series; null - price_last: NUMERIC; XOF per share; Source observation; not the split-adjusted chart series; null - change_pct: NUMERIC; percent; null; null - volume: INTEGER; count; null; null - Download: https://brvmdata.com/telechargements/intra_equity_quotes.csv (text/csv, compression=None, 2035798 bytes, SHA-256 2bed916c76c7ff2dab9cc02fe8e3d25164cea5bc6e96c54b60519ce2592a4c57) - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Join: snapshot_ts → intra_snapshots.snapshot_ts. Observation-specific market state and fetched_at; do not replace with the latest screen timestamp. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Periodic observations, not a real-time feed. A closed market does not turn the last quote into a closing price. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### intra_movers Top gainers and losers shown at each intraday capture. - Identity: https://brvmdata.com/donnees/intra-movers/#dataset - Landing: https://brvmdata.com/en/donnees/intra-movers/ - French: https://brvmdata.com/donnees/intra-movers/ - Source: BRVM — intraday trading screens; https://www.brvm.org/ - Exported rows: 6412; coverage field: snapshot_ts; bounds: 2026-09-15T18:04:00+00:00 / 2026-11-10T16:30:00+00:00 - Date meaning: UTC screen observation time; does not by itself mean closing. - data_as_of: 2026-11-10T16:30:00+00:00; source_retrieved_at: 2026-11-10T09:22:12+00:00; scope: source store metadata; not each row's publication date - Collection: Every 20 min, 09:00–16:40 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - snapshot_ts: TEXT; null; null; null - direction: TEXT; null; null; null - symbol: TEXT; null; null; null - price_xof: NUMERIC; XOF; null; null - change_pct: NUMERIC; percent; null; null - Download: https://brvmdata.com/telechargements/intra_movers.csv (text/csv, compression=None, 295628 bytes, SHA-256 c2603981b6828b2c33aaa68ee1717fe676aa6df497ca9d69ed1d4c6e85476df8) - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Join: snapshot_ts → intra_snapshots.snapshot_ts. Observation-specific market state and fetched_at; do not replace with the latest screen timestamp. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Periodic observations, not a real-time feed. A closed market does not turn the last quote into a closing price. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### intra_snapshots Intraday trading-screen captures: session state, indices, value traded, capitalisations. - Identity: https://brvmdata.com/donnees/intra-snapshots/#dataset - Landing: https://brvmdata.com/en/donnees/intra-snapshots/ - French: https://brvmdata.com/donnees/intra-snapshots/ - Source: BRVM — intraday trading screens; https://www.brvm.org/ - Exported rows: 956; coverage field: snapshot_ts; bounds: 2026-09-15T18:04:00+00:00 / 2026-11-10T16:30:00+00:00 - Date meaning: UTC screen observation time; does not by itself mean closing. - data_as_of: 2026-11-10T16:30:00+00:00; source_retrieved_at: 2026-11-10T16:41:11+00:00; scope: exported rows - Collection: Every 20 min, 09:00–16:40 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - snapshot_ts: TEXT; null; null; null - session_state: TEXT; null; null; null - fetched_at: TEXT; null; null; null - equity_rows: INTEGER; count; null; null - bond_rows: INTEGER; count; null; null - transactions_value_xof: NUMERIC; XOF; null; null - equity_cap_xof: NUMERIC; XOF; null; null - bond_cap_xof: NUMERIC; XOF; null; null - brvm_c: NUMERIC; index point; null; null - brvm_c_change_pct: NUMERIC; percent; null; null - brvm_30: NUMERIC; index point; null; null - brvm_30_change_pct: NUMERIC; percent; null; null - brvm_pres: NUMERIC; index point; null; null - brvm_pres_change_pct: NUMERIC; percent; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/intra_snapshots.csv (text/csv, compression=None, 135345 bytes, SHA-256 dff8f4916b7570aab56ec32393f28052fa1d43d858554596227ca21924390faf) - Join: document_id → intra_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Periodic observations, not a real-time feed. A closed market does not turn the last quote into a closing price. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### link_disclosure_gaps Companies late with their filings: last filing, days elapsed, expected filing, basis. - Identity: https://brvmdata.com/donnees/link-disclosure-gaps/#dataset - Landing: https://brvmdata.com/en/donnees/link-disclosure-gaps/ - French: https://brvmdata.com/donnees/link-disclosure-gaps/ - Source: Issuer ↔ symbol matching, late filings (computation); see row/document provenance - Exported rows: 5; coverage field: as_of_date; bounds: 2026-11-09 / 2026-11-09 - Date meaning: Row reference date; does not replace dates of its component figures. - data_as_of: 2026-11-09; source_retrieved_at: None; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - symbol: TEXT; null; null; null - as_of_date: TEXT; null; null; null - issuer_slug: TEXT; null; null; null - issuer_name: TEXT; null; null; null - last_filing_date: TEXT; null; null; null - days_since_last_filing: INTEGER; null; null; null - expected_period: TEXT; null; null; null - reason: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/link_disclosure_gaps.csv (text/csv, compression=None, 1212 bytes, SHA-256 912623c9e5d18deb394d1b7e0eab19875d791c2377a1797286f58b2234ff06c7) - Join: issuer_slug → fil_issuers.slug. Exact issuer slug; names alone are not stable join keys. - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### link_fundamentals_snapshot Computed daily per-share snapshot: price, dividend, P/E, latest known filing. - Identity: https://brvmdata.com/donnees/link-fundamentals-snapshot/#dataset - Landing: https://brvmdata.com/en/donnees/link-fundamentals-snapshot/ - French: https://brvmdata.com/donnees/link-fundamentals-snapshot/ - Source: Issuer ↔ symbol matching, late filings (computation); see row/document provenance - Exported rows: 1672; coverage field: as_of_date; bounds: 2026-09-14 / 2026-11-09 - Date meaning: Row reference date; does not replace dates of its component figures. - data_as_of: 2026-11-09; source_retrieved_at: None; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - as_of_date: TEXT; null; null; null - symbol: TEXT; null; null; null - issuer_slug: TEXT; null; null; null - issuer_name: TEXT; null; null; null - close_price: REAL; XOF per share; Source observation; not the split-adjusted chart series; null - day_change_pct: REAL; percent; null; null - dividend_net: REAL; XOF per share; Source observation; not the split-adjusted chart series; null - dividend_yield: REAL; null; null; null - per: REAL; ratio; null; null - last_filing_date: TEXT; null; null; null - last_filing_type: TEXT; null; null; null - last_filing_period: TEXT; null; null; null - latest_fy_statements: INTEGER; null; null; null - latest_half_report: INTEGER; null; null; null - days_since_last_filing: INTEGER; null; null; null - filing_count: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/link_fundamentals_snapshot.csv (text/csv, compression=None, 212876 bytes, SHA-256 7621f86dd3e65af823a68604d2fb5c4286624f5a35a4c07a329257010c49c9a4) - Join: issuer_slug → fil_issuers.slug. Exact issuer slug; names alone are not stable join keys. - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### link_issuer_symbols Computed match between filing-archive issuers and BRVM symbols, with method and confidence. - Identity: https://brvmdata.com/donnees/link-issuer-symbols/#dataset - Landing: https://brvmdata.com/en/donnees/link-issuer-symbols/ - French: https://brvmdata.com/donnees/link-issuer-symbols/ - Source: Issuer ↔ symbol matching, late filings (computation); see row/document provenance - Exported rows: 75; coverage field: None; bounds: None / None - Date meaning: No coverage date established for this table. - data_as_of: None; source_retrieved_at: None; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - issuer_slug: TEXT; null; null; null - symbol: TEXT; null; null; null - issuer_name: TEXT; null; null; null - issuer_code: TEXT; null; null; null - listing_type: TEXT; null; null; null - match_method: TEXT; null; null; null - confidence: TEXT; null; null; null - matched_on: TEXT; null; null; null - verified_at: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/link_issuer_symbols.csv (text/csv, compression=None, 10642 bytes, SHA-256 109af31bac9a8d720212b22e3b0748290f68dbd17366b6963f7ea5b5bfad323c) - Join: issuer_slug → fil_issuers.slug. Exact issuer slug; names alone are not stable join keys. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### news_items BRVM news and issuer announcements published on brvm.org (press releases, meeting notices, draft resolutions, ratings, management changes, threshold crossings): date, title as published, section, company, link to the source. - Identity: https://brvmdata.com/donnees/news-items/#dataset - Landing: https://brvmdata.com/en/donnees/news-items/ - French: https://brvmdata.com/donnees/news-items/ - Source: BRVM — news and issuer announcements (brvm.org); https://www.brvm.org/fr/mediacentre/actualites - Exported rows: 2416; coverage field: published_date; bounds: 2001-03-02 / 2026-10-23 - Date meaning: Recorded publication date; check imputed-date flags. - data_as_of: 2026-10-23; source_retrieved_at: 2026-11-10T22:01:20+00:00; scope: exported rows - Collection: Hourly 07:00–22:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - item_id: TEXT; null; null; null - section: TEXT; null; null; null - category: TEXT; null; null; null - category_label: TEXT; null; null; null - title: TEXT; null; null; null - published_date: TEXT; null; null; null - published_at: TEXT; null; null; null - published_year: INTEGER; null; null; null - published_label: TEXT; null; null; null - date_basis: TEXT; null; null; null - issuer_label: TEXT; null; null; null - url: TEXT; null; null; null - language: TEXT; null; null; null - node_id: INTEGER; null; null; null - guid: TEXT; null; null; null - tags: TEXT; null; null; null - source_url: TEXT; null; null; null - document_id: INTEGER; null; null; null - first_seen: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - parser_version: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/news_items.csv (text/csv, compression=None, 1067121 bytes, SHA-256 3301a9b0ea4b6235d04c1af468553ff281846060bc8e0bf9986476d674c609a1) - Join: document_id → news_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: issuer_label → link_issuer_symbols.issuer_name. Exact BRVM issuer label of an announcement; null for news and some announcements. The title may name a different, more recent company name. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Titles as published, no document body. published_date is empty when the BRVM gives only the year (date_basis=archive_year) or no date; published_at exists only for items read from its RSS feed. The /actualites/ river and its RSS feeds use only dated items with a link. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### ref_capitalisations Capitalisation per company from brvm.org: shares, price, total and free-float capitalisation, weight. - Identity: https://brvmdata.com/donnees/ref-capitalisations/#dataset - Landing: https://brvmdata.com/en/donnees/ref-capitalisations/ - French: https://brvmdata.com/donnees/ref-capitalisations/ - Source: BRVM — capitalisations, P/E, corporate actions, notices; https://www.brvm.org/ - Exported rows: 1913; coverage field: as_of_date; bounds: 2026-09-15 / 2026-11-10 - Date meaning: Row reference date; does not replace dates of its component figures. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T21:20:19+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:15 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - as_of_date: TEXT; null; null; null - symbol: TEXT; null; null; null - issuer_name: TEXT; null; null; null - shares_outstanding: INTEGER; null; null; null - price_xof: REAL; XOF; null; null - free_float_cap_xof: INTEGER; XOF; null; null - total_cap_xof: INTEGER; XOF; null; null - market_weight_pct: REAL; percent; null; null - compartment: TEXT; null; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/ref_capitalisations.csv (text/csv, compression=None, 207808 bytes, SHA-256 e958f7d5774d11f9a0149a4e7908334c32829e9b8dea3485a0b39a1f7d04bba6) - Join: document_id → ref_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### ref_corporate_actions Corporate actions announced by the BRVM: dividends (net, gross, dates), splits, capital increases, with links to the notices. - Identity: https://brvmdata.com/donnees/ref-corporate-actions/#dataset - Landing: https://brvmdata.com/en/donnees/ref-corporate-actions/ - French: https://brvmdata.com/donnees/ref-corporate-actions/ - Source: BRVM — capitalisations, P/E, corporate actions, notices; https://www.brvm.org/ - Exported rows: 1806; coverage field: ex_date; bounds: 2016-02-10 / 2026-11-26 - Date meaning: Corporate-action ex-date; may be in the future. - data_as_of: None; source_retrieved_at: 2026-11-10T21:20:19+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:15 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - action_id: TEXT; null; null; null - symbol: TEXT; null; null; null - issuer_label: TEXT; null; null; null - instrument_label: TEXT; null; null; null - event_type: TEXT; null; null; null - ex_date: TEXT; null; null; null - ex_date_label: TEXT; null; null; null - announcement_date: TEXT; null; null; null - payment_date: TEXT; null; null; null - fiscal_year: INTEGER; null; null; null - net_dividend_xof: REAL; XOF; null; null - gross_dividend_xof: REAL; XOF; null; null - ratio: TEXT; null; null; null - description: TEXT; null; null; null - avis_reference: TEXT; null; null; null - source_url: TEXT; null; null; null - communique_url: TEXT; null; null; null - document_id: INTEGER; null; null; null - listed_dividend_xof: REAL; XOF; null; null - net_dividend_basis: TEXT; null; null; null - net_dividend_individual_xof: REAL; XOF; null; null - net_dividend_company_xof: REAL; XOF; null; null - dividend_evidence_url: TEXT; null; null; null - dividend_bulletin_url: TEXT; null; null; null - dividend_evidence_note: TEXT; null; null; null - net_dividend_as_of: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/ref_corporate_actions.csv (text/csv, compression=None, 512361 bytes, SHA-256 401cf41cdb3f8e59d060f278eb20f95f7e4a8efd96ba0d5973c26c0c0ffdca67) - Join: document_id → ref_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### ref_market_totals Equity market capitalisation from brvm.org, with the session state at capture. - Identity: https://brvmdata.com/donnees/ref-market-totals/#dataset - Landing: https://brvmdata.com/en/donnees/ref-market-totals/ - French: https://brvmdata.com/donnees/ref-market-totals/ - Source: BRVM — capitalisations, P/E, corporate actions, notices; https://www.brvm.org/ - Exported rows: 38; coverage field: as_of_date; bounds: 2026-09-15 / 2026-11-10 - Date meaning: Row reference date; does not replace dates of its component figures. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T21:20:19+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:15 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - as_of_date: TEXT; null; null; null - company_count: INTEGER; null; null; null - total_cap_xof: INTEGER; XOF; null; null - change_prev_pct: REAL; percent; null; null - change_ytd_pct: REAL; percent; null; null - session_state: TEXT; null; null; null - source_timestamp: TEXT; null; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/ref_market_totals.csv (text/csv, compression=None, 2978 bytes, SHA-256 d9ebd35c3dd1fb74b175816f0126c4241c06d2fc5389a9ad702b0449af2f4650) - Join: document_id → ref_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### ref_notices BRVM notices: number, date, title, type, link to the PDF. - Identity: https://brvmdata.com/donnees/ref-notices/#dataset - Landing: https://brvmdata.com/en/donnees/ref-notices/ - French: https://brvmdata.com/donnees/ref-notices/ - Source: BRVM — capitalisations, P/E, corporate actions, notices; https://www.brvm.org/ - Exported rows: 53; coverage field: published_date; bounds: 2026-07-31 / 2026-10-23 - Date meaning: Recorded publication date; check imputed-date flags. - data_as_of: 2026-10-23; source_retrieved_at: 2026-11-10T21:20:19+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:15 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - notice_id: TEXT; null; null; null - notice_number: TEXT; null; null; null - published_date: TEXT; null; null; null - title: TEXT; null; null; null - notice_type: TEXT; null; null; null - source_url: TEXT; null; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/ref_notices.csv (text/csv, compression=None, 12790 bytes, SHA-256 36b5b1458930f16b192641d6538ebdf53260886391fad777fd4d8a64cec33872) - Join: document_id → ref_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### ref_valuation_metrics P/E, volume and value traded per company, from brvm.org. - Identity: https://brvmdata.com/donnees/ref-valuation-metrics/#dataset - Landing: https://brvmdata.com/en/donnees/ref-valuation-metrics/ - French: https://brvmdata.com/donnees/ref-valuation-metrics/ - Source: BRVM — capitalisations, P/E, corporate actions, notices; https://www.brvm.org/ - Exported rows: 1913; coverage field: as_of_date; bounds: 2026-09-15 / 2026-11-10 - Date meaning: Row reference date; does not replace dates of its component figures. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T21:20:19+00:00; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:15 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - as_of_date: TEXT; null; null; null - symbol: TEXT; null; null; null - issuer_name: TEXT; null; null; null - volume: INTEGER; null; null; null - value_xof: INTEGER; XOF; null; null - per: REAL; ratio; null; null - value_share_pct: REAL; percent; null; null - compartment: TEXT; null; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/ref_valuation_metrics.csv (text/csv, compression=None, 166390 bytes, SHA-256 51d1be60f1f02828fafc9f7df6552ce91ef8f468d0b244fbc69b3f425f5d9fad) - Join: document_id → ref_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: symbol → link_issuer_symbols.symbol. Matching evidence, not guaranteed one-to-one. Inspect match_method/confidence and issuer_slug before linking filings. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### rep_country_totals Government securities outstanding by country and month, published and recomputed. - Identity: https://brvmdata.com/donnees/rep-country-totals/#dataset - Landing: https://brvmdata.com/en/donnees/rep-country-totals/ - French: https://brvmdata.com/donnees/rep-country-totals/ - Source: UMOA-Titres — monthly outstanding securities and statistics; https://www.umoatitres.org/ - Exported rows: 248; coverage field: report_date; bounds: 2024-03-31 / 2026-10-31 - Date meaning: Report reference date, not retrieval date. - data_as_of: 2026-10-31; source_retrieved_at: 2026-11-06T08:07:53+00:00; scope: source store metadata; not each row's publication date - Collection: Daily 08:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - report_date: TEXT; null; null; null - country: TEXT; null; null; null - securities_count: INTEGER; count; null; null - total_outstanding_bn: REAL; XOF billion; null; null - oat_total_bn: REAL; XOF billion; null; null - bat_total_bn: REAL; XOF billion; null; null - computed_outstanding_bn: REAL; XOF billion; null; null - computed_securities_count: INTEGER; null; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/rep_country_totals.csv (text/csv, compression=None, 15124 bytes, SHA-256 58de0582bdb69cd0eae249a0a864ada52e60db57a679cee700fff840df75a2f8) - Join: document_id → rep_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### rep_live_securities Outstanding government securities per UMOA-Titres monthly report: ISIN, country, type, maturity, amount, coupon. - Identity: https://brvmdata.com/donnees/rep-live-securities/#dataset - Landing: https://brvmdata.com/en/donnees/rep-live-securities/ - French: https://brvmdata.com/donnees/rep-live-securities/ - Source: UMOA-Titres — monthly outstanding securities and statistics; https://www.umoatitres.org/ - Exported rows: 22943; coverage field: report_date; bounds: 2024-03-31 / 2026-10-31 - Date meaning: Report reference date, not retrieval date. - data_as_of: 2026-10-31; source_retrieved_at: 2026-11-06T08:07:53+00:00; scope: source store metadata; not each row's publication date - Collection: Daily 08:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - report_date: TEXT; null; null; null - isin: TEXT; null; null; null - country: TEXT; null; null; null - instrument_type: TEXT; null; null; null - issue_tenor_label: TEXT; null; null; null - residual_years: REAL; year; null; null - value_date: TEXT; null; null; null - maturity_date: TEXT; null; null; null - outstanding_bn: REAL; XOF billion; null; null - coupon_rate: REAL; null; null; null - coupon_periodicity: TEXT; null; null; null - amortization_mode: TEXT; null; null; null - grace_years: REAL; year; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/rep_live_securities.csv (text/csv, compression=None, 2049173 bytes, SHA-256 faa59917ae56d8a2e591624abe4da9142c78f891df1e6b618e3cc32d95a36bbb) - Join: document_id → rep_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: isin → dcbr_securities.isin. Exact ISIN after checking case/whitespace; preserve report/trade/payment dates. Coverage may differ and some ISINs have no match. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### rep_market_monthly Amounts raised, repaid and outstanding by country and month. - Identity: https://brvmdata.com/donnees/rep-market-monthly/#dataset - Landing: https://brvmdata.com/en/donnees/rep-market-monthly/ - French: https://brvmdata.com/donnees/rep-market-monthly/ - Source: UMOA-Titres — monthly outstanding securities and statistics; https://www.umoatitres.org/ - Exported rows: 252; coverage field: report_date; bounds: 2024-07-31 / 2026-10-31 - Date meaning: Report reference date, not retrieval date. - data_as_of: 2026-10-31; source_retrieved_at: 2026-11-06T08:07:53+00:00; scope: source store metadata; not each row's publication date - Collection: Daily 08:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - report_date: TEXT; null; null; null - country: TEXT; null; null; null - mobilised_bat_bn: REAL; XOF billion; null; null - mobilised_oat_bn: REAL; XOF billion; null; null - mobilised_total_bn: REAL; XOF billion; null; null - repaid_bn: REAL; XOF billion; null; null - outstanding_bn: REAL; XOF billion; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/rep_market_monthly.csv (text/csv, compression=None, 13418 bytes, SHA-256 73c8d556ed23a7d8d63d4ff3643c1443c9a9ccd00cd6104aa1cbd1a59d6a64ce) - Join: document_id → rep_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### sec_secondary_activity Weekly secondary-market activity: trades, participants, securities, volume, changes. - Identity: https://brvmdata.com/donnees/sec-secondary-activity/#dataset - Landing: https://brvmdata.com/en/donnees/sec-secondary-activity/ - French: https://brvmdata.com/donnees/sec-secondary-activity/ - Source: UMOA-Titres — secondary market (weekly report and daily sheet); https://www.umoatitres.org/ - Exported rows: 837; coverage field: report_week_end; bounds: 2021-05-14 / 2026-11-06 - Date meaning: Report period end, not publication date. - data_as_of: 2026-11-06; source_retrieved_at: 2026-11-10T16:13:57+00:00; scope: source store metadata; not each row's publication date - Collection: Daily 16:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - report_week_end: TEXT; null; null; null - period_type: TEXT; null; null; null - period_label: TEXT; null; null; null - transaction_count: INTEGER; null; null; null - participant_count: INTEGER; count; null; null - instrument_count: INTEGER; null; null; null - volume_xof: INTEGER; XOF; null; null - transaction_variation_pct: REAL; percent; null; null - participant_variation_pct: REAL; percent; null; null - instrument_variation_pct: REAL; percent; null; null - volume_variation_pct: REAL; percent; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/sec_secondary_activity.csv (text/csv, compression=None, 66997 bytes, SHA-256 2f92815fb254dce5d30470e7f3b0653ccb1b456f8b0618f0ad3e683b918a04d4) - Join: document_id → sec_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### sec_secondary_daily_totals Daily total volume of the government securities secondary market. - Identity: https://brvmdata.com/donnees/sec-secondary-daily-totals/#dataset - Landing: https://brvmdata.com/en/donnees/sec-secondary-daily-totals/ - French: https://brvmdata.com/donnees/sec-secondary-daily-totals/ - Source: UMOA-Titres — secondary market (weekly report and daily sheet); https://www.umoatitres.org/ - Exported rows: 1195; coverage field: trade_date; bounds: 2021-05-10 / 2026-11-06 - Date meaning: Published trade date, not retrieval date. - data_as_of: 2026-11-06; source_retrieved_at: 2026-11-10T16:13:57+00:00; scope: source store metadata; not each row's publication date - Collection: Daily 16:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - trade_date: TEXT; null; null; null - report_week_end: TEXT; null; null; null - total_volume_xof: INTEGER; XOF; null; null - security_count: INTEGER; null; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/sec_secondary_daily_totals.csv (text/csv, compression=None, 46919 bytes, SHA-256 56fcc89097a902e40f5efa5494627db0c5b179e45d7e212e6b65d95f63bea900) - Join: document_id → sec_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### sec_secondary_trades_all Government securities secondary-market trades (weekly reports): average price, yield, volume. - Identity: https://brvmdata.com/donnees/sec-secondary-trades-all/#dataset - Landing: https://brvmdata.com/en/donnees/sec-secondary-trades-all/ - French: https://brvmdata.com/donnees/sec-secondary-trades-all/ - Source: UMOA-Titres — secondary market (weekly report and daily sheet); https://www.umoatitres.org/ - Exported rows: 5607; coverage field: trade_date; bounds: 2021-05-10 / 2026-11-06 - Date meaning: Published trade date, not retrieval date. - data_as_of: 2026-11-06; source_retrieved_at: 2026-11-10T16:13:57+00:00; scope: source store metadata; not each row's publication date - Collection: Daily 16:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - trade_date: TEXT; null; null; null - isin: TEXT; null; null; null - country_code: TEXT; null; null; null - instrument: TEXT; null; null; null - amortization_mode: TEXT; null; null; null - life_label: TEXT; null; null; null - coupon_rate: REAL; null; null; null - maturity_date: TEXT; null; null; null - average_price_pct: REAL; percent; null; null - yield_pct: REAL; percent; null; null - nominal_volume_xof: INTEGER; XOF; null; null - trade_count: INTEGER; count; null; null - source: null; null; null; null - Download: https://brvmdata.com/telechargements/sec_secondary_trades_all.csv (text/csv, compression=None, 480681 bytes, SHA-256 a9494f830a4a588c8423d0307174c71b65d113b67473b2443a94bd9305d58522) - Join: isin → dcbr_securities.isin. Exact ISIN after checking case/whitespace; preserve report/trade/payment dates. Coverage may differ and some ISINs have no match. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### sec_secondary_trades_live Daily government securities secondary-market sheet: outstanding, price, published and estimated yields, volume. - Identity: https://brvmdata.com/donnees/sec-secondary-trades-live/#dataset - Landing: https://brvmdata.com/en/donnees/sec-secondary-trades-live/ - French: https://brvmdata.com/donnees/sec-secondary-trades-live/ - Source: UMOA-Titres — secondary market (weekly report and daily sheet); https://www.umoatitres.org/ - Exported rows: 7430; coverage field: trade_date; bounds: 2014-04-02 / 2026-11-06 - Date meaning: Published trade date, not retrieval date. - data_as_of: 2026-11-06; source_retrieved_at: 2026-11-10T16:13:57+00:00; scope: source store metadata; not each row's publication date - Collection: Daily 16:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - trade_date: TEXT; null; null; null - isin: TEXT; null; null; null - instrument: TEXT; null; null; null - issuer: TEXT; null; null; null - country_code: TEXT; null; null; null - amortization_mode: TEXT; null; null; null - residual_life_label: TEXT; null; null; null - outstanding_xof: INTEGER; XOF; null; null - turnover_ratio_pct: REAL; percent; null; null - coupon_rate: REAL; null; null; null - maturity_date: TEXT; null; null; null - quantity: INTEGER; null; null; null - average_price_pct: REAL; percent; null; null - price_spread_pct: REAL; percent; null; null - yield_published: REAL; null; null; null - yield_est: REAL; null; null; null - trade_count: INTEGER; count; null; null - accrued_interest_xof: INTEGER; XOF; null; null - nominal_volume_xof: INTEGER; XOF; null; null - total_volume_xof: INTEGER; XOF; null; null - document_id: INTEGER; null; null; null - Download: https://brvmdata.com/telechargements/sec_secondary_trades_live.csv (text/csv, compression=None, 1094315 bytes, SHA-256 042e008376074599a5bc6195e6b4497b5984cd93b06d35876160c5a9238d9085) - Join: document_id → sec_documents.id. Store-scoped document ID. Cite the matching source_url, document date and retrieved_at; never join IDs across stores. - Join: isin → dcbr_securities.isin. Exact ISIN after checking case/whitespace; preserve report/trade/payment dates. Coverage may differ and some ISINs have no match. - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### boc_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/boc-documents/#dataset - Landing: https://brvmdata.com/en/donnees/boc-documents/ - French: https://brvmdata.com/donnees/boc-documents/ - Source: BRVM — Official daily bulletin (PDF); https://www.brvm.org/fr/bulletins-officiels-de-la-cote - Exported rows: 2193; coverage field: doc_date; bounds: 2018-01-02 / 2026-11-09 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-11-09; source_retrieved_at: 2026-11-10T21:04:12+00:00; scope: exported rows - Collection: Mon–Fri 21:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/boc_documents.csv (text/csv, compression=None, 287078 bytes, SHA-256 ee459ef5741993e1b67690765f91099f34d0b88d71907be4dd0aae6b496b574e) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Official history is partial: check parse_status and the PDF; absence does not mean a session without trades. CSV prices are not split-adjusted. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### bfin_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/bfin-documents/#dataset - Landing: https://brvmdata.com/en/donnees/bfin-documents/ - French: https://brvmdata.com/donnees/bfin-documents/ - Source: BRVM — session database (bfin.brvm.org); https://bfin.brvm.org/ - Exported rows: 41; coverage field: doc_date; bounds: 1998-09-16 / 2026-11-10 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T22:04:23+00:00; scope: exported rows - Collection: Mon–Fri 22:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/bfin_documents.csv (text/csv, compression=None, 6190 bytes, SHA-256 fe76b34e56e0b033d03500b3321d76371549b6858301605498077d0a1a39ce8d) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### ref_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/ref-documents/#dataset - Landing: https://brvmdata.com/en/donnees/ref-documents/ - French: https://brvmdata.com/donnees/ref-documents/ - Source: BRVM — capitalisations, P/E, corporate actions, notices; https://www.brvm.org/ - Exported rows: 9; coverage field: doc_date; bounds: 2026-08-31 / 2026-11-10 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T21:20:19+00:00; scope: exported rows - Collection: Mon–Fri 21:15 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/ref_documents.csv (text/csv, compression=None, 2336 bytes, SHA-256 71586fcd4f64cf04bad43032a95b89e0aad962cb7ec0790a0d800fc79d97ead4) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### link_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/link-documents/#dataset - Landing: https://brvmdata.com/en/donnees/link-documents/ - French: https://brvmdata.com/donnees/link-documents/ - Source: Issuer ↔ symbol matching, late filings (computation); see row/document provenance - Exported rows: 0; coverage field: doc_date; bounds: None / None - Date meaning: Document date where known, distinct from retrieval. - data_as_of: None; source_retrieved_at: None; scope: source store metadata; not each row's publication date - Collection: Mon–Fri 21:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/link_documents.csv (text/csv, compression=None, 61 bytes, SHA-256 bc670142f4518abed814e0c22a8e9a86838c001d3a2ea2bd9e2c4ecef4e23d18) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### fil_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/fil-documents/#dataset - Landing: https://brvmdata.com/en/donnees/fil-documents/ - French: https://brvmdata.com/donnees/fil-documents/ - Source: BRVM — listed-company financial statements and reports; https://www.brvm.org/fr/rapports-societes-cotees - Exported rows: 3627; coverage field: doc_date; bounds: 2000-02-15 / 2026-11-05 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-11-05; source_retrieved_at: 2026-11-09T06:13:22+00:00; scope: exported rows - Collection: Monday 06:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/fil_documents.csv (text/csv, compression=None, 791235 bytes, SHA-256 85f0a88e0a6a7f6dab907e012ef44e5c09875247ac875bd5e6b98f3e53649a36) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### news_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/news-documents/#dataset - Landing: https://brvmdata.com/en/donnees/news-documents/ - French: https://brvmdata.com/donnees/news-documents/ - Source: BRVM — news and issuer announcements (brvm.org); https://www.brvm.org/fr/mediacentre/actualites - Exported rows: 213; coverage field: doc_date; bounds: None / None - Date meaning: Document date where known, distinct from retrieval. - data_as_of: None; source_retrieved_at: 2026-11-10T22:01:20+00:00; scope: exported rows - Collection: Hourly 07:00–22:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/news_documents.csv (text/csv, compression=None, 33898 bytes, SHA-256 409c5df489bd0acd2f01630e4129587f841604ada175bfc2c676e17c61bcff7b) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### intra_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/intra-documents/#dataset - Landing: https://brvmdata.com/en/donnees/intra-documents/ - French: https://brvmdata.com/donnees/intra-documents/ - Source: BRVM — intraday trading screens; https://www.brvm.org/ - Exported rows: 41; coverage field: doc_date; bounds: 2026-09-15 / 2026-11-10 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T09:22:12+00:00; scope: exported rows - Collection: Every 20 min, 09:00–16:40 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/intra_documents.csv (text/csv, compression=None, 7063 bytes, SHA-256 928a2aa76d4f4e001122946b2d21fffc96633ef4b2b8c3a53f723c78bd9603f6) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: Periodic observations, not a real-time feed. A closed market does not turn the last quote into a closing price. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### amf_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/amf-documents/#dataset - Landing: https://brvmdata.com/en/donnees/amf-documents/ - French: https://brvmdata.com/donnees/amf-documents/ - Source: AMF-UMOA — visas, publications, approved firms, funds; https://www.amf-umoa.org/ - Exported rows: 706; coverage field: doc_date; bounds: 2000-06-26 / 2026-09-28 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-09-28; source_retrieved_at: 2026-11-08T05:15:44+00:00; scope: exported rows - Collection: Sunday 05:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/amf_documents.csv (text/csv, compression=None, 115338 bytes, SHA-256 1a6624643a57c57a27979199c03d0c9c8bd5d7f88e5b9a5de1b7ae1a2750a7c3) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### bceao_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/bceao-documents/#dataset - Landing: https://brvmdata.com/en/donnees/bceao-documents/ - French: https://brvmdata.com/donnees/bceao-documents/ - Source: BCEAO — currency rates, policy rates, money market; https://www.bceao.int/ - Exported rows: 191; coverage field: doc_date; bounds: 2019-01-15 / 2026-11-10 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T18:44:14+00:00; scope: exported rows - Collection: Mon–Fri 18:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/bceao_documents.csv (text/csv, compression=None, 46059 bytes, SHA-256 4ae4138a9c1c1998385a921282356d7b986393eba22f30ad143b9ddb504a89ba) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### ecb_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/ecb-documents/#dataset - Landing: https://brvmdata.com/en/donnees/ecb-documents/ - French: https://brvmdata.com/donnees/ecb-documents/ - Source: ECB — euro reference rates, XOF crosses through the fixed peg; https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html - Exported rows: 1; coverage field: doc_date; bounds: 2026-11-10 / 2026-11-10 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T15:40:55+00:00; scope: exported rows - Collection: Mon–Fri 15:30 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/ecb_documents.csv (text/csv, compression=None, 214 bytes, SHA-256 06b57e62d44e1b254083b9e492c930bea99e99c708174560186257f060bcd8e1) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### auc_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/auc-documents/#dataset - Landing: https://brvmdata.com/en/donnees/auc-documents/ - French: https://brvmdata.com/donnees/auc-documents/ - Source: UMOA-Titres — auctions (calendar and results); https://www.umoatitres.org/ - Exported rows: 2075; coverage field: doc_date; bounds: 2014-01-08 / 2026-12-29 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T19:19:58+00:00; scope: exported rows - Collection: Mon–Fri 19:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/auc_documents.csv (text/csv, compression=None, 499302 bytes, SHA-256 2acf5b938d7c916e17fb8a4d22a2d381dfcc3bfa02d32695d25aa65eaed01b2c) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### rep_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/rep-documents/#dataset - Landing: https://brvmdata.com/en/donnees/rep-documents/ - French: https://brvmdata.com/donnees/rep-documents/ - Source: UMOA-Titres — monthly outstanding securities and statistics; https://www.umoatitres.org/ - Exported rows: 89; coverage field: doc_date; bounds: 2024-03-31 / 2026-10-31 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-10-31; source_retrieved_at: 2026-11-06T08:07:53+00:00; scope: exported rows - Collection: Daily 08:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/rep_documents.csv (text/csv, compression=None, 15559 bytes, SHA-256 5482f0eb8cae082c88c6571a1320a0a06ba5de2964b46a563466b3b33552585f) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### sec_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/sec-documents/#dataset - Landing: https://brvmdata.com/en/donnees/sec-documents/ - French: https://brvmdata.com/donnees/sec-documents/ - Source: UMOA-Titres — secondary market (weekly report and daily sheet); https://www.umoatitres.org/ - Exported rows: 314; coverage field: doc_date; bounds: 2021-05-07 / 2026-11-10 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-11-10; source_retrieved_at: 2026-11-10T16:13:57+00:00; scope: exported rows - Collection: Daily 16:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/sec_documents.csv (text/csv, compression=None, 53476 bytes, SHA-256 dad70fffc2137ccdff28c56e9939296ee697b580d3761d8999ff2081e3ec4d08) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### dcbr_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/dcbr-documents/#dataset - Landing: https://brvmdata.com/en/donnees/dcbr-documents/ - French: https://brvmdata.com/donnees/dcbr-documents/ - Source: DC/BR — term sheets and amortisation schedules; https://dcbruemoa.org/ - Exported rows: 383; coverage field: doc_date; bounds: 2012-08-13 / 2026-07-31 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-07-31; source_retrieved_at: 2026-11-08T04:06:37+00:00; scope: exported rows - Collection: Sunday 04:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/dcbr_documents.csv (text/csv, compression=None, 81748 bytes, SHA-256 4ae519b70bd4be68c2d157bd6efce062a04848a73489f9676b5cf3e9492a0f56) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### debt_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/debt-documents/#dataset - Landing: https://brvmdata.com/en/donnees/debt-documents/ - French: https://brvmdata.com/donnees/debt-documents/ - Source: Debt offices of the eight states — strategies, financing plans, bulletins; see row/document provenance - Exported rows: 71; coverage field: doc_date; bounds: 2024-01-30 / 2026-10-12 - Date meaning: Document date where known, distinct from retrieval. - data_as_of: 2026-10-12; source_retrieved_at: 2026-10-28T05:01:33+00:00; scope: exported rows - Collection: Wednesday 05:00 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/debt_documents.csv (text/csv, compression=None, 16263 bytes, SHA-256 b2abe9fe659b89a1000acca7c02a2ea424b865027247d6fd439ea8a927fd370a) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared. ### com_documents The source's document registry: original URL, category, file name, document date, retrieval date. - Identity: https://brvmdata.com/donnees/com-documents/#dataset - Landing: https://brvmdata.com/en/donnees/com-documents/ - French: https://brvmdata.com/donnees/com-documents/ - Source: FRED / IMF — monthly commodity prices; https://fred.stlouisfed.org/ - Exported rows: 7; coverage field: doc_date; bounds: None / None - Date meaning: Document date where known, distinct from retrieval. - data_as_of: None; source_retrieved_at: 2026-11-09T07:12:17+00:00; scope: exported rows - Collection: Monday 07:10 UTC; state: ok - Fields (storage type; unit; basis; row-specific unit field): - id: INT; null; null; null - source_url: TEXT; null; null; null - category: TEXT; null; null; null - filename: TEXT; null; null; null - doc_date: TEXT; null; null; null - retrieved_at: TEXT; null; null; null - status: TEXT; null; null; null - Download: https://brvmdata.com/telechargements/com_documents.csv (text/csv, compression=None, 910 bytes, SHA-256 dbcc5565f9b6cfab3372de164ddf30c301a3ea0f4013ea6935363a4852c2ccdc) - Caveat: An empty CSV cell means missing data or empty text, never zero by default. Declared types do not replace checking values before conversion. - Caveat: A recorded URL guarantees neither current availability nor reuse permission; retrieval status is not a current PDF check. - Terms: https://brvmdata.com/donnees/#licence; no blanket open licence declared.