# ASF other registers — handoff State at 2026-05-11: - `asf.entitati`: 849 entities (61 asigurator + 788 broker) — only the `/scr/ra` insurance registry is ingested. - ASF has additional registries (private pensions, capital markets, secondary intermediaries, software providers, lecturers, etc.) at separate pages — NOT exposed via the same `/scr/ra/cautare` JSON endpoint. ## Why deferred Each register appears to use a different access pattern: - `/scr/ra` (used by current scraper) — only insurance + brokers. - Pension funds (Pilonul II/III) — no `/scr/` endpoint visible. Likely PDF or static HTML on `asfromania.ro/ro/a/2365/...`. - Capital markets entities — likely a different `/scr/...` path needs to be discovered via browser-network-tab inspection. Confirmation needed via interactive exploration (curl with realistic Referer + Cookie, or browser dev-tools). Cannot be done blindly from high-level webpages. ## Registries discovered (from `/ro/a/1544/registre-entitati-autorizate`) ### Insurance (Asigurări) - ✅ `/scr/ra/cautare` — currently scraped (asigurator + broker). - ❓ `/ro/a/2082/registrul-asigurătorilor-și-intermediarilor-din-see` — EEA insurers and intermediaries (likely overlap with main register). - ❓ `/app.php/ro/a/1704/intermediari-secundari` — secondary intermediaries (post-2019). - ❓ `/ro/a/1997/intermediari-secundari---persoane-fizice` (pre-2019). - ❓ `/ro/a/1998/intermediari-secundari---persoane-juridice` (pre-2019). - ❓ `/ro/a/1999/specialisti-constatare-daune` — damage assessors. - ❓ `/ro/a/2068/registrul-furnizorilor-de-programe-(activi)` — software providers. - ❓ `/ro/a/2067/registrul-lectorilor` — authorized lecturers. ### Capital Markets (Piață de capital) - ❓ `/app.php/ro/a/1705/registrul-instrumentelor-si-investitiilor-financiare` ### Private Pensions (Pensii private) - ❓ `/ro/a/2365/registrul-entitatilor-din-piata-pensiilor-private` — Pilonul II + III administrators (SAFI), pension funds, fund managers. ## Recommended approach (~4-6h) 1. **Discovery phase (1h)**: open each `?` URL in browser, inspect Network tab for actual data endpoints. Note: most are likely Drupal/Symfony pages serving an embedded JSON or rendering an HTML table. Some may only offer PDF download (need OCR/parsing). 2. **Per-register scraper (1-2h each)**: - If it's a JSON endpoint similar to `/scr/ra/cautare`, clone the scrape-asf.ts pattern with a new `register_type` value (e.g., `pensie_administrator`, `intermediar_secundar`). - If it's an HTML table, parse with cheerio. - If it's a PDF, use pdftotext like CNAS. 3. **Schema**: `asf.entitati.register_type` is already a text column — add new enum-like values without DDL. 4. **Volume estimate**: - Pension funds: ~10 administrators (SAFI/SIF), ~20 funds. - Capital markets: ~50-200 entities. - Secondary intermediaries: ~3,000-10,000 individuals + firms. - Lecturers: ~50. - **Total ~3,500-10,300 new entities** if all done. ## Defer reason Multi-day discovery + per-register scraper development. The 2-3h single-candidate budget cannot accommodate even one full register implementation without first doing the discovery for all of them. Recommended next sub-agent: pick **secondary intermediaries** (largest volume → 3-10k entities) as the first target, since the data shape should mirror existing broker entries.