Century 21 Scraper [$1.90/1K💰] | Listings, MLS, Agent Leads
Pricing
from $1.90 / 1,000 results
Century 21 Scraper [$1.90/1K💰] | Listings, MLS, Agent Leads
Scrape Century 21 listings with price, beds, baths, sqft, MLS number and photos, plus listing-agent phone and email. Search any US city, state or ZIP with price and size filters. No API licence needed - built for real estate leads and market research.
Pricing
from $1.90 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
19 days ago
Last modified
Categories
Features
Share
Century 21 Scraper - US Property Listings, MLS Numbers and Agent Leads
The Century 21 Scraper extracts US real-estate listings from century21.com with price, address, bedrooms, bathrooms, square footage, status, MLS number and photos. Turn on contact mode to add the listing agent's name, phone, email, office, property description, lot size and year built.
Search any US city, state or ZIP with price, bed, bath and square-foot filters. Use fast mode for cheap inventory sweeps and contact mode when you need a phone-ready agent lead list, a property database or a market-monitoring feed.
Main Use Cases for Century 21 Real-Estate Data
- Real-estate agent lead generation - collect listing agent names, phone numbers, emails and brokerage offices with the property context attached.
- Comparable-sales and pricing research - compare price, beds, baths, square footage, lot size and year built across a market.
- Neighborhood and ZIP-level monitoring - run the same search daily and diff price, status and inventory.
- Property portal and CRM ingestion - load listing URLs, photos, coordinates and contact data into your own system.
- Investor prospecting - filter by price band, bedroom count or size to build a shortlist before outreach.
- Brokerage coverage analysis - group listings by
agentOfficeto see which brokerages dominate a market. - AI property research - give an LLM structured listing records for summarization, ranking and lead scoring.
How It Works

