Is there an API for French SCPI data (prix de part, taux de distribution, capitalisation)?
GET /api/v1/scpi/{slug or ISIN} returns structured data for French SCPIs from their management companies' bulletins, DIC and annual reports: subscription and withdrawal prices, fees, capitalisation, distribution rate by year, TRI, reconstitution value, property count, occupancy rate, sector and geographic splits.Published September 12, 2026 · Updated October 13, 2026 · by FundFacts APIShort answer
Yes. GET https://fundfactsapi.com/api/v1/scpi/{idOrIsin} returns one JSON object per SCPI read from the management company's own documents (bulletin trimestriel, DIC, note d'information, rapport annuel): prix de souscription and de retrait, frais, capitalisation, taux de distribution by year, TRI over 5 / 10 / 15 years, valeur de reconstitution and de réalisation, number of properties, surface, taux d'occupation financier, sector and geographic splits, parts en attente de retrait and the document links. GET /scpi?q= searches by name. Same plans and request counting as funds.
See it on a real fund page: the IE00B4L5Y983 page shows the figures this answer describes, with their as-of date.
The call
bashcurl -s https://fundfactsapi.com/api/v1/scpi/perial-o2 -H "Authorization: Bearer $FUNDFACTS_API_KEY"# or by ISIN where the SCPI has one: https://fundfactsapi.com/api/v1/scpi/FR0011254991
json{"slug": "perial-o2", "name": "PERIAL O2", "manager": "perial", "cached": true, "expiresAt": "…","data": {"keyFacts": { "managementCompany": "PERIAL Asset Management", "category": "bureaux", "capitalType": "variable", "creationYear": 2009,"capitalisationEur": 1100000000, "sharePriceEur": 164, "withdrawalPriceEur": 150.06,"subscriptionFeesPct": 10.2, "managementFeesPct": 13.8, "minimumSubscriptionShares": 30, "riskIndicator": 4, "sfdrArticle": 9, "labelIsr": true },"performance": { "distributionRateByYear": [ { "year": "2024", "value": 4.91 }, { "year": "2025", "value": 4.65 } ],"tri": { "y5": 4.39, "y10": null, "y15": null }, "reconstitutionValueEur": 143.65, "realisationValueEur": 113.55 },"portfolio": { "numberOfProperties": 135, "surfaceSqm": 949439, "numberOfTenants": 473, "financialOccupancyRatePct": 84.6, "walbYears": 3.8,"sectorSplit": [ { "label": "Bureaux", "weight": 84.7 } ], "geographicSplit": [ { "label": "Régions", "weight": 37.5 }, { "label": "Île-de-France", "weight": 35.6 } ] },"liquidity": { "sharesAwaitingWithdrawal": null, "sharesOutstanding": 14643842, "numberOfAssociates": 28479 },"documents": { "productUrl": "https://…", "bulletinUrl": "https://…", "kidUrl": "https://…", "annualReportUrl": "https://…", "noteInformationUrl": "https://…" },"dataAsOf": "2026-06-30", "bulletinPeriod": "T2 2026"}}
Search
GET https://fundfactsapi.com/api/v1/scpi?q=corum lists matching SCPIs with slug, name, manager and ISIN. Free.
Coverage
SCPIs from Perial, Corum, Sofidy, La Française, Praemia (Primonial), AEW Patrimoine, Paref, Iroko, Remake, Alderan, Norma Capital, Atland Voisin, Fiducial Gérance and others whose management companies publish their bulletins online; the SCPI documentation lists the field reference and the managers covered. Values are read in French and returned as numbers, with French labels where the document uses a category word.
Uses
Comparateurs, conseillers en gestion de patrimoine building client reports, and assistants: the MCP server's get_scpi tool exposes the same data. What is an SCPI and how to get SCPI data has the background.
Verify it yourself
The demo endpoint returns the live payload for a fund that is already in the store, without a key. Everything on this page can be checked against it.bashcurl -s https://fundfactsapi.com/api/v1/demo/funds/IE00B4L5Y983 | jq '{name, asOf: .data.dataAsOf, ter: .data.headlineMetrics.ter, risk: .data.riskRating, top: .data.topHoldings[:3]}'