FGCMPI Scraper (fgcmpi.org.dz) avatar

FGCMPI Scraper (fgcmpi.org.dz)

Pricing

from $0.47 / 1,000 results

Go to Apify Store
FGCMPI Scraper (fgcmpi.org.dz)

FGCMPI Scraper (fgcmpi.org.dz)

Extract Algeria's FGCMPI registers: guaranteed housing projects with their guarantee dates, insurance policy numbers, locations and housing breakdown, and the affiliated real-estate developers with their agrément, TNPI, registered office and contact details.

Pricing

from $0.47 / 1,000 results

Rating

0.0

(0)

Developer

Hamza Abbad

Hamza Abbad

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Categories

Security

Limited permissions

Share

FGCMPI Scraper

Collect Algeria's guaranteed housing projects or the real-estate developers affiliated to the Fonds de Garantie et de Caution Mutuelle de la Promotion Immobilière (FGCMPI). Results land in a dataset ready to export as CSV, Excel or JSON.

What you can scrape

  • Guaranteed housing projects — the FGCMPI project register, with each project's promoter, title, guarantee grant and expiry dates, location, daira, wilaya, phone, insurance policy number, status, construction type and housing-type breakdown. You can narrow the list by promoter, project title, wilaya or housing programme.
  • Affiliated developers — the affiliation register, with each developer's affiliation, agrément and TNPI numbers, company name, manager, registered office, phone and wilaya.

Why this Actor

  • The whole picture in one place. Project rows carry both the register's summary and the full project record, so you do not have to join two exports.
  • Ready for analysis. Every row uses the same clear field names, so the data drops straight into a spreadsheet, database or downstream workflow.
  • Targeted searches. Filter projects by promoter, title, wilaya and housing programme; the filters combine to answer a specific question.
  • Resilient results. A project whose detail page is unavailable still appears with its summary fields, so a broken page does not silently remove it from your dataset.
  • No login required. The Actor reads public data directly; no account, login or cookie is needed.

What the two registers give you together

The Actor covers both public registers, and they answer different questions about the same market:

SurfaceWhat a run gives youWhat it is for
Guaranteed housing projectspromoter, guarantee grant and expiry dates, wilaya and daira, phone, insurance policy number, status, construction type and the housing-type breakdowntrack guarantee expiry, or check what a promoter has on the register
Affiliated developersaffiliation number, agrément and TNPI numbers, company name, manager, registered office, phone and wilayaverify a developer before you sign with one
Filterspromoter, project title, wilaya and housing programme, combinedanswer "who is building what, where, and is it guaranteed"

Quick start

  1. Click Try actor.
  2. Choose the register in What to scrape (startMode).
  3. Click Start.
  4. Open the Dataset tab and use the All rows, Projects or Developers view.

A projects run:

{ "startMode": "projects" }

A developers run:

{ "startMode": "developers" }

startMode defaults to projects, so omitting it runs projects mode.

Tutorial: a real workflow

Say you track the promotion immobilière market in Oran.

1. Choose projects mode and filter

The project filters combine:

{
"startMode": "projects",
"wilaya": "ORAN",
"projectType": "PL"
}

You get guaranteed projects filed under Oran for the Promotionnel Libre programme, with their promoter, title, guarantee grant date, location, daira, wilaya and phone.

2. Include the full project record

With Include full project details (includeDetails) on (the default), every project row also carries the insurance policy number, guarantee expiry date, registered office, destination, construction type, status and housing types — for example [{ "type": "F3", "nombre": 14 }].

3. Collect the developers

Developers mode collects the affiliation register:

{ "startMode": "developers" }

One row per developer, with the affiliation, agrément and TNPI numbers, company name, manager, registered office, phone and wilaya.

Input

See the input tab for the full configuration options.

Main input

Label (key)DescriptionDefault
What to scrape (startMode)projects for guaranteed housing projects, developers for the affiliation register.projects

Project filters

Used in projects mode; ignored in developers mode.

Label (key)DescriptionDefault
Promoteur (promoteurSearch)Projects whose promoter name contains this text.—
Intitulé du projet (projetSearch)Projects whose title contains this text.—
Wilaya (wilaya)Projects in one wilaya, written as published (ORAN, ALGER, TIPAZA…). Matching is case-insensitive.—
Housing programme (projectType)PL (Promotionnel Libre), LSP (Logement Social Participatif) or LPA (Logement Promotionnel Aidé).""

Output & debugging

Label (key)DescriptionDefault
Include full project details (includeDetails)Used in projects mode. Add the full project record: insurance policy number, guarantee expiry date, registered office, construction type and housing breakdown.true

Limits & performance

Label (key)DescriptionDefault
Maximum results (maxItems)Maximum rows to return in the selected mode. 0 = no cap.200
Maximum pages (maxPages)Used in projects mode. Maximum result pages to read. 0 = no cap.0
Concurrent requests (maxConcurrency)How many requests the Actor sends at the same time.10
Requests per minute (maxRequestsPerMinute)Rate limit for the run.240
Retries per request (maxRequestRetries)Retries before a failed request is given up on.5