The Actor reads Century 21's server-rendered property search and detail pages over HTTP. It accepts direct search or listing URLs, or builds a search from city plus state, or zip plus state. Each listing is normalized into a flat record, filtered against your price, bed, bath and square-foot limits and written to the dataset.
Fast mode uses the search result cards and makes no extra per-listing request. Contact mode visits each property detail page to collect agent phone, email, office, description, MLS number, photos, lot size and year built. A separate contact-detail pricing event applies to rows that carry agent contact data.
Input
| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
startUrls | object[] | No | Los Angeles, CA search | Direct Century 21 search, listing or agent URLs in the form {"url": "..."}. Takes priority over city/state/ZIP. |
city | string | No | - | City name, for example Austin. Use with state. |
state | string | No | - | Two-letter state code, for example TX. Required for city and ZIP searches. |
zip | string | No | - | ZIP code. Takes precedence over city and state. |
maxListings | integer | No | 200 | Maximum listing rows. Hard-capped at 1,000. |
includeDetails | boolean | No | false | Enable contact mode: one detail-page request per listing plus agent contact and full property fields. |
minPrice | integer | No | - | Minimum listing price in USD. |
maxPrice | integer | No | - | Maximum listing price in USD. |
minBeds | number | No | - | Minimum bedrooms. |
maxBeds | number | No | - | Maximum bedrooms. |
minBaths | number | No | - | Minimum bathrooms. |
maxBaths | number | No | - | Maximum bathrooms. |
minSqft | number | No | - | Minimum living area in square feet. |
maxSqft | number | No | - | Maximum living area in square feet. |
proxy | object | No | Off | Optional proxy configuration. The server-rendered pages normally work without a proxy. |
startUrls overrides the location fields. zip overrides city and state. If no location or start URL is provided, the Actor falls back to a Los Angeles, CA search. state is required whenever you search by city or zip.
Output
The dataset exposes up to 29 listing and agent fields. Fast mode populates the core property columns; contact mode adds the detail fields.
| Field | Type | Description |
|---|---|---|
url | string | Canonical Century 21 listing URL. |
listingId | string | Century 21 listing identifier. |
title | string | Listing title when available. |
price | number | Listing price in USD. |
address | string | Full property address. |
street | string | Street address. |
city | string | City. |
state | string | Two-letter state code. |
zip | string | ZIP code. |
bedrooms | number | Bedroom count. |
bathrooms | number | Bathroom count. |
sqft | number | Living area in square feet. |
lotSize | string | Lot size, such as "3.84 acres" or "5,250 sqft". Contact mode. |
yearBuilt | number | Construction year. Contact mode. |
propertyType | string | Property type, such as single-family residence or condo. Contact mode. |
status | string | Active, Pending, Sold, Coming Soon and similar states. |
description | string | Public listing remarks. Contact mode. |
mlsNumber | string | MLS identifier. Contact mode. |
photoCount | number | Number of photo URLs. |
photos | string[] | Listing photo URLs. |
agentId | string | Agent identifier when the source exposes one. |
agentName | string | Listing agent name. |
agentPhone | string | Listing agent phone. Contact mode. |
agentEmail | string | Listing agent email. Contact mode. |
agentOffice | string | Brokerage or office name. |
placeName | string | Resolved place name for the search. |
placeType | string | city, county, postalCode, neighborhood or similar. |
source | string | Source surface that produced the row. |
scrapedAt | string | UTC ISO 8601 collection timestamp. |
Fast mode does not guarantee agentPhone, agentEmail, description, mlsNumber, photos, lotSize or yearBuilt. Enable includeDetails when those fields matter.
Pricing
Pricing uses pay-per-event billing. A small start event applies to each run, each listing row generates a result event, and contact-mode rows with agent contact data generate an additional contact-detail event.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
| Actor start, per run | $0.00005 | $0.00005 | $0.00005 | $0.00005 | $0.00005 | $0.00005 |
| Listing result | $0.002 | $0.002 | $0.00195 | $0.0019 | $0.0019 | $0.0019 |
| Contact detail | $0.0009 | $0.0009 | $0.00089 | $0.00085 | $0.00085 | $0.00085 |
That is $1.90-$2.00 per 1,000 listings, plus $0.85-$0.90 per 1,000 contact-detail rows in contact mode. Free users receive the first 10 listings as a preview. Contact mode only bills the contact-detail event for rows that actually contain an agent phone or email.
Example Input
{"city": "Los Angeles","state": "CA","minPrice": 500000,"maxPrice": 900000,"minBeds": 2,"maxBeds": 4,"maxListings": 100,"includeDetails": true}
Example Output
{"url": "https://www.century21.com/homes/detail/ca/north-hills/16351-labrador-st/lid-P00800000HHyhzxTh2HrvIRxbCqcJHlEou9JK1Zs","listingId": "P00800000HHyhzxTh2HrvIRxbCqcJHlEou9JK1Zs","title": "16351 Labrador Street, North Hills, CA 91343","price": 840000,"address": "16351 Labrador Street, North Hills, CA 91343","street": "16351 Labrador Street","city": "North Hills","state": "CA","zip": "91343","bedrooms": 3,"bathrooms": 2,"sqft": 1248,"lotSize": "5,250 sqft","yearBuilt": 1962,"propertyType": "Single Family Residence","status": "Coming Soon","description": "Updated single-story home with a private backyard.","mlsNumber": "V1-38953","photoCount": 24,"photos": ["https://images-listings.century21.com/CRMLS/V1/_3/89/53/_P/V1_38953_P00.jpg"],"agentName": "Jane Agent","agentPhone": "(818) 555-0134","agentEmail": "jane.agent@example.com","agentOffice": "CENTURY 21 MASTERS","source": "www.century21.com (html)","scrapedAt": "2026-09-28T16:55:51.030Z"}
Integrations and Automation
Schedule a daily or weekly search and send results to Google Sheets, Airtable, a CRM, a SQL database or a property dashboard. Apify webhooks, Zapier, Make, n8n and the Apify API support automated runs and post-run processing.
Use fast mode for broad inventory tracking, then contact mode on a smaller maxListings set when you need agent leads. Diff price and status between runs to catch price cuts, pending sales and new inventory.
Related Actors
- HousingAnywhere Scraper - European mid-term rentals with total monthly cost.
- Spotahome Scraper - Spotahome and HousingAnywhere rental listings in one feed.
- Indeed Job Scraper - job and salary data for relocation research.
FAQ
Does Century 21 have a public API?
No general public developer API is required for this workflow. The Actor reads the same public property search and detail pages that the website serves, using HTTP requests rather than a browser.
What is the difference between fast mode and contact mode?
Fast mode reads the search result cards and returns one compact row per listing with no extra requests. Contact mode visits each property page to add agent phone, email, office, description, MLS number, photos, lot size and year built.
Why do I need a state for a city or ZIP search?
Century 21's search URL structure uses a two-letter state segment. Provide state together with city or zip. A direct startUrls entry avoids this requirement.
Does contact mode bill every listing?
No. The contact-detail event applies only to rows that contain an agent phone or email. Rows without contact details are skipped in contact mode.
How many listings can I collect?
Paid runs support up to 1,000 listings, controlled by maxListings. Free users get the first 10 rows as a preview.
Are photos downloaded?
No. photos contains image URLs. Downloading image files is a separate step in your own pipeline.
For AI Agents and LLM Apps
The Actor can be called through the Apify MCP server and the Apify API. It returns flat property records with optional agent contact data.
Minimal input
{"city": "Austin","state": "TX","maxListings": 25}
Behavior an agent should know
- One dataset item represents one property listing.
startUrlsoverridescity,stateandzip;zipoverridescityandstate.stateis required withcityorzip.includeDetails: falseis the cheapest path and may omit agent contact, MLS, description and detail fields.includeDetails: truemakes one extra request per listing and triggers the contact-detail event only for rows with contact data.maxListingsis capped at 1,000.- Numeric fields can arrive as strings on some source surfaces; coerce before arithmetic.
Suggested tool description: "Collect Century 21 US property listings with price, address, beds, baths, square footage, status, MLS number, photos and optional listing-agent phone and email."
Legal and Compliance
This Actor collects publicly available real-estate listing data. It is not affiliated with Century 21. Respect Century 21's terms, MLS display rules and applicable law.
Agent names, phone numbers and email addresses can be personal data. Telemarketing, email marketing and do-not-call rules may apply. Some MLS agreements restrict how listing data may be retained or redistributed. Verify your legal basis before outreach or redistribution.
SEO Keywords
Century 21 scraper, Century21 listings, Century 21 real estate data, US property listings, MLS number data, real estate agent leads, listing agent phone numbers, listing agent emails, property price data, homes for sale data, real estate market research, ZIP code listings, city property listings, property photos, real estate CRM data, US housing market, listing status data, comparable sales data, property details, agent contact data, real estate dataset, Century 21 API alternative, property scraper, broker data, real estate lead generation