Discover/PadMapper API
live

PadMapper APIpadmapper.com

Search rental listings, retrieve full property details, contact info, and city-wide price trends from PadMapper via 5 structured API endpoints.

Endpoint health
verified 7d ago
search_listings
get_listing_contact
get_map_listings
get_listing_detail
get_city_overview
5/5 passing latest checkself-healing
Endpoints
5
Updated
22d ago

What is the PadMapper API?

The PadMapper API provides 5 endpoints to search, filter, and extract rental listing data from padmapper.com. Use search_listings to query rentals by city slug with price and bedroom filters, get_listing_detail to pull full unit info including floorplans, amenities, and agent contacts, or get_city_overview to retrieve neighborhood-level median prices and historical rent trends. Response fields cover coordinates, price ranges, brokerage names, and more.

Try it
Page number for pagination.
Comma-separated list of bedroom counts to filter by (0 for studio, 1, 2, 3, 4). Example: '0,1,2'.
City slug identifying the market to search, formatted as city-state (e.g. 'montreal-qc', 'toronto-on', 'new-york-ny').
Maximum monthly rent price filter.
Minimum monthly rent price filter.
api.parse.bot/scraper/aa36e0b6-65ae-43b9-8e67-32513ddb6d73/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/aa36e0b6-65ae-43b9-8e67-32513ddb6d73/search_listings?page=1&bedrooms=1%2C2&city_slug=montreal-qc&max_price=3000&min_price=1000' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace padmapper-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""PadMapper SDK — search rentals, browse map pins, get building details and city stats."""
from parse_apis.padmapper_api import PadMapper, ListingNotFound

client = PadMapper()

# Search listings in Montreal with price filters, capped to 5 results
for listing in client.listings.search(city_slug="montreal-qc", min_price=1200, max_price=2500, limit=5):
    print(listing.building_name, listing.address, listing.min_price, listing.max_price)

# Drill into first result for full building details
listing = client.listings.search(city_slug="toronto-on", bedrooms="1,2", limit=1).first()
if listing:
    building = client.buildings.get(listing_id=f"p{listing.pb_id}")
    print(building.name, building.formatted_address, building.description[:80])

    # Get contact info via instance method
    contact = building.contact()
    for agent in contact.agents:
        print(agent.long_name, agent.email, agent.company_name)

# Get city overview with price trends and neighborhoods
overview = client.cityoverviews.get(city_slug="montreal-qc")
print(overview.city_name, overview.listing_count)
for hood in overview.neighborhoods[:3]:
    print(hood.name, hood.listing_count, hood.lat, hood.lng)

# Map-based search for pins in a bounding box
for pin in client.mappins.search(west=-73.59, south=45.49, east=-73.55, north=45.52, limit=3):
    print(pin.building_name, pin.address, pin.min_price, pin.max_price)

# Typed error handling for a non-existent listing
try:
    client.buildings.get(listing_id="p999999999")
except ListingNotFound as exc:
    print(f"Not found: {exc}")

print("exercised: listings.search / buildings.get / building.contact / cityoverviews.get / mappins.search / ListingNotFound")
All endpoints · 5 totalmissing one? ·

Search for rental listings in a given city with optional filters for price range and bedroom count. Returns paginated listing results along with neighborhood data for the city. Each page returns up to ~20 listings. Pagination is via page number.

Input
ParamTypeDescription
pageintegerPage number for pagination.
bedroomsstringComma-separated list of bedroom counts to filter by (0 for studio, 1, 2, 3, 4). Example: '0,1,2'.
city_slugrequiredstringCity slug identifying the market to search, formatted as city-state (e.g. 'montreal-qc', 'toronto-on', 'new-york-ny').
max_priceintegerMaximum monthly rent price filter.
min_priceintegerMinimum monthly rent price filter.
Response
{
  "type": "object",
  "fields": {
    "city": "string, display name of the city",
    "page": "integer, current page number",
    "listings": "array of listing summary objects with address, price range, bedrooms, amenities, coordinates, and building info",
    "total_count": "integer or null, total number of matching listings",
    "neighborhoods": "array of neighborhood objects with pricing, listing counts, and location data"
  },
  "sample": {
    "data": {
      "city": "Montréal",
      "page": 1,
      "listings": [
        {
          "lat": 45.5102,
          "lng": -73.5602,
          "city": "Montréal",
          "pb_id": 891463,
          "address": "170 Boul René-Lévesque E",
          "max_price": 2729,
          "min_price": 1440,
          "listing_id": 64168221,
          "building_id": 1789946,
          "amenity_tags": [
            "Electric",
            "Dishwasher",
            "Heat"
          ],
          "is_spotlight": true,
          "max_bedrooms": 2,
          "min_bedrooms": 0,
          "building_name": "170 René-Lévesque",
          "padmapper_url": "/buildings/p891463/apartments-at-170-boul-rene-levesque-e-montreal-qc-h2x-0g1",
          "neighborhood_id": 44342,
          "neighborhood_name": "Quartier Ville-Marie"
        }
      ],
      "total_count": null,
      "neighborhoods": [
        {
          "lat": 45.502405,
          "lng": -73.554693,
          "name": "Vieux-Montréal",
          "listing_count": 996,
          "neighborhood_id": 43721
        }
      ]
    },
    "status": "success"
  }
}

