PHPackages                             trackstone/laravel-immo-data - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. trackstone/laravel-immo-data

ActiveLibrary[API Development](/categories/api)

trackstone/laravel-immo-data
============================

Laravel integration for the Immo Data PHP SDK

v1.2.0(2w ago)05↓93.8%MITPHPPHP ^8.3CI passing

Since Feb 24Pushed 2w agoCompare

[ Source](https://github.com/trackstone/laravel-immo-data)[ Packagist](https://packagist.org/packages/trackstone/laravel-immo-data)[ Docs](https://github.com/trackstone/laravel-immo-data)[ RSS](/packages/trackstone-laravel-immo-data/feed)WikiDiscussions 1.x Synced today

READMEChangelog (3)Dependencies (18)Versions (6)Used By (0)

Laravel Immo Data
=================

[](#laravel-immo-data)

[![Tests](https://github.com/trackstone/laravel-immo-data/actions/workflows/tests.yml/badge.svg)](https://github.com/trackstone/laravel-immo-data/actions/workflows/tests.yml)

Laravel integration for the [Immo Data PHP SDK](https://github.com/trackstone/immo-data-php-sdk) — French real estate data including property valuation, geocoding, geographic boundaries, and market prices.

Requirements
------------

[](#requirements)

- PHP 8.3+
- Laravel 11 or 12

Installation
------------

[](#installation)

```
composer require trackstone/laravel-immo-data
```

The service provider and facade are auto-discovered. No manual registration needed.

Configuration
-------------

[](#configuration)

Add your API key to `.env`:

```
IMMO_DATA_API_KEY=your-api-key
```

Optionally publish the config file:

```
php artisan vendor:publish --tag=immo-data-config
```

This creates `config/immo-data.php`:

```
return [
    'api_key'  => env('IMMO_DATA_API_KEY', ''),
    'base_url' => env('IMMO_DATA_BASE_URL', 'https://api.immo-data.fr'),
];
```

Usage
-----

[](#usage)

### Via Facade

[](#via-facade)

```
use ImmoData\Laravel\Facades\ImmoData;
use ImmoData\Enums\{RealtyType, GeoLevel, Condition, Dpe};
use ImmoData\Requests\ValuationRequest;

// Valuation
$request = new ValuationRequest(
    longitude: 2.3488,
    latitude: 48.8534,
    realtyType: RealtyType::Apartment,
    nbRooms: 3,
    livingArea: 65.0,
    condition: Condition::Excellent,
    dpe: Dpe::C,
    elevator: true,
);

$result = ImmoData::valuation()->estimate($request);
echo $result->mainValuation; // 485000.0

// Geocode
$results = ImmoData::geocode()->search('Paris', [GeoLevel::City]);
echo $results[0]->label; // "Paris, Ile-de-France"

// Geographic data
$city = ImmoData::geo()->city('75056');
echo $city->cityName; // "Paris"

// Market data
$price = ImmoData::market()->currentPrice(
    code: '75',
    geoLevel: GeoLevel::Department,
    realtyType: RealtyType::Apartment,
);
echo $price->value; // EUR/m²
```

### Via Dependency Injection

[](#via-dependency-injection)

```
use ImmoData\ImmoDataClient;
use ImmoData\Enums\RealtyType;
use ImmoData\Requests\ValuationRequest;

class PropertyController extends Controller
{
    public function __construct(
        private readonly ImmoDataClient $immoData,
    ) {}

    public function estimate()
    {
        $request = new ValuationRequest(
            longitude: 2.3488,
            latitude: 48.8534,
            realtyType: RealtyType::Apartment,
            nbRooms: 3,
            livingArea: 65.0,
        );

        return $this->immoData->valuation()->estimate($request);
    }
}
```

### Via Service Container

[](#via-service-container)

```
$client = app(ImmoData\ImmoDataClient::class);
$result = $client->geocode()->search('Lyon');
```

Available Methods
-----------------

[](#available-methods)

ResourceMethodDescription`valuation()``estimate(ValuationRequest)`Property price estimation`geocode()``search(string, ?GeoLevel[], int)`Location search`geo()``region(string)`Get region by code`geo()``department(string)`Get department by code`geo()``city(string)`Get city by INSEE code`geo()``district(string)`Get district by code`geo()``subdistrict(string)`Get subdistrict (IRIS) by code`market()``priceHistory(string, GeoLevel, RealtyType, ?string, ?string)`Price history`market()``currentPrice(string, GeoLevel, RealtyType)`Current price per m²`market()``saleDurationHistory(string, GeoLevel, ?string, ?string, DurationUnit)`Sale-duration history`market()``currentSaleDuration(string, GeoLevel, DurationUnit)`Current average sale duration`transactions()``search(TransactionsRequest)`Real estate transactions (DVF)`dpe()``search(DpeRequest)`Search Energy Performance Diagnostics (DPE)`dpe()``get(string)`Get a single DPE by its ADEME numberFor full documentation on request parameters, DTOs, enums, and error handling, see the [PHP SDK documentation](https://github.com/trackstone/immo-data-php-sdk).

Code Style
----------

[](#code-style)

This package uses [Laravel Pint](https://laravel.com/docs/pint) with the PER Coding Style preset.

```
# Fix code style
composer cs

# Check without fixing
composer cs:check
```

Testing
-------

[](#testing)

```
composer test
```

License
-------

[](#license)

MIT

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance89

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 93.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~38 days

Total

4

Last Release

14d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7335fdf3624fa02c2aaa78e9dffebb9494081dfaae9a22c692231e4f4cb1051f?d=identicon)[blackjak231](/maintainers/blackjak231)

---

Top Contributors

[![blackjak231](https://avatars.githubusercontent.com/u/1529214?v=4)](https://github.com/blackjak231 "blackjak231 (14 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

---

Tags

apilaravelfrancereal-estateimmobiliertrackstoneimmo-data

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/trackstone-laravel-immo-data/health.svg)

```
[![Health](https://phpackages.com/badges/trackstone-laravel-immo-data/health.svg)](https://phpackages.com/packages/trackstone-laravel-immo-data)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[laravel/sail

Docker files for running a basic Laravel application.

1.9k205.7M1.3k](/packages/laravel-sail)[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M194](/packages/laravel-ai)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

816333.6k3](/packages/defstudio-telegraph)[moonshine/moonshine

Laravel administration panel

1.3k253.1k81](/packages/moonshine-moonshine)[api-platform/laravel

API Platform support for Laravel

58171.4k14](/packages/api-platform-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
