Padmapper Scraper - Apartment Rentals & Rent Data
Pricing
from $1.80 / 1,000 listing records
Padmapper Scraper - Apartment Rentals & Rent Data
Scrape Padmapper apartment rentals across US/CA cities: rent, beds, baths, sqft, location, photos, source-site links, availability. Monitoring (NEW, UPDATED, REAPPEARED, EXPIRED), incremental runs, resume, MCP export.
Pricing
from $1.80 / 1,000 listing records
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape Padmapper (padmapper.com), the rental aggregator that collects apartment listings from dozens of sources across US and Canadian cities, directly from the same inventory service the website reads. This actor returns rental listings with rent, bedrooms, bathrooms, square feet, location, photos and source-site links for any covered city. It also monitors listing changes across runs (NEW, UPDATED, REAPPEARED, EXPIRED), resumes interrupted pulls, and pipes results into your apps through MCP connectors.
Why This Scraper?
- Real inventory data: rent range, beds, baths, square feet, address with coordinates, neighborhood, photos and the source-site link in one record.
- City search with the filters that matter: rent range, bedroom counts, minimum bathrooms, cats and dogs.
- Listing mode: paste listing links, building links or bare listing ids for a direct read; a building link returns every listing in that building.
- Availability monitoring: scheduled runs classify every listing as NEW, UPDATED, UNCHANGED, REAPPEARED or EXPIRED, with per-campaign state you can name or share.
- MCP connector export: send results to Notion and other connectors without changing the dataset.
- Structured failures: a blocked or broken run fails loudly with a clear message instead of returning an empty dataset.
Data You Get
Sample shape: every value below is invented for illustration, not from a live listing.
| Field | Example value |
|---|---|
| kind | listing |
| recordId / listingId | 12345678 |
| url | https://www.padmapper.com/rentals/12345678p/... |
| title | Sunny 1BR near the park |
| description | Light-filled one bedroom near the park... |
| currency | USD |
| rentMin / rentMax | 1800 / 2100 |
| previousRent | 1950 |
| bedrooms / bedroomsMax | 1 / 2 |
| bathrooms / bathroomsMax | 1 / 2 |
| squareFeetMin / squareFeetMax | 600 / 750 |
| dateAvailable | 2026/10/01 |
| address | 123 Example Street |
| city / state / zipcode | Springfield / IL / 62704 |
| neighborhood | Downtown |
| latitude / longitude | 39.799 / -89.644 |
| propertyType | apartment |
| sourceFeed | example_feed_cities |
| providerUrl | https://www.example-rentals.com/... |
| phone | (555) 0101 |
| petAmenities | ["Cats OK", "Dogs OK"] |
| imageUrl / imageUrls | https://img.example.com/12345678/1280x960 |
| listedOn | 2026-08-25T11:00:02+00:00 |
| changeType | NEW |
| firstSeenAt / lastSeenAt | 2026-01-01T00:00:00.000Z |
Every record also carries the full upstream object (raw), so no upstream field is ever dropped.
How to Use
Zero setup: the source serves its listing inventory openly, so paste one or more cities (Austin, TX, New York, NY, Toronto, Ontario) and run. No account is needed. Cities are resolved to the site's own city pages automatically; add filters to narrow the rent, bedrooms or pets. For recurring rent monitoring, switch on incremental mode and schedule the run.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| mode | select | search | search (cities) or url (listing and building links) |
| locations | list | Austin, TX | City names, 'City, ST' form preferred |
| minPrice / maxPrice | integer | empty | Rent range in dollars per month (search mode) |
| bedrooms | multi-select | empty | Bedroom counts to keep, 0 = studio (search mode) |
| bathrooms | integer | empty | Minimum bathrooms (search mode) |
| catsOk / dogsOk | boolean | empty | Keep only pet-friendly listings (search mode) |
| listingInputs | array | empty | Listing links, building links or listing ids (url mode) |
| urls | array | empty | Alias for listingInputs, accepted under the usual Apify URL-mode name |
| maxItems | integer | 20 | Stop after this many records (0 = no limit) |
| currencyHint | select | empty | Fill record currency with USD or CAD instead of deriving it from the ZIP or postal code |
| resumeFromRunId | string | empty | Continue one interrupted run, skipping collected ids |
| incrementalMode | boolean | false | Recurring monitoring with change detection |
| stateKey | string | empty | Name a monitoring campaign (incremental mode) |
| emitUnchanged | boolean | false | Also return UNCHANGED rows (returns and bills extra rows) |
| emitExpired | boolean | false | Also return EXPIRED rows after a complete scan |
| mcpConnectors | array | empty | Optional MCP connector export |
| notionParentPageUrl | string | empty | Notion parent page for the Notion connector |
| maxNotifyListings | integer | 50 | Cap per connector per run |
| proxyConfiguration | object | proxy on | Standard Apify proxy settings |
Filters apply to search mode only; URL mode reads the listings you name directly. The walk pages 50 listings at a time and stops on the city's last page or the Max items budget, whichever comes first; with several cities each gets an equal share of the budget.
Send results into your apps (MCP connectors)
Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape: the Apify dataset is never changed.
What gets written to the connector: a condensed, human-readable summary of each record, not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.
- Authorize a connector once under Apify → Settings → Integrations (Notion, Linear, Airtable, or Apify).
- Select it in the mcpConnectors input field. (If the picker is empty, you haven't authorized a connector yet.)
- For Notion, also set
notionParentPageUrlto the page where items should be created.
The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.
Output Example
Sample shape: every value below is invented for illustration, not from a live listing.
{"kind": "listing","recordId": "12345678","listingId": "12345678","url": "https://www.padmapper.com/rentals/12345678p/1-bedroom-apartment-at-123-example-st-springfield-il-62704","title": "Sunny 1BR near the park","currency": "USD","rentMin": 1800,"rentMax": 2100,"bedrooms": 1,"bathrooms": 1,"squareFeetMin": 600,"address": "123 Example Street","city": "Springfield","state": "IL","zipcode": "62704","neighborhood": "Downtown","latitude": 39.799,"longitude": -89.644,"providerUrl": "https://www.example-rentals.com/listings/12345678","imageUrl": "https://img.example.com/12345678/1280x960","raw": { "full upstream listing object" },"changeType": "NEW","changedFields": [],"firstSeenAt": "2026-01-01T00:00:00.000Z","lastSeenAt": "2026-01-01T00:00:00.000Z"}
Plan Requirement and Terms Note
The source refuses datacenter exits on its inventory routes, so the actor runs on the residential proxy pool: use it on a plan that includes residential proxy. Exit rotation is automatic. The source is a free rental site: the actor reads the same inventory the website reads, and automated reading may sit outside the source's terms of use, so keep volumes reasonable and respect the source's terms.