Funda Search
@magistr/funda-searchv2026.07.15.2
01README
Funda.nl Amsterdam koop apartment search — sync listings via OpenSearch MSEARCH, diff new ones, Telegram digest with wishlist filters (energy≥C, no busy streets, excluded PC4, user-rejected IDs)
02Models
@magistr/funda-searchv2026.07.15.2funda_search.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| sessionCookies | string | Cookie header value from browser session on listing-search-wonen.funda.nl. |
| telegramBotToken | string | |
| telegramChatId | string | |
| maxPriceEur | number | Max asking price filter |
| minFloorAreaM2 | number | Min floor area filter |
fn sync(maxPages: number, minBedrooms: number, bathtub: boolean, collapseProjects: boolean, areas: string, maxPrice?: number)
Fetch Amsterdam apartment listings from funda.nl, persist new ones.
| Argument | Type | Description |
|---|---|---|
| maxPages | number | Max pages to fetch (15 listings/page). Use 1 for quick test. |
| minBedrooms | number | Minimum number of bedrooms (0 = all, 2 = 2+ bedrooms). |
| bathtub | boolean | When true, adds amenities=[bathtub] to the funda search query. |
| collapseProjects | boolean | When false, shows all individual units in new-build projects instead of one per project. |
| areas | string | Comma-separated funda area slugs, e.g. 'amsterdam,amstelveen,diemen'. |
| maxPrice? | number | Override global maxPriceEur for this sync run. |
fn composeDigest(dryRun: boolean)
Apply wishlist filters to new listings since last digest, send Telegram digest.
| Argument | Type | Description |
|---|---|---|
| dryRun | boolean | If true, print digest text but do NOT send Telegram message. |
fn search(minBedrooms: number, bathtub: boolean, minFloorArea?: number, maxPrice?: number, areas: string, maxPages: number, applyWishlistFilters: boolean)
Ad-hoc search: fetch funda listings with explicit filters and print results.
| Argument | Type | Description |
|---|---|---|
| minBedrooms | number | Minimum number of bedrooms. |
| bathtub | boolean | Filter to listings with a bathtub. |
| minFloorArea? | number | Override global minFloorAreaM2 for this search. |
| maxPrice? | number | Override global maxPriceEur for this search. |
| areas | string | Comma-separated funda area slugs. |
| maxPages | number | Max pages to fetch (15 listings/page). |
| applyWishlistFilters | boolean | When true, also apply energy/street/PC4/rejected filters. |
Resources
sync(infinite)— Sync summary — total found, new IDs, timestamp
listing(infinite)— One funda apartment listing snapshot
digest(infinite)— Telegram digest record — what was sent and to whom
03Previous Versions
2026.07.15.1
04Stats
D
50 / 100
Downloads
0
Archive size
12.0 KB
- Has README or module doc0/2missing
- README has a code example0/1missing
- README is substantive0/1pending
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared0/1missing
- Verified public repository0/2missing
05Platforms
06Labels