nieknijland / marktplaats-php
PHP client for fetching Marktplaats search listings programmatically
Fund package maintenance!
v0.3.0
2026-03-17 20:58 UTC
Requires
- php: ^8.3
- guzzlehttp/guzzle: ^7.0
- psr/simple-cache: ^3.0
Requires (Dev)
- laravel/pint: ^1.0
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^10.3
- rector/rector: ^2.0
README
PHP client for fetching Marktplaats listings programmatically. Returns strongly typed immutable DTOs for search and listing detail pages.
Installation
composer require nieknijland/marktplaats-php
Quick Start
use NiekNijland\Marktplaats\Client; use NiekNijland\Marktplaats\Data\SearchQuery; $client = new Client(); $result = $client->getSearch(new SearchQuery( query: 'bureau', )); foreach ($result->listings as $listing) { echo $listing->title . ' - ' . $listing->priceInfo?->priceCents . ' cents' . PHP_EOL; } // Fetch a detail page $detail = $client->getListing($listing->vipUrl); echo $detail->description . PHP_EOL; echo $detail->stats?->viewCount . ' views' . PHP_EOL;
Documentation
- Usage — Search, filters, listing details, pagination, caching, custom HTTP client
- Testing — FakeClient, factories, assertions
- Caveats — Keyword-stuffed titles, lease prices
Development
composer test # Unit tests composer test-integration # Integration tests (live API) composer test-all # Both suites composer format # Laravel Pint composer analyse # PHPStan level 8 composer codestyle # rector + pint + analyse
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
License
The MIT License (MIT). Please see License File for more information.