SCPIReal estateEndpoint

What is an SCPI? French real-estate funds explained, and how to get SCPI data programmatically

SCPI definition, capital fixe vs variable, prix de souscription and retrait, taux de distribution, TOF, the documents, and the /api/v1/scpi endpoint.Published 19 September 2026 · 6 min read · by FundFacts API

An SCPI (société civile de placement immobilier) is a French collective investment vehicle that buys and manages a portfolio of rental property, mostly offices, retail, healthcare and logistics, and passes the rents to its shareholders as quarterly distributions. Investors buy shares (parts) at a subscription price set by the management company rather than on an exchange, and the fund is regulated by the AMF, which approves the société de gestion and the note d'information. SCPI data lives in quarterly bulletins, an annual report and a PRIIPs DIC, all in French; FundFacts API reads those documents and returns them as JSON from GET /api/v1/scpi/{idOrIsin}.

In short
An SCPI is an unlisted French property fund managed by an AMF-authorised société de gestion. Key figures: prix de souscription and prix de retrait per share, taux de distribution (annual distribution as a percent of the share price), valeur de reconstitution and réalisation, taux d'occupation financier (TOF), capitalisation and parts en attente de retrait. Figures come from the bulletin trimestriel, the DIC, the rapport annuel and the note d'information. The API returns them structured, one request per SCPI, refreshed every 24 hours.

How an SCPI works

An SCPI pools investor money to buy buildings and lease them out. The société de gestion (an AMF-approved portfolio management company) selects, buys, manages and sells the properties, collects the rents, and pays out most of the net income to shareholders, typically as quarterly acomptes. Shares are held directly, through a French assurance-vie contract, or in some cases on credit. Unlike a listed real-estate company, the share price does not move minute by minute; it is set by the manager within a band around the appraised value of the portfolio.

Two structures exist:

  • Capital variable. The SCPI issues new shares continuously at the prix de souscription and buys them back at the prix de retrait when an investor wants out, matching withdrawals against new subscriptions. When there are more sellers than buyers, redemption requests queue up as parts en attente de retrait, which is the number to watch for liquidity.
  • Capital fixe. Capital is raised in periodic increases; between them, shares trade on a secondary market organised by the manager, where the price is set by matching orders.