Output

One dataset per run. The selected mode decides the row type, and every row carries a recordType — "project" or "developer". Switch between the All rows, Projects and Developers views in the Dataset tab, and download the data as JSON, HTML, CSV or Excel.

Modes at a glance

Mode (startMode)Key fields
Guaranteed housing projects (projects)projectId, promoteur, projet, dateOctroiGarantie, dateExpirationGarantie, localisation, daira, wilaya, telephone, numeroPolice, statut, typeLogement, url
Real-estate developers (developers)numAffiliation, numAgrement, numTNPI, promoteur, dirigeant, siegeSocial, telephone, wilaya

Project row (recordType: "project")

ColumnWhat it holds
projectIdProject identifier in the form YYYY-NNNN.
promoteur / projetThe promoter and the project title.
dateOctroiGarantie (+ …Iso)The guarantee grant date, DD/MM/YYYY and YYYY-MM-DD.
dateExpirationGarantie (+ …Iso)The guarantee expiry date, DD/MM/YYYY and YYYY-MM-DD.
localisation / daira / wilayaThe project address, daira and wilaya.
siegeSocialDetailThe promoter's registered office.
localisationProjetThe full project address as published, including the daira.
numeroPoliceThe guarantee's insurance policy number.
destinationProjet / typeConstruction / statutProject destination, construction type and housing programme status.
typeLogement / typeLogementRawHousing types with their counts, as objects and as published text.
superficieGarantieGuaranteed surface area in m², when published.
telephoneThe project's phone numbers.
url / sourceUrlThe project page and the page where the row was found.
detailStatusWhether the full project record was retrieved — see below.
scrapedAtWhen the row was collected.

Developer row (recordType: "developer")

ColumnWhat it holds
numAffiliationThe developer's affiliation number in the register.
numAgrement / numTNPIThe agrément and TNPI numbers.
promoteurThe company name.
dirigeantThe managing director.
siegeSocial / localisationThe registered office.
telephone / wilayaThe phone/fax and the wilaya.
sourceUrlThe page where the row was found.
scrapedAtWhen the row was collected.

Example project row

{
"recordType": "project",
"projectId": "2026-0438",
"promoteur": "EURL MEDJARI PROMOTION IMMOBILIERE",
"projet": "44 Logts",
"dateOctroiGarantie": "15/10/2026",
"dateOctroiGarantieIso": "2026-10-15",
"dateExpirationGarantie": "30/09/2028",
"dateExpirationGarantieIso": "2028-09-30",
"localisation": "HAI ABDELMOUMEN, LIEU CITE « CHOUPOU », COTE RUE KARNO",
"daira": "Oran",
"wilaya": "ORAN",
"numeroPolice": "2026-0326-1-31-260360",
"statut": "LPA2-PL",
"typeLogement": [{ "type": "F3", "nombre": 14 }],
"url": "https://www.fgcmpi.org.dz/Detail_projet/2026-0438",
"detailStatus": "ok",
"scrapedAt": "2026-10-31T18:30:00.000Z"
}

Example developer row

{
"recordType": "developer",
"numAffiliation": "03952",
"numAgrement": "0403P3036",
"numTNPI": "3925-3952-P16",
"promoteur": "BOUSBAH RAHIMA",
"dirigeant": "BOUSBAH RAHIMA",
"siegeSocial": "Cité belle vue N°332, Ain Mlila",
"telephone": null,
"wilaya": "O.E.BOUAGHI",
"sourceUrl": "https://www.fgcmpi.org.dz/Liste_Affiliation",
"scrapedAt": "2026-10-31T18:30:00.000Z"
}

Notes and limits

  • Project filters apply only in projects mode. maxPages applies only in projects mode; maxItems applies to the selected mode.
  • A project whose full record cannot be read keeps its summary row; detailStatus explains what happened.
  • detailStatus: "ok" means the full record was read. "server-error" or "failed" means only the summary row is available. "unknown" means the full record returned no recognizable fields. "skipped" means full details were turned off.
  • Fields that do not apply to a row type are empty or absent in that row.
  • Values that start with =, +, - or @ are stored with a leading apostrophe so CSV and Excel exports treat them as text, not formulas.
  • Text values are returned as published in the register; the …Iso date fields add a YYYY-MM-DD version.

FAQ

How do I filter by wilaya? Use projects mode and the wilaya field with the published name (ORAN, ALGER, TIPAZA…). Matching is case-insensitive.

What happens to the project filters in developers mode? They are ignored. Projects mode is the only mode that uses them.

Why is a project missing its policy number or housing breakdown? Its full record may not be available. The summary row is still returned, and detailStatus tells you why.

Does the Actor need a login or account to read the data? No. It reads public data directly.

How much data does a run return? Up to 200 rows by default. Set maxItems to 0 for the whole selected register, or lower it for a smaller run; maxPages bounds a projects run.

Contact

Bug reports, feature requests, or a custom scraper for a site not yet covered? Open an issue on the Actor's Apify Console page or message the maintainer directly there.