About the PadMapper API

Searching and Browsing Listings

The search_listings endpoint accepts a required city_slug parameter formatted as city-state (e.g. new-york-ny, toronto-on) and returns paginated listing summaries. Each listing object includes address, price range, bedroom count, amenities, coordinates, and building info. The response also includes a neighborhoods array with per-neighborhood pricing stats and listing counts, and a total_count for the full result set. Optional filters include min_price, max_price, and a comma-separated bedrooms string where 0 represents studios.

Listing Details and Contact Info

get_listing_detail returns the full profile for a single building, identified by either a listing_id (prefixed with p, e.g. p123456) or a slug URL path. The response includes a description, amenity_tags array, media array with photos and virtual tours, and an agents array with email, phone, and company fields. get_listing_contact targets the same identification inputs but returns a narrower payload focused on contact data: phone, agent_name, brokerage_name, and the full agents array.

Map-Based Discovery and Market Overviews

get_map_listings accepts a geographic bounding box via north, south, east, and west parameters and returns building pin objects with listing_id, address, lat/lng, price range, and available bedroom counts — useful for rendering map UIs or querying rentals within a drawn area. get_city_overview delivers market-level data for a given city_slug: listing_count, a price_trends object keyed by bedroom count (0–4) containing historical median price arrays, and a neighborhoods array with bedroom-level pricing breakdowns.

Reliability & maintenanceVerified

The PadMapper API is a managed, monitored endpoint for padmapper.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when padmapper.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official padmapper.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a rental search app filtered by city, price range, and bedroom count using search_listings
  • Aggregate agent contact info and brokerage names across listings for lead generation pipelines
  • Render an interactive apartment map by querying get_map_listings with a dynamic bounding box
  • Track historical median rent trends by bedroom count per city using get_city_overview price_trends data
  • Compare neighborhood-level pricing and listing counts within a city for market analysis dashboards
  • Compile full building profiles including amenities, photos, and unit floorplans via get_listing_detail
  • Monitor active listing counts and median prices across multiple city slugs for rental market reporting
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does PadMapper have an official developer API?+
PadMapper does not publish a public developer API or documented API program as of mid-2025. This Parse API is the structured way to access PadMapper listing and market data programmatically.
How does city targeting work in `search_listings` and `get_city_overview`?+
Both endpoints require a city_slug parameter formatted as city-state, for example chicago-il, toronto-on, or new-york-ny. The slug determines the market returned. search_listings also accepts page, min_price, max_price, and bedrooms filters on top of the city context.
What does the `price_trends` field in `get_city_overview` contain?+
It is an object keyed by bedroom count (0 through 4, where 0 is studio). Each key holds an array of historical median price data points for that bedroom type in the requested city, allowing you to observe how rents have moved over time at a market level.
Does the API return individual unit-level availability or lease dates?+
Not currently. The API returns price ranges, bedroom counts, floorplans, amenities, and agent contacts at the building level via get_listing_detail. Granular unit availability calendars and lease start dates are not part of the current response schema. You can fork this API on Parse and revise it to add an endpoint targeting that data if it becomes accessible.
Are listings outside the US and Canada covered?+
PadMapper's primary coverage is US and Canadian rental markets, which is reflected in the city_slug format (e.g. san-francisco-ca, vancouver-bc). Listings outside North America are not part of the current API's scope. You can fork the API on Parse and revise it to point at additional markets if PadMapper expands coverage in a region you need.
Page content last updated . Spec covers 5 endpoints from padmapper.com.
Related APIs in Real EstateSee all →
rentals.ca API
Search and browse rental listings across Canada by city or neighbourhood, and view detailed property information including prices, amenities, and availability. Find your next home by filtering thousands of rental properties on Rentals.ca in real-time.
apartments.com API
Search thousands of apartment listings, view detailed property information including amenities and pricing, and discover properties managed by specific companies all in one place. Find your ideal rental by filtering through available apartments and learning more about the management companies behind them.
rent.com API
Browse and extract rental property data from Rent.com. Search listings by location and filter by beds, baths, price, and pet policy. Retrieve full property details, floor plans, unit availability, amenities, nearby schools, points of interest, and active specials.
pararius.com API
Search and browse rental property listings on Pararius.com. Filter by city, price, size, and furnishing; retrieve full property details; look up listings by estate agent; and autocomplete location queries.
streeteasy.com API
Search and browse NYC apartment rentals to find detailed property information including photos, amenities, pricing, and direct contact details for brokers and agents. Filter through available listings and access comprehensive rental data to help you discover your next home in New York City.
Pararius.nl API
Search and browse rental properties across the Netherlands from Pararius.nl, with filtering by city and detailed property information including pricing, location, and amenities. Access paginated listings to easily discover available rentals that match your needs.
Craigslist Apartments API
Search and filter Craigslist apartment listings by neighborhood, bedroom count, price range, and image availability. Retrieve detailed listing information including full descriptions, contact details, photos, and location data.
rew.ca API
Search rental and for-sale properties across Canada, get detailed listing information, explore neighbourhoods, and find real estate agents in your area. Access property details, agent profiles, and neighbourhood data all in one place.