{"id":"4c730466-e965-4d61-9e14-75623d1fc7e6","type":"DATASET","name":"European Central Bank — Consolidated Banking data (CBD2)","slug":"ecb-consolidated-banking-data-cbd2","description":"Consolidated Banking data (CBD2) — official time series from the European Central Bank Data Portal, published as the CBD2 dataflow over SDMX 2.1 REST. One endpoint serves XML (SDMX-ML), CSV (?format=csvdata) and JSON (?format=jsondata); extract exactly the series you need with a key path and startPeriod / endPeriod / lastNObservations filters. Browse and chart the same series on the ECB Data Portal.","free_access_class":"FREE_NO_AUTH","auth_type":"NONE","homepage_url":"https://data.ecb.europa.eu/data/datasets/CBD2","docs_url":"https://data.ecb.europa.eu/help/api/overview","repo_url":null,"status":"ACTIVE","verification_state":"VERIFIED","tags":["economy","prices"],"logo_url":"https://data.ecb.europa.eu/themes/custom/edp/favicon.ico","primary_source_url":"https://data-api.ecb.europa.eu/service/data/CBD2/all?lastNObservations=1&format=jsondata","extraction_confidence":"0.95","created_at":"2026-07-18T21:24:09.403Z","updated_at":"2026-10-16T09:47:57.511Z","last_verified_at":"2026-10-16T09:47:57.511Z","deprecated_at":null,"ranking_score":61,"last_ranked_at":"2026-10-06T20:35:52.506Z","last_seen_at":null,"last_validated_at":null,"last_uptime_at":null,"search_vector":"'2.1':29B,101B,199B,271B 'a':222B,246B,274B,293B 'across':166B,336B 'allow':116B 'allowing':286B 'also':137B,307B 'analysi':159B 'analysis':329B 'and':211B,225B,231B,283B,300B,310B,323B,334B 'api':103B,273B 'area':152B,322B 'as':193B,264B 'bank':3A,5A,9B,19B,72B,87B,155B,161B,173A,189B,257B 'banking':175A,179B,242B,325B,331B 'be':308B 'brows':60B,139B 'browse':230B 'browsed':309B 'by':253B 'can':306B 'cbd2':7A,11B,25B,74B,96B,177A,181B,195B,244B,266B 'central':2A,18B,86B,172A,188B,256B 'chart':62B,141B,232B 'charted':311B 'consolid':4A,8B,71B 'consolidated':174A,178B,241B 'cover':150B 'covers':320B 'csv':38B,112B,208B,282B 'csvdata':40B,210B 'data':6A,10B,20B,69B,73B,91B,146B,176A,180B,190B,239B,243B,261B,316B 'dataflow':26B,97B,196B,267B 'dataset':77B,149B,247B,319B 'direct':142B 'directly':312B 'distribut':93B 'distributed':263B 'ecb':68B,90B,145B,238B,260B,315B 'economi':169C 'endperiod':57B,129B,227B,299B 'endpoint':32B,106B,202B,276B 'eu':154B,324B 'euro':151B,321B 'european':1A,17B,85B,171A,187B,255B 'exact':46B 'exactly':216B 'extract':45B,119B,215B,289B 'filter':59B,132B 'filters':229B,302B 'format':39B,43B,115B,209B,213B 'formats':285B 'from':185B 'indic':157B 'indicators':327B 'is':245B 'json':42B,114B,212B,284B 'jsondata':44B,214B 'key':53B,124B,223B,294B 'lastnobserv':58B,131B 'lastnobservations':228B,301B 'member':167B,337B 'ml':37B,111B,207B,281B 'need':50B,220B 'of':248B,330B 'offici':12B,79B 'official':182B,249B 'on':236B,313B 'one':31B,201B 'over':197B,268B 'path':54B,125B,224B,295B 'perform':165B 'performance':335B 'portal':21B,70B,92B,147B,191B,240B,262B,317B 'price':170C 'publish':22B,82B 'published':192B,252B 'rest':30B,102B,200B,272B 'same':234B,304B 'sdmx':28B,36B,100B,110B,198B,206B,270B,280B 'sdmx-ml':35B,109B,205B,279B 'sector':156B,326B 'seri':14B,48B,65B,81B,121B,135B 'series':184B,218B,235B,251B,291B,305B 'serv':33B,107B 'serves':203B,277B 'singl':105B 'single':275B 'specif':120B 'specific':290B 'startperiod':56B,128B,226B,298B 'state':168B 'states':338B 'structur':163B 'structure':333B 'support':158B 'supporting':328B 'system':162B,332B 'the':186B,194B,217B,233B,237B,254B,259B,265B,269B,303B,314B,318B 'time':13B,80B,183B,250B 'to':288B 'togeth':126B 'together':296B 'use':122B 'user':117B 'users':287B 'using':292B 'via':88B,258B 'with':221B,297B 'xml':34B,108B,204B,278B 'you':219B","popularity_score":"0.0000","maintenance_score":"0.7000","institution_id":"eab3ebe3-a519-43d8-a676-4192af61f357","institution_type":"REGULATOR","country_code":"EU","official_confidence":95,"proof_summary":"Official ECB Data Portal dataflow CBD2, promoted from the endpoint-verified portal entry","source_seed_url":null,"is_public_sector":true,"published_at":"2026-07-18T21:24:09.403Z","geographic_scope":"EUROPEAN","name_en":null,"description_en":"Consolidated Banking data (CBD2) is a dataset of official time series published by the European Central Bank via the ECB Data Portal, distributed as the CBD2 dataflow over the SDMX 2.1 REST API. A single endpoint serves XML (SDMX-ML), CSV, and JSON formats, allowing users to extract specific series using a key path together with startPeriod, endPeriod, and lastNObservations filters. The same series can also be browsed and charted directly on the ECB Data Portal. The dataset covers euro area and EU banking sector indicators, supporting analysis of banking system structure and performance across member states.","native_lang":"en","access_level":"direct","formats":[],"capability_tier":"live","trust_score":76.25,"merged_into_entry_id":null,"identity_key":"DATASET|https://data-api.ecb.europa.eu/service/data/CBD2/all?format=jsondata&lastNObservations=1|european central bank — consolidated banking data (cbd2)","upstream_ref":null,"content_changed_at":null,"title_qualifier":null,"access":{"level":"direct","primary":{"kind":"query","label":"List dataflows","method":"GET","url":"https://data-api.ecb.europa.eu/service/dataflow/ECB","source":"query_example","runnable":true,"direct":true},"actions":[{"kind":"query","label":"List dataflows","method":"GET","url":"https://data-api.ecb.europa.eu/service/dataflow/ECB","source":"query_example","runnable":true,"direct":true},{"kind":"query","label":"Run verified request","method":"GET","url":"https://data.ecb.europa.eu/data/datasets/CBD2","source":"probe","runnable":true},{"kind":"query","label":"Dataflow structure","method":"GET","url":"https://data-api.ecb.europa.eu/service/dataflow/ECB/CBD2?references=all","source":"query_example","runnable":true,"direct":false},{"kind":"query","label":"Fetch observations (JSON)","method":"GET","url":"https://data-api.ecb.europa.eu/service/data/CBD2/all?lastNObservations=5&format=jsondata","source":"query_example","runnable":true,"direct":false},{"kind":"landing","label":"Read the docs","method":"GET","url":"https://data.ecb.europa.eu/help/api/overview","source":"docs","runnable":false},{"kind":"landing","label":"Open source record","method":"GET","url":"https://data-api.ecb.europa.eu/service/data/CBD2/all?lastNObservations=1&format=jsondata","source":"primary_source","runnable":false}],"formats":[]},"maturity":{"entry_id":"4c730466-e965-4d61-9e14-75623d1fc7e6","granularity":"entry","granularity_label":"One unit = one catalog entry. A PROXY for the SCOPE.md §4 ladder, which governs source families, not entries: a family with 400 entries moves this reading 400 times as much as a family with one. Never compare or combine with the source_family reading.","level":"executable","level_index":4,"level_label":"Executable","meaning":"Queries run through Commodity","counts_as_coverage":true,"blocked_by":null,"rungs":[{"level":"discovered","level_index":1,"label":"Discovered","meaning":"Source and metadata recorded","evidence":"membership of the named population the ladder is taken over","counts_as_coverage":false,"met":true,"reached":true,"criterion":"TRUE"},{"level":"verified","level_index":2,"label":"Verified","meaning":"Access tested successfully","evidence":"entries.verification_state = 'VERIFIED'","counts_as_coverage":false,"met":true,"reached":true,"criterion":"entries.verification_state = 'VERIFIED'"},{"level":"profiled","level_index":3,"label":"Profiled","meaning":"Schema, dimensions and licence understood","evidence":"a data profile with at least one field (entry_data_profiles.field_count > 0)","counts_as_coverage":false,"met":true,"reached":true,"criterion":"EXISTS (SELECT 1 FROM entry_data_profiles p WHERE p.entry_id = entries.id AND COALESCE(p.field_count, 0) > 0)"},{"level":"executable","level_index":4,"label":"Executable","meaning":"Queries run through Commodity","evidence":"entries.capability_tier = 'live' — today's proxy for \"queryable through us\"","counts_as_coverage":true,"met":true,"reached":true,"criterion":"entries.capability_tier = 'live'"},{"level":"joinable","level_index":5,"label":"Joinable","meaning":"Canonical identifiers and concepts mapped","evidence":"a field link to a canonical identifier whose sampled VALUES match its format","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM entry_field_links efl WHERE efl.entry_id = entries.id AND efl.identifier_id IS NOT NULL AND efl.value_status = 'match')"},{"level":"reproducible","level_index":6,"label":"Reproducible","meaning":"Snapshots and transformation evidence retained","evidence":"at least one retained evidence manifest (migration 078)","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM evidence_manifests em WHERE em.entry_id = entries.id)"},{"level":"guaranteed","level_index":7,"label":"Guaranteed","meaning":"Monitored against an operational reliability target","evidence":"an active reliability target with a named monitor (migration 096)","counts_as_coverage":true,"met":false,"reached":false,"criterion":"EXISTS (SELECT 1 FROM entry_reliability_targets rt WHERE rt.entry_id = entries.id AND rt.is_active = true)"}],"officialness":{"basis":"per_item_proven","label":"Proven for this item: its own proof signals scored >= 80 AND it matched a registered public institution, so it would have been APPROVED on its own evidence.","proof_confidence":95,"proven_threshold":80,"institution_id":"eab3ebe3-a519-43d8-a676-4192af61f357","definition":"CASE WHEN COALESCE(entries.is_public_sector, false) IS NOT TRUE THEN 'not_official' WHEN COALESCE(entries.official_confidence, 0) >= 80 AND entries.institution_id IS NOT NULL THEN 'per_item_proven' ELSE 'catalog_inherited' END"},"source_family":{"key":"data-api.ecb.europa.eu","label":"One unit = one source family, approximated by the serving host of the entry's primary source URL (e.g. bdl.stat.gov.pl). A COMPUTED stand-in for the curated families of SCOPE.md §5, which no table holds yet. A family sits at the highest level any of its entries has reached, because a family is integrated to the depth of its deepest working integration. Never compare or combine with the entry reading."},"generated_at":"2026-10-17T05:53:49.596Z"},"api_details":null,"dataset_details":null,"license":null,"reuse":{"license_id":null,"license_name":null,"license_url":null,"commercial_use":{"status":"unknown","value":null},"redistribution":{"status":"unknown","value":null},"attribution_required":{"status":"unknown","value":null},"share_alike":{"status":"unknown","value":null},"personal_data_warning":{"status":"unknown","value":null},"cache_and_mirror":{"status":"unknown","value":null},"undetermined":["commercial_use","redistribution","attribution_required","share_alike","personal_data_warning","cache_and_mirror"],"basis":"unverified","confidence":0.1,"confidence_tier":"low","source_text":null,"source_url":null,"reviewed_at":null},"license_raw":null,"latest_check":{"id":"ff1d60a6-cee8-4628-aac3-0667033d0e29","entry_id":"4c730466-e965-4d61-9e14-75623d1fc7e6","status":"VERIFIED","last_checked_at":"2026-10-16T09:47:57.354Z","p50_latency_ms":4567,"p95_latency_ms":null,"last_error":null,"consecutive_failures":0,"created_at":"2026-07-18T21:41:19.824Z","updated_at":"2026-10-16T09:47:57.354Z","consecutive_successes":25,"probe_url":"https://data.ecb.europa.eu/data/datasets/CBD2","probe_method":"GET","probe_http_status":200,"probe_content_type":"text/html; charset=UTF-8","probe_succeeded_at":"2026-10-16T09:47:57.354Z"},"data_profile":{"id":"935eafc6-cfb9-4b25-a163-20250b05fc00","entry_id":"4c730466-e965-4d61-9e14-75623d1fc7e6","profile_source":"sdmx","profile_kind":"dataset","dataset_id":"CBD2","fields":[{"name":"FREQ","role":"parameter","type":"dimension","label":"Frequency","param_in":"path","required":true,"filterable":true,"description":"2 codes (e.g. Annual, Quarterly)","enum_values":["A","Q"],"description_en":"Frequency of the observation, such as annual or quarterly."},{"name":"REF_AREA","role":"parameter","type":"dimension","label":"Reference area","param_in":"path","required":true,"filterable":true,"description":"30 codes (e.g. United Kingdom, Belgium, Cyprus)","enum_values":["GB","BE","CY","BG","CZ","AT","EE","FI","DK","FR","DE","IT","IE","HR","HU","LT","LV","LU","PL","PT","NL","RO","GR","SE","SI","MT","U2","SK","B0","ES"],"description_en":"Country or area to which the data refers."},{"name":"COUNT_AREA","role":"parameter","type":"dimension","label":"Counterpart area","param_in":"path","required":true,"filterable":true,"description":"4 codes (e.g. World (all entities, including reference area, including IO), Domestic (home or reference area), Not applicable)","enum_values":["W0","W2","_Z","W1"],"description_en":"Counterpart area relative to the reference area."},{"name":"CB_REP_SECTOR","role":"parameter","type":"dimension","label":"CBD reference sector breakdown","param_in":"path","required":true,"filterable":true,"description":"5 codes (e.g. Domestic banking groups and stand-alone banks, Domestic banking groups and stand alone banks, foreign (EU and non-EU) controlled subsidiaries and foreign (EU and non-EU) controlled branches, Foreign (EU and non-EU) controlled subsidiaries and foreign (EU and non-EU) controlled branches)","enum_values":["11","67","66","47","57"],"description_en":"Breakdown of the reporting banking sector by ownership and control type."},{"name":"BS_COUNT_SECTOR","role":"parameter","type":"dimension","label":"BS counterpart sector","param_in":"path","required":true,"filterable":true,"description":"10 codes (e.g. Not applicable, Households and non profit institutions serving households (NPISH), Non financial corporations)","enum_values":["_Z","S1M","S11","S122Z","S12V","S13","S121","S1Q","S1U","S1ZU"],"description_en":"Counterpart sector on the balance sheet, e.g. non-financial corporations."},{"name":"BS_NFC_ACTIVITY","role":"parameter","type":"dimension","label":"Activity","param_in":"path","required":true,"filterable":true,"description":"20 codes (e.g. Not applicable, Professional, scientific and technical activities, Administrative and support service activities)","enum_values":["_Z","M","N","O","P","Q","R","S","A","B","C","D","E","F","G","H","I","J","K","L"],"description_en":"Economic activity sector of the non-financial corporation counterpart."},{"name":"CB_SECTOR_SIZE","role":"parameter","type":"dimension","label":"CBD reference sector size","param_in":"path","required":true,"filterable":true,"description":"4 codes (e.g. All institutions, Medium-size institution, Large institution)","enum_values":["A","M","L","S"],"description_en":"Size category of the reporting institutions, e.g. large or small."},{"name":"CB_REP_FRAMEWRK","role":"parameter","type":"dimension","label":"CBD reporting framework","param_in":"path","required":true,"filterable":true,"description":"3 codes (e.g. Full sample (All banking groups / stand-alone banks irrespective of their accounting / supervisory reporting framework), FINREP (IFRS and GAAP), IFRS FINREP)","enum_values":["A","F","I"],"description_en":"Accounting or supervisory reporting framework used, e.g. IFRS FINREP."},{"name":"CB_ITEM","role":"parameter","type":"dimension","label":"Consolidated banking data item","param_in":"path","required":true,"filterable":true,"description":"352 codes (e.g. Loans and advances, Systemical important institution buffer, Performing debt instruments past due 60 days per total debt instruments)","enum_values":["A1100","OR160","I3624","I2514","A1200","A1300","I3015","I3016","I2212","I3390","I3461","I3462","I3463","I3622","I3623","E0000","E1000","E2000","E2100","I4241","I4242","I4243","I4290","I2220","I2311","I2312","I2320","I2400","I2410","I2411","A1114","A1116","A1117","A1132","A1133","A1134","A1135","P2420","P2430","I4300","L0000","L1100","I3626","I3627","I3633","I3634","I3635","E2115","E2125","E2130"],"description_en":"Specific consolidated banking data item being measured."},{"name":"CB_PORTFOLIO","role":"parameter","type":"dimension","label":"CBD portfolio","param_in":"path","required":true,"filterable":true,"description":"14 codes (e.g. Not specified, Not applicable, Available-for-sale financial assets)","enum_values":["_X","_Z","AFS","FVO","FVP","HFT","HAC","HTM","LAR","MAC","MFP","LIB","OTH","AST"],"description_en":"Financial portfolio category to which the item belongs."},{"name":"CB_EXP_TYPE","role":"parameter","type":"dimension","label":"CBD exposure type","param_in":"path","required":true,"filterable":true,"description":"9 codes (e.g. All exposures, Not applicable, Non-performing exposures)","enum_values":["ALL","_Z","N_","AFM","NFM","ENA","NEA","PFM","P_"],"description_en":"Type of exposure covered, e.g. non-performing exposures."},{"name":"CB_VAL_METHOD","role":"parameter","type":"dimension","label":"CBD valuation method","param_in":"path","required":true,"filterable":true,"description":"14 codes (e.g. Carrying amount, Computable amount, Not applicable)","enum_values":["CA","CM","_Z","GC","RW","OE","CP","TA","AI","FV","CR","FG","NA","EV"],"description_en":"Valuation method applied to the reported amount."},{"name":"MATURITY_RES","role":"parameter","type":"dimension","label":"Residual maturity","param_in":"path","required":true,"filterable":true,"description":"1 codes (e.g. Not applicable)","enum_values":["_Z"],"description_en":"Residual maturity breakdown of the item, where applicable."},{"name":"DATA_TYPE","role":"parameter","type":"dimension","label":"Data type","param_in":"path","required":true,"filterable":true,"description":"3 codes (e.g. Closing balance sheet/Positions/Stocks, Not applicable, Transactions)","enum_values":["LE","_Z","T"],"description_en":"Type of data recorded, such as stocks or transactions."},{"name":"CURRENCY_TRANS","role":"parameter","type":"dimension","label":"Currency of transaction","param_in":"path","required":true,"filterable":true,"description":"2 codes (e.g. All currencies, Not applicable)","enum_values":["_T","_Z"],"description_en":"Currency denomination of the underlying transaction."},{"name":"UNIT_MEASURE","role":"parameter","type":"dimension","label":"Unit of measure","param_in":"path","required":true,"filterable":true,"description":"3 codes (e.g. Euro, Percent, Pure number)","enum_values":["EUR","PC","PN"],"description_en":"Unit in which the observation value is expressed."},{"name":"OBS_VALUE","role":"field","type":"number","label":"Observation value","description":"The observed numeric value for each cell.","description_en":"Observed numeric value for the given series combination."}],"field_count":17,"sample_records":[],"record_count":null,"data_size_bytes":null,"dataset_count":null,"query_examples":[{"url":"https://data-api.ecb.europa.eu/service/dataflow/ECB","curl":"curl -s 'https://data-api.ecb.europa.eu/service/dataflow/ECB' -H 'Accept: application/vnd.sdmx.structure+xml;version=2.1'","label":"List dataflows","method":"GET","description":"All dataflows (datasets) published by this agency, as SDMX-ML."},{"url":"https://data-api.ecb.europa.eu/service/dataflow/ECB/CBD2?references=all","curl":"curl -s 'https://data-api.ecb.europa.eu/service/dataflow/ECB/CBD2?references=all' -H 'Accept: application/vnd.sdmx.structure+xml;version=2.1'","label":"Dataflow structure","method":"GET","description":"Full structure of the CBD2 dataflow: dimensions, code lists, attributes."},{"url":"https://data-api.ecb.europa.eu/service/data/CBD2/all?lastNObservations=5&format=jsondata","curl":"curl -s 'https://data-api.ecb.europa.eu/service/data/CBD2/all?lastNObservations=5&format=jsondata'","label":"Fetch observations (JSON)","method":"GET","description":"Latest observations as SDMX-JSON (the response embeds the dimension structure). Add a key like /data/CBD2/D.USD.EUR.SP00.A to select a series."}],"status":"ok","error_message":null,"profiled_at":"2026-10-15T20:55:28.769Z","run_id":"21eeedc7-8e5a-4393-be36-8835fc3e5712","created_at":"2026-07-19T22:11:27.276Z","updated_at":"2026-10-15T20:55:28.769Z","license_raw":null,"license_id":null,"consecutive_failure_count":0,"last_error_at":null,"last_error_message":null,"previewable":true,"personal_data":{"status":"none","basis":"no_person_column_cited","grain":"none","allowed":true,"columns":{"direct_identifiers":[],"family_names":[],"given_names":[],"attributes":[],"unresolved_names":[],"measures":["COUNT_AREA","BS_COUNT_SECTOR","OBS_VALUE"],"entity_identifiers":[]},"publication":null,"publication_evidence":null,"notice":"personal data: no cited column names a natural person (the cited columns are all this reads)"}},"datasets":[],"limits":[],"manifest":{"answer_sha256":"7e756ab7c0628315c6f6d576410b571a357c522a1e2f2646829e0633b54f9b4d","answer_sha256_rule":"sha256 (hex, UTF-8) of JSON.stringify(this body) after deleting the keys listed in manifest.stamped_keys from manifest, and deleting manifest itself if it is then empty. The hash was computed before the stamp existed, so no field of the stamp is inside it.","stamped_keys":["answer_sha256","answer_sha256_rule","stamped_keys","row_count","row_count_basis","live","live_basis","created_at","created_at_basis","durable_citation"],"row_count":33,"row_count_basis":"Objects that are elements of a JSON array anywhere in this body, excluding manifest. Not a claim about which collection is the answer. Largest single collection: data_profile.fields[] (17 rows).","live":false,"live_basis":"This body was replayed from the worker edge cache (x-edge-cache: hit); the bytes, and therefore answer_sha256, are those of the execution that filled the cache.","created_at":"2026-10-17T05:55:56.639Z","created_at_basis":"When this response body was assembled, deliberately OUTSIDE the hashed bytes so the same answer hashes identically on every request. Not the upstream read time — that is provenance[].retrieved_at. A zone-cached replay carries the assembly time, not your receipt time.","durable_citation":"This manifest is produced at response time and is NOT stored. A durable, replayable citation is persisted only on an explicit cite: GET /api/v1/entries/{id-or-slug}/evidence, or the MCP cite_query tool. Both are entry-scoped, because evidence_manifests is entry-shaped; a domain answer spanning several sources has no single entry and cannot be persisted through that path."}}