Crexi Property Scraper avatar

Crexi Property Scraper

Pricing

from $0.99 / 1,000 results

Go to Apify Store
Crexi Property Scraper

Crexi Property Scraper

Extract Crexi property listings automatically. Scrape commercial real estate data including prices, addresses, features & details. Perfect for real estate analysis, market research, investor tracking. Get CRE market data instantly.

Pricing

from $0.99 / 1,000 results

Rating

5.0

(4)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

3

Bookmarked

43

Total users

3

Monthly active users

11 hours

Issues response

17 days ago

Last modified

Share

What does Crexi Property Scraper do?

Crexi Property Scraper collects commercial real estate listings from public Crexi property result pages. Provide a Crexi results URL, optionally add a keyword or location filter, and receive structured records with listing titles, addresses, prices, property types, investment metrics, brokerage information, listing status, coordinates, and image URLs.

Use the dataset for commercial real estate market research, investment screening, broker research, listing review, and recurring inventory monitoring. The Actor supports the default Crexi property feed as well as city, state, and common property-type result URLs.

Why use Crexi Property Scraper?

  • Commercial property research - Build a structured view of active Crexi listings across markets and asset classes.
  • Investment screening - Review asking prices, square footage, cap rates, NOI, location, status, and listing links in one dataset.
  • Market monitoring - Repeat the same filtered run to compare visible listings and pricing over time.
  • Clean records - Empty strings, null values, undefined values, and empty nested arrays or objects are omitted from saved records.
  • Workflow-ready data - Export the dataset as JSON, CSV, Excel, or XML, or connect it to spreadsheets, webhooks, and automation tools through Apify.

What data can you extract from Crexi?

Each dataset item contains the normalized fields below when Crexi provides the corresponding value. The Actor also preserves source fields returned with the listing, such as id, name, description, askingPrice, locations, types, updatedOn, activatedOn, tenancy, pricePerSqFt, and media or listing-status flags.

FieldTypeDescription
listing_idStringCrexi listing identifier.
titleStringNormalized property listing title.
summaryStringNormalized listing description or summary.
urlStringCanonical Crexi property URL.
addressStringFull property address when available.
cityStringProperty city.
countyStringProperty county when available.
stateStringState code or state name.
zipStringPostal code.
latitudeNumberProperty latitude when available.
longitudeNumberProperty longitude when available.
property_typeStringOne or more Crexi property type labels.
price_valueNumberNumeric asking price when available.
price_textStringFormatted asking price, or Unpriced when no numeric price is available.
squareFootageNumberListing square footage when provided by Crexi.
capRateNumberCap rate when provided by Crexi.
netOperatingIncomeNumberNet operating income when provided by Crexi.
metric_lineStringReadable combination of square footage, cap rate, and NOI when available.
brokerageNameStringBrokerage or company name shown on the listing.
statusStringListing status reported by Crexi.
image_urlStringPrimary listing image URL.
image_urlsArrayGallery image URLs available for the listing.
numberOfImagesNumberNumber of listing images when provided.
numberOfGalleryItemsNumberNumber of gallery items when provided.
page_numberNumberCrexi result page associated with the record.
search_urlStringResult URL used for the record.
collected_atStringISO timestamp when the record was saved.

How to use Crexi Property Scraper

You can run the Actor from the Apify Console using its form fields, or send the same fields as a JSON input through an Apify run or integration.

  1. Open Crexi Property Scraper in Apify.
  2. Keep the default startUrl or paste a public Crexi property results URL.
  3. Set keyword, location, results_wanted, or max_pages if needed.
  4. Start the run and review the dataset preview.
  5. Download the results or connect the dataset to your next workflow.

The default start URL is https://www.crexi.com/properties?pageSize=60. A valid filtered Crexi URL can include a market, city, state, property type, page number, or search term supported by the source page.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNohttps://www.crexi.com/properties?pageSize=60Public Crexi property result URL to collect from. Filtered city, state, market, and property-type result URLs are supported.
keywordStringNoNoneOptional text filter matched against listing title, summary, address, city, state, property type, and visible metric text.
locationStringNoNoneOptional location filter matched against address, city, state, ZIP code, and county.
results_wantedIntegerNo20Maximum number of unique listings to save.
max_pagesIntegerNo3Maximum number of result pages to process.
proxyConfigurationObjectNoDirect connectionOptional Apify Proxy configuration. Leave it empty for direct collection, or enable it when repeated runs encounter access interruptions.

The schema accepts the parameters above and rejects additional input fields. results_wanted and max_pages must be at least 1 in the Apify input form.

Usage Examples

Basic Crexi Collection

Collect up to 20 listings from the default Crexi property feed:

{
"startUrl": "https://www.crexi.com/properties?pageSize=60",
"results_wanted": 20,
"max_pages": 2
}

City and State Result Page

Collect listings from a Houston, Texas results page:

{
"startUrl": "https://www.crexi.com/properties/TX/Houston?pageSize=60",
"results_wanted": 50,
"max_pages": 5
}

Property Type with Keyword and Location Filters

Start from a land results page and keep records that match both a keyword and a location:

{
"startUrl": "https://www.crexi.com/properties/Land?pageSize=60",
"keyword": "development",
"location": "Houston",
"results_wanted": 30,
"max_pages": 4
}

