Crexi Scraper with Agents | Fast & Reliable
Pricing
from $0.70 / 1,000 property listings
Crexi Scraper with Agents | Fast & Reliable
Extract Crexi listings at scale with rich commercial property detail, broker contacts, deep listing metadata and market insights. Built for enterprise-grade commercial real estate intelligence, deal sourcing, and automated analytics pipelines.
Pricing
from $0.70 / 1,000 property listings
Rating
0.0
(0)
Developer
Fatih Tahta
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Crexi Scraper
Slug: fatihtahta/crexi-scraper
Overview
Crexi Scraper collects structured commercial real estate listing records from Crexi, including property details, pricing, location, listing status, asset categories, broker information, and optional enriched listing attributes. Crexi is a commercial real estate marketplace where public sale and lease listings can provide useful signals for market research, sourcing, valuation review, and broker coverage analysis. The actor converts public listing data into repeatable JSON records that are easier to query, compare, export, and load into operational systems. It is designed for dependable recurring data acquisition workflows where consistent inputs, predictable output fields, and automation-ready datasets matter. Use it to run focused one-time searches or scheduled monitoring jobs without manually copying marketplace results.
Why Use This Actor
- Market research and analytics teams: build structured extraction workflows for commercial real estate supply, asking prices, cap rates, asset classes, locations, and listing freshness.
- Product and content teams: populate private directories, listing experiences, market pages, or editorial datasets with normalized public property information.
- Developers and data engineering teams: feed downstream systems with predictable JSON records that support ETL jobs, warehouse loads, enrichment pipelines, and operational reporting.
- Lead generation and enrichment teams: collect public listing, broker, brokerage, and property context to qualify prospects and improve CRM records.
- Monitoring and competitive tracking teams: schedule repeatable collection to observe changes in availability, pricing, categories, contacts, and geographic coverage over time.
Common Use Cases
- Market intelligence: monitor commercial property supply, asking price, cap rate, building size, land area, listing status, and geography.
- Lead generation: build targeted prospect lists from public listings, brokers, brokerages, asset classes, and locations.
- Competitive monitoring: track changes in active, pending, and under-contract listings across specific markets or property segments.
- Catalog and directory building: populate owned databases with structured commercial property records and normalized location fields.
- Data enrichment: add current public Crexi attributes to existing CRM, BI, underwriting, or analytics datasets.
- Recurring reporting: schedule periodic runs for dashboards, alerts, market snapshots, and trend analysis.
- Deal sourcing: screen public sale and lease opportunities by price, property type, tenancy, lease type, size, and publication date.
Quick Start
- Choose a
locationsuch as a city, state, ZIP code, neighborhood, county, or market, or leave it blank for broader discovery. - Select
deal_typeasbuyorlease, then add optional filters such asproperty_type,publication_date, price, cap rate, building size, or land area. - Set a small
limitfor the first validation run so you can quickly inspect the output shape. - Run the actor in Apify Console.
- Review the first dataset records and confirm that the fields match your workflow.
- Increase
limit, refine filters, enable richer records, or schedule recurring runs after the initial output is validated.
Input Parameters
The actor accepts an optional location, keyword, listing mode, listing filters, enrichment options, coverage option, and maximum result limit.
| Parameter | Type | Description | Default |
|---|---|---|---|
location | string | Optional city, state, ZIP code, neighborhood, county, or market, such as Dallas, TX, Miami, FL, or 10001. Leave blank to search all listings. | - |
keyword | string | Optional word or phrase used to narrow the search by theme, asset feature, tenant type, or other listing text. | - |
deal_type | string | Listing mode. Allowed values: buy, lease. | buy |
property_type | array of strings | One or more Crexi property categories or subcategories. Allowed values: Retail, Multifamily, Office, Industrial, Hospitality, Mixed Use, Land, Self Storage, Mobile Home Park, Senior Living, Special Purpose, Note/Loan, Business for Sale, Bank, Convenience Store, Day Care/Nursery, QSR/Fast Food, Gas Station, Grocery Store, Pharmacy/Drug, Restaurant, Bar, Storefront, Shopping Center, Auto Shop, Student Housing, Single Family Rental Portfolio, RV Park, Apartment Building, Traditional Office, Executive Office, Medical Office, Creative Office, Distribution, Flex, Warehouse, R&D, Manufacturing, Refrigerated/Cold Storage, Hotel, Motel, Casino, Agricultural (Land), Residential (Land), Commercial (Land), Industrial (Land), Islands (Land), Farm (Land), Ranch (Land), Timber (Land), Hunting/Recreational (Land), Telecom/Data Center, Sports/Entertainment, Marina, Golf Course, School, Religious/Church, Garage/Parking, Car Wash, Airport, Business Only, Business and Building. Leave empty to include all supported property types. | - |
tenancy | array of strings | One or more tenancy statuses. Allowed values: Vacant, Single, Multi. | - |
lease_type | array of strings | One or more lease structures. Allowed values: Net, NNN, Absolute Net, Gross, Modified, Ground. | - |
opportunity_zone | boolean | When enabled, keeps only listings marked as located in an Opportunity Zone. | false |
publication_date | string | Listing recency filter. Allowed values: 24_hours, 3_days, 7_days, 14_days, 30_days, 90_days, 6_months, 365_days. | - |
building_quality_class | array of strings | One or more building quality classes. Allowed values: A, B, C, D. | - |
listing_status | array of strings | Listing statuses to include. Allowed values: active_listing, contract_pending, under_contract. | ["active_listing"] |
min_cap_rate | number | Minimum capitalization rate percentage to include. Allowed range: 0.1 to 15. | - |
max_cap_rate | number | Maximum capitalization rate percentage to include. Allowed range: 0.1 to 15. | - |
min_remaining_term | integer | Minimum remaining lease term, in years. Allowed range: 1 to 100. | - |
max_remaining_term | integer | Maximum remaining lease term, in years. Allowed range: 1 to 100. | - |
min_price | integer | Minimum asking price for sale listings, in listing currency where available. | - |
max_price | integer | Maximum asking price for sale listings, in listing currency where available. | - |
min_price_per_sf | integer | Minimum price per square foot. For sale searches, this represents sale price per square foot; for lease searches, annual base rent per square foot. | - |
max_price_per_sf | integer | Maximum price per square foot. For sale searches, this represents sale price per square foot; for lease searches, annual base rent per square foot. | - |
min_building_area | integer | Minimum building size in square feet. | - |
max_building_area | integer | Maximum building size in square feet. | - |
min_land_area | number | Minimum land area in acres. | - |
max_land_area | number | Maximum land area in acres. | - |
enrich_data | boolean | Collects richer listing details such as descriptions, highlights, property facts, suites, tenants, and location details when available. | true |
get_contacts | boolean | Includes available listing broker and brokerage contact details when available. | true |
maximize_coverage | boolean | Collects more matching sale listings for broad sale searches. Use false for faster exploratory runs or lease searches where standard collection is enough. | true |
limit | integer | Maximum number of listings to save. Minimum: 1. The input form may prefill 100; leave empty to collect eligible results until no more matching records are available. | - |
Choosing Inputs
Use location to define the target market and keyword when the market alone is too broad. Choose deal_type first because sale and lease workflows use different screening criteria in practice. Add property_type, tenancy, lease_type, listing_status, publication_date, and building quality filters when you need a more targeted dataset; leave optional filters empty when discovery is more important than precision. Price, cap rate, remaining term, building area, and land area fields control numeric scope and are useful for underwriting, sourcing, and reporting. Start with a small limit, confirm the dataset shape, then increase the limit or schedule the actor once the output matches your use case.
Example Inputs
Example: Miami retail sale search
{"location": "Miami, FL","deal_type": "buy","property_type": ["Retail", "Convenience Store"],"min_cap_rate": 4,"max_price": 15000000,"enrich_data": true,"get_contacts": true,"limit": 25}
Example: Recently published lease opportunities
{"location": "Dallas, TX","deal_type": "lease","property_type": ["Office", "Medical Office"],"publication_date": "30_days","min_building_area": 5000,"enrich_data": true,"limit": 50}
Example: Broad discovery with conservative output
{"keyword": "industrial outdoor storage","deal_type": "buy","property_type": ["Industrial", "Land"],"listing_status": ["active_listing"],"maximize_coverage": true,"enrich_data": false,"get_contacts": false,"limit": 100}
Output
Output destination
The actor writes results to an Apify dataset as JSON records. The dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs with minimal post-processing.
The example output contains one listing record shape. If future runs return multiple entity shapes, document and validate each shape separately in downstream systems.
Record envelope and stable identifiers
Each dataset item represents one Crexi listing record with top-level listing fields, location fields, optional enriched detail fields, optional contact records, and run context. The recommended idempotency key is id; use url or fingerprint as a secondary deduplication key when syncing across systems. For upserts, merge records by id and update mutable fields such as status, asking price, timestamps, contacts, and enriched details. Stable identifiers make records easier to merge, deduplicate, and sync across repeated runs.
The fingerprint field is a compact record signature that can help detect duplicate or materially similar records. The source_context object provides collection context for the record, including the source seed value and page index when available.
Examples
Example: listing record
{"id": 904218,"url": "https://www.crexi.com/properties/904218/texas-net-leased-retail-property","title": "Net Leased Retail Property","description": "Retail | 5.25% CAP | 6,120 SF","status": "Active","asking_price": 7850000.0,"price_per_sq_ft": 1282.6797385620914,"square_footage": 6120,"lot_size_acres": 1.35,"cap_rate": 5.25,"tenancy": "Single","types": ["Retail"],"brokerage_name": "Northstar Commercial Advisors","thumbnail_url": "https://images.crexi.com/assets/904218/sample-retail-property_716x444.jpg","activated_on": "2025-03-14T10:24:18.000Z","updated_on": "2026-04-22T15:18:43.000Z","is_in_opportunity_zone": false,"has_om": true,"has_flyer": false,"has_video": false,"has_virtual_tour": false,"address": "1000 Market Center Drive","city": "Austin","county": "Travis County","state": "TX","zip": "78701","full_address": "1000 Market Center Drive, Austin, Travis County, TX 78701","latitude": 30.267153,"longitude": -97.743057,"attributes": {"broker_team_logo_url": "https://images.crexi.com/user-accounts/70001/sample-brokerage-logo_150x100_resize.jpg","number_of_gallery_items": 6,"number_of_images": 6,"price_per_acre_land": "$5,814,815/Acre","show_countdown_as_date": false,"user_is_asset_owner": false,"recomm_id": "b421a9c17e8d4f2a90c3b6e5a1d7f804","is_new": false,"lease_term": 12.0,"tenants": ["Sample Market"],"earnest_deposit_amount_in_percent": false,"qual_form_required": false,"has_vault": false,"has_private_vault": false,"vault_access_status": "AuthRequired","has_broker_of_record": false,"fee_agreement_is_required": false,"user_can_download_md": false,"user_executed_c_a": false,"is_saved_to_boards": false,"ca_principal_info_type": "None","all_loi_fields_required": true,"has_closing": false,"use_print_view_as_flyer": false,"is_note_loan": false,"hide_property_history": false,"hide_valuation_calculator": false,"hide_climate_risk": false,"hide_placer_insights": false,"hide_demographic_insights": false,"deposit_option": "Credit Card","broker_products": ["Professional"],"has_default_summary_details": true,"is_private": false,"is_comp": false,"is_elite": false,"is_sell_subject_to": false,"has_auctioneer": false},"deal_type": "buy","subtypes": ["Convenience Store"],"investment_highlights": "Newer construction with long-term single-tenant occupancy and scheduled rent increases. High-visibility retail location near major commuter corridors and dense residential demand. Fee-simple ownership with limited landlord responsibilities and strong regional traffic drivers.","details": {"Asking Price": "$7,850,000","Property Type": "Retail","Sub Type": "Convenience Store","Lease Type": "NNN","Tenant Credit": "Regional Credit","Tenancy": "Single","Brand/Tenant": "Sample Market","Lease Term": "12 years","Square Footage": "6,120","Cap Rate": "5.25%","Year Built": "2024","Lot Size (acres)": "1.35","Rent Bumps": "2% Annually","Lease Options": "3, 5-Year Options"},"summary_details": [{"key": "Types","value": ["Retail"],"value_type": "Array","label": "Property Type","display": "Retail"},{"key": "Subtypes","value": ["Convenience Store"],"value_type": "Array","label": "Sub Type","display": "Convenience Store"},{"key": "SquareFootage","value": 6120.0,"value_type": "DecimalType","label": "Square Footage","display": "6,120"},{"key": "CapRate","value": 5.25,"value_type": "Percentage","label": "Cap Rate","display": "5.25%"},{"key": "Tenancy","value": "Single","value_type": "Text","label": "Tenancy","display": "Single"},{"key": "Tenants","value": ["Sample Market"],"value_type": "Array","label": "Brand/Tenant","display": "Sample Market"},{"key": "LeaseType","value": "NNN","value_type": "Text","label": "Lease Type","display": "NNN"},{"key": "LeaseTerm","value": 12.0,"value_type": "DecimalType","label": "Lease Term","display": "12"},{"key": "RentBumps","value": "Yes","value_type": "Text","label": "Rent Bumps","display": "Yes"},{"key": "LeaseOptions","value": "3, 5-Year Options","value_type": "Text","label": "Lease Options","display": "3, 5-Year Options"},{"key": "YearBuilt","value": "2024","value_type": "Text","label": "Year Built","display": "2024"},{"key": "LotSize","value": 1.35,"value_type": "DecimalType","label": "Acreage","display": "1.350"},{"key": "TenantCreditProfiles","value": ["Regional Credit"],"value_type": "Array","label": "Tenant Credit","display": "Regional Credit"}],"created_on": "2025-03-14T09:42:12.000Z","hide_address": false,"hide_street_view": false,"is_outdated": false,"is_paused": false,"is_sold": false,"is_unpriced": false,"property_location": {"city_verified": "Austin","state_verified": {"code": "TX","name": "Texas"},"address": "1000 Market Center Drive","city": "Austin","county": "Travis County","state": {"code": "TX","name": "Texas"},"zip": "78701","latitude": 30.267153,"longitude": -97.743057},"contacts": [{"id": 70124,"global_id": "8b6f3d2e-0a42-4f1c-96bd-6c2a17f85011","first_name": "Alex","last_name": "Morgan","full_name": "Alex Morgan","phone": "512.555.0148","email": "alex.morgan@example.com","public_profile_id": "alexmorgan","thumbnail_url": "https://images.crexi.com/users/70124/sample-contact-1_164x164.jpg","licenses": ["TX 1234567"],"license_details": [{"broker_id": 70124,"position": 0,"number": "TX 1234567","created_on": "2024-02-12T14:30:00.000Z","is_auctioneer": false}],"brokerage": {"location": {"address": "2100 Commerce Street","city": "Austin","country": "United States","state": {"code": "TX","name": "Texas"},"zip": "78702","apt_number": "300","latitude": 0.0,"longitude": 0.0},"name": "Northstar Commercial Advisors","logo_url": "https://images.crexi.com/user-accounts/70001/sample-brokerage-logo_150x100_resize.jpg","website": "https://www.example-commercial.com/"},"number_of_assets": 118,"is_internal": false,"is_platinum": false,"is_auctioneer": false,"verification_method": "None","badges": [{"title": "PRO"}],"capabilities": [{"kind": "Chats"}],"attributes": {"created_on": "2020-01-15T18:12:00.000Z"}},{"id": 70852,"global_id": "dd17f850-a3c9-4d70-a642-087c865c1e90","first_name": "Taylor","last_name": "Reed","full_name": "Taylor Reed","phone": "512.555.0194","email": "taylor.reed@example.com","public_profile_id": "taylorreed","thumbnail_url": "https://images.crexi.com/users/70852/sample-contact-2_164x164.jpg","licenses": ["TX 7654321"],"license_details": [{"broker_id": 70852,"position": 1,"number": "TX 7654321","created_on": "2024-05-20T11:45:00.000Z","is_auctioneer": false}],"brokerage": {"location": {"address": "2100 Commerce Street","city": "Austin","country": "United States","state": {"code": "TX","name": "Texas"},"zip": "78702","apt_number": "300","latitude": 0.0,"longitude": 0.0},"name": "Northstar Commercial Advisors","logo_url": "https://images.crexi.com/user-accounts/70001/sample-brokerage-logo_150x100_resize.jpg","website": "https://www.example-commercial.com/"},"number_of_assets": 204,"is_internal": false,"is_platinum": false,"is_auctioneer": false,"verification_method": "None","badges": [{"title": "PRO"}],"capabilities": [{"kind": "Chats"}],"attributes": {"created_on": "2019-08-09T16:20:00.000Z"}},{"id": 72433,"global_id": "0fa4d2b6-b91d-45e1-8ad4-bbc36d3a8402","first_name": "Jordan","last_name": "Lee","full_name": "Jordan Lee","phone": "214.555.0127","email": "jordan.lee@example.com","public_profile_id": "jordanlee","thumbnail_url": "https://images.crexi.com/users/72433/sample-contact-3_164x164.jpg","licenses": ["TX 2468135","OK 1357924","NM 9753186","LA 8642097","AR 7531902","CO 6420813","AZ 5319724"],"license_details": [{"broker_id": 72433,"position": 0,"number": "TX 2468135","type_id": "Real Estate Broker","created_on": "2023-06-10T13:15:00.000Z","license_state_code": "TX","broker_title": "Real Estate Broker","is_auctioneer": false,"brokerage_license_phone": "214-555-0127"},{"broker_id": 72433,"position": 1,"number": "OK 1357924","type_id": "Real Estate Broker","created_on": "2025-01-18T09:05:00.000Z","license_state_code": "OK","is_auctioneer": false,"brokerage_license_phone": "2145550127"},{"broker_id": 72433,"position": 2,"number": "NM 9753186","type_id": "Real Estate Broker","created_on": "2023-06-10T13:15:00.000Z","license_state_code": "NM","is_auctioneer": false,"brokerage_license_phone": "214-555-0127"},{"broker_id": 72433,"position": 3,"number": "LA 8642097","type_id": "Real Estate Broker","created_on": "2025-01-18T09:05:00.000Z","license_state_code": "LA","is_auctioneer": false,"brokerage_license_phone": "214-555-0127"},{"broker_id": 72433,"position": 4,"number": "AR 7531902","type_id": "Real Estate Broker","created_on": "2025-01-18T09:05:00.000Z","license_state_code": "AR","is_auctioneer": false,"brokerage_license_phone": "214-555-0127"},{"broker_id": 72433,"position": 5,"number": "CO 6420813","type_id": "Real Estate Broker","created_on": "2025-01-18T09:05:00.000Z","license_state_code": "CO","is_auctioneer": false,"brokerage_license_phone": "214-555-0127"},{"broker_id": 72433,"position": 6,"number": "AZ 5319724","type_id": "Real Estate Broker","created_on": "2025-01-18T09:05:00.000Z","license_state_code": "AZ","is_auctioneer": false,"brokerage_license_phone": "214-555-0127"}],"brokerage": {"location": {"address": "3500 North Central Avenue","city": "Phoenix","country": "United States","state": {"code": "AZ","name": "Arizona"},"zip": "85012","apt_number": "420","latitude": 0.0,"longitude": 0.0},"name": "Northstar Commercial Advisors","logo_url": "https://images.crexi.com/user-accounts/70002/sample-brokerage-logo_150x100_resize.jpg","website": "https://www.example-commercial.com/"},"number_of_assets": 86,"is_internal": false,"is_platinum": false,"is_auctioneer": false,"verification_method": "None","badges": [{"title": "PRO"}],"capabilities": [{"kind": "Chats"}],"attributes": {"created_on": "2018-04-26T20:34:00.000Z"}},{"id": 73918,"global_id": "e7acb91f-4d80-4c5b-9cf2-7dd7ec927604","first_name": "Casey","last_name": "Bennett","full_name": "Casey Bennett","phone": "512.555.0166","email": "casey.bennett@example.com","public_profile_id": "caseybennett","thumbnail_url": "https://images.crexi.com/users/73918/sample-contact-4_164x164.jpg","licenses": ["TX 1123581"],"license_details": [{"broker_id": 73918,"position": 1,"number": "TX 1123581","created_on": "2024-09-03T12:25:00.000Z","is_auctioneer": false}],"brokerage": {"location": {"address": "2100 Commerce Street","city": "Austin","country": "United States","state": {"code": "TX","name": "Texas"},"zip": "78702","apt_number": "300","latitude": 0.0,"longitude": 0.0},"name": "Northstar Commercial Advisors","logo_url": "https://images.crexi.com/user-accounts/70001/sample-brokerage-logo_150x100_resize.jpg","website": "https://www.example-commercial.com/"},"number_of_assets": 39,"is_internal": false,"is_platinum": false,"is_auctioneer": false,"verification_method": "None","attributes": {"created_on": "2021-11-05T17:10:00.000Z"}}],"contact_count": 4,"fingerprint": "9f2c7a4d81b6e305c4a1","source_context": {"seed_id": "a4c9e2b71f0d63842b5e","seed_type": "search","seed_value": "Austin, TX","page_index": 1}}
Field Reference
Listing Record
id (number, required): Stable Crexi listing identifier.
url (string, required): Public listing URL.
title (string, optional): Listing title.
description (string, optional): Short listing summary.
status (string, optional): Listing status, such as active.
asking_price (number, optional): Asking price when available.
price_per_sq_ft (number, optional): Price per square foot when available.
square_footage (number, optional): Building or listed area in square feet.
lot_size_acres (number, optional): Land area in acres.
cap_rate (number, optional): Capitalization rate percentage.
tenancy (string, optional): Tenancy status, such as single, multi, or vacant.
types (array, optional): Property type categories.
brokerage_name (string, optional): Brokerage name associated with the listing.
thumbnail_url (string, optional): Listing thumbnail image URL.
activated_on / updated_on / created_on (string, optional): Listing timestamps in ISO 8601 format when available.
is_in_opportunity_zone (boolean, optional): Whether the listing is marked as in an Opportunity Zone.
has_om / has_flyer / has_video / has_virtual_tour (boolean, optional): Availability flags for listing media or materials.
address / city / county / state / zip / full_address (string, optional): Normalized listing address fields.
latitude / longitude (number, optional): Listing coordinates.
deal_type (string, optional): Listing mode, such as buy or lease.
subtypes (array, optional): Property subtype categories.
investment_highlights (string, optional): Listing highlights or marketing description when available.
details (object, optional): Key-value listing facts as presented in the record.
details.Asking Price (string, optional): Formatted asking price.
details.Property Type (string, optional): Formatted property type.
details.Sub Type (string, optional): Formatted property subtype.
details.Lease Type (string, optional): Lease structure.
details.Tenant Credit (string, optional): Tenant credit profile.
details.Tenancy (string, optional): Formatted tenancy value.
details.Brand/Tenant (string, optional): Tenant or brand name.
details.Lease Term (string, optional): Formatted lease term.
details.Square Footage (string, optional): Formatted square footage.
details.Cap Rate (string, optional): Formatted cap rate.
details.Year Built (string, optional): Year built.
details.Lot Size (acres) (string, optional): Formatted lot size in acres.
details.Rent Bumps (string, optional): Rent escalation information.
details.Lease Options (string, optional): Lease option information.
summary_details (array, optional): Structured summary facts.
summary_details.key (string, optional): Source key for the summary fact.
summary_details.value (string, number, boolean, array, or object, optional): Raw summary value.
summary_details.value_type (string, optional): Value type label.
summary_details.label (string, optional): Display label.
summary_details.display (string, optional): Human-readable display value.
hide_address / hide_street_view (boolean, optional): Visibility flags for address and street-view information.
is_outdated / is_paused / is_sold / is_unpriced (boolean, optional): Listing state flags.
contact_count (number, optional): Number of contact records included.
fingerprint (string, optional): Compact record fingerprint useful for duplicate detection.
Listing Attributes
attributes.broker_team_logo_url (string, optional): Broker team or brokerage logo URL.
attributes.number_of_gallery_items / attributes.number_of_images (number, optional): Media counts.
attributes.price_per_acre_land (string, optional): Formatted land price per acre.
attributes.show_countdown_as_date (boolean, optional): Countdown display flag.
attributes.user_is_asset_owner (boolean, optional): Asset-owner flag when present.
attributes.recomm_id (string, optional): Recommendation identifier.
attributes.is_new (boolean, optional): Whether the listing is marked new.
attributes.lease_term (number, optional): Lease term value when available.
attributes.tenants (array, optional): Tenant names.
attributes.earnest_deposit_amount_in_percent (boolean, optional): Earnest deposit display flag.
attributes.qual_form_required (boolean, optional): Whether a qualification form is indicated.
attributes.has_vault / attributes.has_private_vault (boolean, optional): Vault availability flags.
attributes.vault_access_status (string, optional): Vault access status label.
attributes.has_broker_of_record (boolean, optional): Broker-of-record flag.
attributes.fee_agreement_is_required (boolean, optional): Fee agreement requirement flag.
attributes.user_can_download_md (boolean, optional): Marketing document download flag.
attributes.user_executed_c_a (boolean, optional): Confidentiality agreement execution flag.
attributes.is_saved_to_boards (boolean, optional): Saved-to-board flag.
attributes.ca_principal_info_type (string, optional): Principal information type.
attributes.all_loi_fields_required (boolean, optional): Letter-of-intent field requirement flag.
attributes.has_closing (boolean, optional): Closing availability flag.
attributes.use_print_view_as_flyer (boolean, optional): Flyer display flag.
attributes.is_note_loan (boolean, optional): Whether the listing is a note or loan.
attributes.hide_property_history / attributes.hide_valuation_calculator / attributes.hide_climate_risk / attributes.hide_placer_insights / attributes.hide_demographic_insights (boolean, optional): Visibility flags for listing insights.
attributes.deposit_option (string, optional): Deposit option label.
attributes.broker_products (array, optional): Broker product labels.
attributes.has_default_summary_details (boolean, optional): Whether default summary details are available.
attributes.is_private / attributes.is_comp / attributes.is_elite / attributes.is_sell_subject_to / attributes.has_auctioneer (boolean, optional): Listing classification flags.
Property Location
property_location.city_verified (string, optional): Verified city value.
property_location.state_verified.code (string, optional): Verified state code.
property_location.state_verified.name (string, optional): Verified state name.
property_location.address (string, optional): Street address.
property_location.city (string, optional): City.
property_location.county (string, optional): County.
property_location.state.code (string, optional): State code.
property_location.state.name (string, optional): State name.
property_location.zip (string, optional): ZIP code.
property_location.latitude / property_location.longitude (number, optional): Location coordinates.
Contacts
contacts (array, optional): Listing broker and brokerage contact records when get_contacts is enabled and contacts are available.
contacts.id (number, optional): Contact identifier.
contacts.global_id (string, optional): Global contact identifier.
contacts.first_name / contacts.last_name / contacts.full_name (string, optional): Contact name fields.
contacts.phone / contacts.email (string, optional): Public contact details when available.
contacts.public_profile_id (string, optional): Public profile identifier.
contacts.thumbnail_url (string, optional): Contact image URL.
contacts.licenses (array, optional): License numbers.
contacts.license_details (array, optional): Detailed license records.
contacts.license_details.broker_id (number, optional): Broker identifier for the license record.
contacts.license_details.position (number, optional): License ordering position.
contacts.license_details.number (string, optional): License number.
contacts.license_details.type_id (string, optional): License type.
contacts.license_details.created_on (string, optional): License record timestamp.
contacts.license_details.license_state_code (string, optional): License state code.
contacts.license_details.broker_title (string, optional): Broker title.
contacts.license_details.is_auctioneer (boolean, optional): Auctioneer flag.
contacts.license_details.brokerage_license_phone (string, optional): Brokerage license phone.
contacts.brokerage.name (string, optional): Brokerage name.
contacts.brokerage.logo_url (string, optional): Brokerage logo URL.
contacts.brokerage.website (string, optional): Brokerage website.
contacts.brokerage.location.address (string, optional): Brokerage street address.
contacts.brokerage.location.city (string, optional): Brokerage city.
contacts.brokerage.location.country (string, optional): Brokerage country.
contacts.brokerage.location.state.code (string, optional): Brokerage state code.
contacts.brokerage.location.state.name (string, optional): Brokerage state name.
contacts.brokerage.location.zip (string, optional): Brokerage ZIP code.
contacts.brokerage.location.apt_number (string, optional): Brokerage suite or apartment number.
contacts.brokerage.location.latitude / contacts.brokerage.location.longitude (number, optional): Brokerage coordinates when available.
contacts.number_of_assets (number, optional): Number of assets associated with the contact.
contacts.is_internal / contacts.is_platinum / contacts.is_auctioneer (boolean, optional): Contact classification flags.
contacts.verification_method (string, optional): Contact verification method label.
contacts.badges (array, optional): Public badge records.
contacts.badges.title (string, optional): Badge title.
contacts.capabilities (array, optional): Public capability records.
contacts.capabilities.kind (string, optional): Capability label.
contacts.attributes.created_on (string, optional): Contact creation timestamp.
Source Context
source_context.seed_id (string, optional): Identifier for the input seed that produced the record.
source_context.seed_type (string, optional): Seed type, such as search.
source_context.seed_value (string, optional): User-facing seed value, such as the searched location.
source_context.page_index (number, optional): Result page index associated with the record.
Data Quality, Guarantees, And Handling
- Structured records: results are normalized into predictable JSON objects for downstream use.
- Best-effort extraction: fields may vary by region, session, availability, listing type, and target-side experiments.
- Optional fields: null-check optional fields in downstream code, especially enriched details, contact data, media flags, and location attributes.
- Deduplication: use
idas the primary stable key, withurlorfingerprintas a secondary key when needed. - Freshness: results reflect the publicly available data at run time.
- Repeated runs: use the recommended idempotency key when syncing data into warehouses, CRMs, or search indexes.
Tips For Best Results
- Start with a small
limitto validate the output shape before scaling up. - Use one geography, property type, or market segment per run when you need cleaner segmentation.
- Leave optional filters empty when the goal is broad discovery.
- Add price, cap rate, area, tenancy, and publication filters gradually to understand how each field changes coverage.
- Use
enrich_datawhen listing details, highlights, tenants, and property facts matter more than speed. - Use
get_contactswhen broker and brokerage data is part of the workflow. - Use stable identifiers such as
id,url, andfingerprintwhen storing results over time.
How to Run on Apify
- Open the Actor in Apify Console.
- Configure the available input fields for the target scope, such as location, listing mode, property type, recency, price, size, and enrichment options.
- Set the maximum number of outputs to collect with
limit. - Click Start and wait for the run to finish.
- Open the dataset and inspect the first records.
- Download results in JSON, CSV, Excel, or another supported Apify dataset format.
Scheduling & Automation
Scheduling
Automated Data Collection
Use Apify schedules to run Crexi Scraper on a recurring cadence and keep your commercial real estate dataset current. Scheduled runs are useful for market monitoring, lead enrichment, dashboard refreshes, and recurring reporting.
- Navigate to Schedules in Apify Console
- Create a new schedule, such as daily, weekly, or custom cron
- Configure input parameters
- Enable notifications for run completion
- Add webhooks for automated processing
Integration Options
- CRM enrichment: sync public listing, broker, brokerage, location, and property attributes into lead or account records.
- BI dashboards: monitor pricing, cap rates, availability, status changes, and market coverage over time.
- Data warehouses: load normalized listing records into Snowflake, BigQuery, Redshift, or another analytics store for historical analysis.
- Google Sheets or Airtable: review smaller market slices, qualification lists, and broker outreach queues in spreadsheet-style workflows.
- Webhooks: trigger ingestion, validation, alerting, or notification workflows after each completed run.
- Data enrichment pipelines: join Crexi listing records with proprietary property, parcel, CRM, or underwriting datasets.
Export Formats And Downstream Use
Apify datasets can be exported from the Console or consumed programmatically by downstream systems. Use the format that best matches your workflow and data volume.
- JSON: for APIs, applications, and data pipelines
- CSV or Excel: for spreadsheet workflows and manual review
- API access: for automated ingestion into business systems
- BI and warehouses: for reporting, dashboards, and historical analysis
Performance
Estimated run times:
- Small runs (< 1,000 outputs): ~3-5 minutes
- Medium runs (1,000-5,000 outputs): ~5-15 minutes
- Large runs (5,000+ outputs): ~15-30 minutes
Execution time varies based on filters, result volume, and how much information is returned per record. Highly filtered runs can finish faster, while broad discovery or detail-rich records may take longer.
Limitations
- Availability depends on what https://www.crexi.com publicly exposes at run time.
- Some optional fields may be missing on sparse listings, lease records, records without contacts, or listings with limited public details.
- Very broad searches may take longer or require higher
limitvalues to collect the desired volume. - Target-side changes can affect field availability, naming, or whether a specific detail is visible.
- Regional, account, or availability differences may change visible results.
- Contact details are included only when available in the public listing data and when
get_contactsis enabled.
Troubleshooting
- No results returned: check filter combinations, location spelling, property type selection, keyword specificity, and whether Crexi has matching public records.
- Fewer results than expected: broaden filters, raise
limit, remove restrictive recency or numeric ranges, or verify that enough matching records exist. - Some fields are empty: optional fields depend on what each listing publicly provides.
- Run takes longer than expected: reduce scope, lower
limitfor validation, or split broad collection into smaller market or property-type segments. - Output changed: compare the current output with the field reference and include a small sample when requesting support.
FAQ
What data does this actor collect?
It collects public Crexi commercial real estate listing records, including listing identifiers, URLs, titles, descriptions, pricing, property types, status, location fields, property facts, optional enrichment details, and optional broker contact information.
Can I filter by location, category, date, price, or other criteria?
Yes. The input supports location, keyword, deal_type, property_type, publication_date, listing status, tenancy, lease type, building quality, price, price per square foot, cap rate, remaining lease term, building area, land area, and Opportunity Zone filtering.
Why did I receive fewer results than my limit?
The actor can only save matching public records that are available for the configured scope. Restrictive filters, sparse markets, narrow recency windows, or limited public availability can produce fewer records than the requested limit.
Can I schedule recurring runs?
Yes. Use Apify schedules to run the actor daily, weekly, or on a custom cron schedule with the same input configuration.
How do I avoid duplicates across runs?
Use id as the primary deduplication and upsert key. You can also store url and fingerprint as secondary identifiers for validation and change tracking.
Can I export the data to CSV, Excel, or JSON?
Yes. Apify datasets support JSON, CSV, Excel, and other export formats from the Apify Console.
Does this actor collect private data?
No. It is intended to collect publicly available listing and contact information from Crexi. Users are responsible for using the data lawfully and respecting privacy requirements.
Should I enable enriched data and contacts?
Enable enrich_data when property facts, highlights, tenants, and detailed listing attributes are important. Enable get_contacts when broker and brokerage details are needed for review, enrichment, or outreach workflows.
What should I include when reporting an issue?
Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample when available.
Compliance & Ethics
Responsible Data Collection
This actor collects publicly available commercial real estate listing information from https://www.crexi.com for legitimate business purposes, including:
- Commercial real estate research and market analysis
- Property sourcing, underwriting, and lead enrichment
- Market monitoring, reporting, and competitive intelligence
Users are responsible for ensuring that their use of collected data complies with applicable laws, regulations, contractual obligations, and the target site's terms. This section is informational and not legal advice.
Best Practices
- Use collected data in accordance with applicable laws, regulations, and the target site's terms
- Respect individual privacy and personal information
- Use data responsibly and avoid disruptive or excessive collection
- Do not use this actor for spamming, harassment, or other harmful purposes
- Follow relevant data protection requirements where applicable, such as GDPR and CCPA
Support
For help, use the actor page or Issues. Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample if it helps demonstrate the issue. Avoid including private credentials, confidential data, or unnecessary personal information in support requests.