An SCPI is an alternative investment fund under French law, not a UCITS: it holds direct real estate, which the UCITS Directive excludes. The UCITS post explains that boundary. What SCPIs share with UCITS is the PRIIPs key information document, called DIC (document d'informations clés) in France, with the same 1–7 risk indicator and cost table.

The numbers that describe an SCPI

TermMeaningAPI field
Prix de souscriptionPrice of one new share, EUR, including the subscription feekeyFacts.sharePriceEur
Prix de retraitAmount paid back per share on withdrawal (capital variable), EURkeyFacts.withdrawalPriceEur
Commission de souscriptionEntry fee as a percent of the subscription price, read from the DIC when presentkeyFacts.subscriptionFeesPct
Commission de gestionManagement fee as a percent of rental incomekeyFacts.managementFeesPct
CapitalisationSubscription price × shares outstanding, EURkeyFacts.capitalisationEur
Taux de distribution (TD)Gross annual distribution per share divided by the share price, percent, per calendar yearperformance.distributionRateByYear
Dividende brut par partGross distribution per share for the year, EURperformance.distributionPerShareByYear
TRI 5 / 10 / 15 ansInternal rate of return over 5, 10 and 15 years, when the manager publishes itperformance.tri.y5, .y10, .y15
Valeur de reconstitutionWhat it would cost to rebuild the portfolio today, per share (appraisal value plus costs)performance.reconstitutionValueEur
Valeur de réalisationNet asset value per share if the portfolio were soldperformance.realisationValueEur
Taux d'occupation financier (TOF)Rents collected as a percent of rents collectable if fully letportfolio.financialOccupancyRatePct
WALB / WALTAverage remaining lease term to break / to expiry, yearsportfolio.walbYears, portfolio.waltYears
Parts en attente de retraitShares queued for withdrawal, the liquidity indicatorliquidity.sharesAwaitingWithdrawal
Collecte netteNet inflow of the quarter, EURliquidity.netInflowLastQuarterEur
Délai de jouissanceDelay before a new share starts earning distributionskeyFacts.delayOfJouissance

Two readings that catch newcomers. The taux de distribution is a yield on the share price, not a total return: the share price can also be revised up or down, and the TRI is the figure that combines both. And the subscription price is bounded by regulation to a band around the valeur de reconstitution, so comparing sharePriceEur with reconstitutionValueEur tells you whether the shares are priced above or below the appraised portfolio, which is the SCPI equivalent of a premium or discount to NAV.

Where the data comes from

Every SCPI publishes a fixed set of documents, and the numbers above come from them:

  • Bulletin trimestriel d'information (sometimes semi-annual): the quarter's headline figures, distribution, TOF, sector and geographic splits, collecte, parts en attente. This is the freshest source and sets dataAsOf and bulletinPeriod.
  • DIC: the PRIIPs KID, with the risk indicator (keyFacts.riskIndicator) and the entry-cost line.
  • Rapport annuel: audited figures, the valeur de reconstitution and réalisation, the property list, tenants.
  • Note d'information visée par l'AMF and the statuts: terms, fees, délai de jouissance, minimum subscription.
  • The SCPI's page on the manager's site, and a fiche produit when it exists.

The API returns links to each of these in documents.bulletinUrl, documents.kidUrl, documents.annualReportUrl, documents.noteInformationUrl, documents.statutsUrl, documents.factsheetUrl and documents.productUrl, so a product can always point back at the source page. Figures are read from these public regulatory documents published by the management company; no aggregator is involved.

Getting SCPI data as JSON

The endpoint takes a slug, an ISIN or a name. Slugs are stable identifiers such as perial-o2 or corum-origin; when you do not know one, the search endpoint finds it and is free:

bash
curl "https://fundfactsapi.com/api/v1/scpi?q=epargne%20pierre" \
-H "Authorization: Bearer ffk_live_..."

Then the SCPI itself:

bash
curl https://fundfactsapi.com/api/v1/scpi/perial-o2 \
-H "Authorization: Bearer ffk_live_..."
json
{
"slug": "perial-o2",
"isin": "FR0011254991",
"name": "Perial O2",
"manager": "perial",
"cached": true,
"generatedAt": "2026-09-19T05:40:12.000Z",
"expiresAt": "2026-09-20T05:40:12.000Z",
"plan": "starter",
"data": {
"keyFacts": {
"name": "Perial O2",
"managementCompany": "PERIAL Asset Management",
"category": "bureaux",
"capitalType": "variable",
"sharePriceEur": 164,
"withdrawalPriceEur": 150.06,
"subscriptionFeesPct": 10.2,
"riskIndicator": 4,
"labelIsr": true
},
"performance": {
"distributionRateByYear": [{ "year": "2024", "value": 4.91 }, { "year": "2025", "value": 4.65 }],
"reconstitutionValueEur": 143.65,
"realisationValueEur": 113.55
},
"portfolio": {
"numberOfProperties": 135,
"financialOccupancyRatePct": 84.6,
"sectorSplit": [{ "label": "Bureaux", "weight": 84.7 }],
"geographicSplit": [{ "label": "Île-de-France", "weight": 35.6 }]
},
"liquidity": { "sharesAwaitingWithdrawal": 0, "sharesOutstanding": 14643842 },
"documents": { "bulletinUrl": "https://…/bulletin-t2-2026.pdf", "kidUrl": "https://…/dic.pdf" },
"dataAsOf": "2026-06-30",
"bulletinPeriod": "T2 2026"
}
}

The values are those of the SCPI field reference examples and stand for the shape; a live call returns whatever the latest bulletin states. Numbers are numbers (EUR, percent), not formatted strings, because the bulletins print them consistently enough to parse; null means the documents do not state the line.

In Python, reading the two figures most dashboards show:

python
import requests
r = requests.get("https://fundfactsapi.com/api/v1/scpi/perial-o2",
headers={"Authorization": "Bearer ffk_live_..."}, timeout=120)
d = r.json()["data"]
td = d["performance"]["distributionRateByYear"]
print(td[-1]["year"], td[-1]["value"], "%") # latest full-year taux de distribution
print(d["keyFacts"]["sharePriceEur"], "vs", d["performance"]["reconstitutionValueEur"])
print(d["liquidity"]["sharesAwaitingWithdrawal"], "parts en attente")
print(d["dataAsOf"], d["bulletinPeriod"])

Freshness and cost

A cold load reads the manager's page, the bulletin, the DIC and the annual report and takes some tens of seconds; after that the payload is stored for 24 hours and served immediately. Bulletins are quarterly, so dataAsOf moves four times a year for most SCPIs even though the payload is refreshed daily. One call costs one request on any plan, including Free (150 requests a month), and the same data is available to AI assistants through the get_scpi and search_scpi tools of the MCP server.

Coverage is by management company: the endpoint currently reads SCPIs from a set of French managers whose sites and documents it knows how to parse, and returns scpi_not_found for the rest. GET /api/v1/scpi?q= shows what is in the universe. If you also handle UCITS funds and ETFs, the fund endpoint sits next to it with the same authentication and quota, so one key covers both universes.

To see it on a real SCPI, create a free key and search for a name you know.

FAQ

Is an SCPI the same as a REIT?

Both hold rental property and distribute most of their income, but a REIT (in France, a SIIC) is a listed company whose shares trade on an exchange at a market price, while an SCPI is an unlisted fund whose shares are subscribed and withdrawn at prices set by the management company within a regulated band around the appraised value.

What is the taux de distribution of an SCPI?

The gross distribution paid per share over a calendar year divided by the share price at the start of that year, expressed as a percent. It is a yield, not a total return; the TRI (internal rate of return) also accounts for changes in the share price.

What does 'parts en attente de retrait' mean?

For a capital-variable SCPI it is the number of shares whose holders have asked to withdraw but have not yet been matched with new subscriptions. A rising figure signals that exiting may take time. The API returns it as liquidity.sharesAwaitingWithdrawal.

Can I get SCPI data by ISIN?

Yes, when the SCPI has one; most French SCPIs carry an FR-prefixed ISIN and GET /api/v1/scpi/{isin} accepts it. Slugs (for example perial-o2) and names also work, and GET /api/v1/scpi?q= returns the slug and ISIN for a name.

How often do SCPI figures change?

Most figures come from the quarterly bulletin, so they move four times a year; valuation figures come from the annual report. The API refreshes its stored payload every 24 hours and reports the bulletin's period in bulletinPeriod and its date in dataAsOf.

Try it on your own ISINs

One request returns key facts, holdings, risk and performance as JSON. Free plan, no card.