Sample Output

This is a representative single dataset item. Optional fields are absent when Crexi does not provide them.

{
"listing_id": "2497619",
"title": "34 Unit Owner-User Opportunity",
"summary": "Ideal Behavioral Health Conversion",
"property_type": "Office, Hospitality, Senior Living",
"address": "3305 North St, Nacogdoches, Nacogdoches County, TX 75965",
"city": "Nacogdoches",
"county": "Nacogdoches County",
"state": "TX",
"zip": "75965",
"latitude": 31.6343092,
"longitude": -94.6542923,
"price_value": 450000,
"price_text": "$450,000.00",
"brokerageName": "eXp Commercial Charlotte",
"status": "Auction",
"image_url": "https://images.crexi.com/assets/2497619/example_716x444.jpg",
"image_urls": [
"https://images.crexi.com/assets/2497619/example_3000x2000_resize.jpg",
"https://images.crexi.com/assets/2497619/example-2_3000x2000_resize.jpg"
],
"url": "https://www.crexi.com/properties/2497619/texas-34-unit-owner-user-opportunity",
"page_number": 1,
"search_url": "https://www.crexi.com/properties?pageSize=20",
"collected_at": "2026-07-03T14:56:03.495Z"
}

Data-quality behavior

  • Empty values are omitted - The Actor recursively removes empty strings, null values, undefined values, and empty arrays or objects before saving a record.
  • Duplicates are removed per run - Listings are deduplicated by listing_id, with the canonical property URL used as a fallback.
  • Filtered URLs are checked - City and state information derived from a filtered Crexi URL is checked against the returned address fields before a record is saved.
  • Gallery fallback is available - If gallery data is unavailable but a primary image exists, image_urls retains the primary image URL.
  • Result limits are respected - Collection stops when results_wanted is reached, max_pages is reached, the source has no more results, or the available result count has been processed.

Limitations

  • The Actor collects fields exposed in Crexi result listings and associated image data. Information available only on a property detail page may not appear in the dataset.
  • Crexi may not publish price, cap rate, NOI, square footage, coordinates, broker information, status, or image data for every listing.
  • A run can return fewer records than results_wanted when the filtered source has fewer listings, records are removed by the keyword or location filter, duplicates are encountered, or a result page cannot be retrieved.
  • Public result pages can change over time. If Crexi changes its page behavior or a run stops early, check the run logs and report the issue through the Actor page.
  • keyword and location are post-collection text filters. They are useful for narrowing saved results, but they do not change the set of fields published by Crexi.

Tips for best results

  • Use a complete public Crexi result URL copied from the market, city, state, or property-type page you want to study.
  • Start with results_wanted: 20 and a small max_pages value to confirm the target and filters.
  • Use keyword for terms such as an asset use, development purpose, or property phrase that should occur in the listing data.
  • Use location when you need a stricter check on the returned address, city, state, ZIP code, or county.
  • Review the dataset preview before scheduling larger runs, because financial and media fields vary by listing.

Integrations and export formats

  • Apify API - Retrieve dataset items programmatically for analysis, dashboards, or internal systems.
  • Google Sheets - Review property inventory and compare pricing in a spreadsheet.
  • Airtable - Maintain a searchable property research table.
  • Make or Zapier - Send selected listings into alerts and business workflows.
  • Webhooks - Notify downstream systems when a run completes.
  • JSON, CSV, Excel, and XML - Download the dataset in formats suited to applications, spreadsheets, reporting, or data exchange.

Frequently Asked Questions

Yes. Use a public Crexi property result URL for the default feed or a supported market, city, state, property-type, page, or search-term view.

Can I filter by keyword or location?

Yes. keyword checks listing text and property-related fields, while location checks address, city, state, ZIP code, and county values before records are saved.

How many listings can I collect?

The Actor collects up to results_wanted, subject to max_pages, available source results, duplicate removal, and the filters you provide.

Why are some output fields missing?

Crexi does not publish every field for every listing. The Actor keeps the listing and omits unavailable values instead of inserting empty placeholders.

Does the Actor collect property images?

Yes. Records can include a primary image_url and an image_urls gallery array when image data is available. If gallery data is unavailable, the primary image is used as a fallback when possible.

Can I schedule Crexi monitoring runs?

Yes. Create an Apify schedule using the same input, then compare the resulting datasets over time. The Actor does not calculate changes between runs.

Public data collection may be subject to applicable laws, privacy requirements, and Crexi's terms of service. You are responsible for using the Actor lawfully, respecting access limits, and handling collected property and contact information responsibly.

  • DDProperty Scraper - Collect property listings from Thailand for market research and investment analysis.
  • Private Property Scraper - Extract South African property listings with pricing, specifications, media, and agent information.
  • Zameen.com Scraper - Collect Pakistan property listings for houses, plots, and commercial properties.
  • Dot Property Scraper - Extract Philippine property listings, prices, locations, and listing details.

Support

For issues, feature requests, or changes in Crexi result pages, use the Issues tab on the Actor page or contact the developer through Apify.

This Actor is intended for legitimate collection of publicly available Crexi property information. Users are responsible for complying with applicable laws, Crexi's terms of service, privacy rules, and any restrictions that apply to the data they collect, store, or share.