· 13 min read
RICS Firms Scraper: 32 Data Fields, Up to 1,000 Free Results/Month
Each record carries 32 output fields, including the firm name, RICS regulation status, and full contact details like phone, email, and websiteUrl. A thousand results cost $5.00 on the free plan, before run-start charges. This Actor is built for researchers needing firm density data and sales teams building outreach lists. It is not for users who require historical pricing data on individual surveys, as the directory only lists firm capabilities and personnel.
Try it: open RICS Firms Scraper on Apify, sign in on the free plan and run the prefilled example.
Can you try RICS Firms Scraper before paying?
Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of RICS Firms Scraper a month, before run-start charges and platform usage.
RICS Firms Scraper was last updated on 2026-08-07. It is one of 1,725 Actors CrawlerBros publishes on Apify, which together have 700,550 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.
What does it cost to run RICS Firms Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
The maxItems control has the most direct impact on your bill because it dictates the total number of result charges. To verify the data quality for a specific region without spending much, run a search with includeFullProfile set to false and maxItems at 10 to see basic contact details first.
How do you run RICS Firms Scraper from the API?
The schema marks 1 of its 14 controls as required: mode. Every value in the payload below comes from the published schema's own prefills, which means you can paste it, swap the token, and get a real result.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~rics-firms-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"search","locationQuery":"London","officeIds":["233706"]}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "search",
"locationQuery": "London",
"officeIds": [
"233706"
]
}
run = client.actor("crawlerbros~rics-firms-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"mode": "search",
"locationQuery": "London",
"officeIds": [
"233706"
]
}
const run = await client.actor('crawlerbros~rics-firms-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
That endpoint blocks until the run completes. Fine while you are testing a handful of records, risky once a run takes minutes: a dropped connection loses the response even though the run itself finished. Switch to an asynchronous start with polling or a webhook before you schedule anything.
Which RICS Firms Scraper inputs matter, and which can you skip?
The mode control is important, determining whether you are browsing the directory or looking up known IDs. Most users should leave the optional boolean filters like freeAdviceOnly alone until they have confirmed the general search results match their expectations.
mode(string): What to fetch. Default:"search".locationQuery(string): UK town/city/postcode or an international city name to search near (mode=search). Leave blank to browse the whole directory, optionally combined with Country.officeIds(array): RICS office numbers (e.g.233706) or full profile URLs (e.g.https://www.ricsfirms.com/office/233706/Peter-Barry-Surveyors). Default:[].firmNameQuery(string): Filter to firms whose name matches this text (mode=search).keyword(string): Free-text keyword matched against each firm's "about us" description and services (mode=search).serviceName(string): Restrict results to firms offering this specific surveying service (mode=search). Default:"".topicName(string): Restrict results to firms relevant to this consumer topic, e.g. Buying, Party Walls, Extensions (mode=search). Default:"".countryCode(string): Restrict results to a specific country. Leave blank for the UK default directory, or combine with Location for a place inside that country (mode=search). Default:"".includeFullProfile(boolean): Fetch each firm's profile page for services offered, surveyor type, business type, partners/directors and RICS personnel (mode=search). Adds one extra request per firm; disable for faster/lighter runs. Default:true.ricsRegulatedOnly(boolean): Only keep firms flagged as RICS-regulated (mode=search). Default:false.residentialOnly(boolean): Only keep firms that target residential-property clients (mode=search). Default:false.commercialOnly(boolean): Only keep firms that target commercial-property clients (mode=search). Default:false.
The other 2 controls, with their defaults, are listed in the input schema on RICS Firms Scraper on Apify.
Fixed-choice controls: mode accepts search (Search the directory), byOfficeIds (Lookup specific firms by office ID / profile URL); serviceName accepts 132 values (default ""), including "" ((none)), 110 (Access for disabled people), 108 (Access rights), 98 (Agriculture); topicName accepts 53 values (default ""), including "" ((none)), 1211 (Antiques & Art), 1189 (Boundaries), 1214 (Building Information Modeling); countryCode accepts 103 values (default ""), including "" ((none)), DZ (Algeria), AO (Angola), AI (Anguilla).
What does RICS Firms Scraper return?
The records are ideal for verifying the contact data of surveying businesses across 102 countries. They do not contain individual survey reports or private fee scales, as these are not published in the public directory.
officeId,ricsFirmNumber- RICS' internal office/firm identifiersfirmName,ricsRegulatedaboutUs- firm's own descriptionaddress,town,city(search mode; broader locality thantown, e.g. "London" vs. "London, NW4"),region,postalCode,country,countryCodelatitude,longitude- geocoordinates (profile lookups)phone,email,websiteUrllogoUrl- firm logo (when published)servesResidential,servesCommercial,offersFreeAdvice,basedInSearchArea(search mode)listingPackage- RICS directory listing tier (search mode)surveyorTypes[]- e.g. "Chartered Building Surveyor"servicesOffered[]- e.g. "Party walls", "Valuation", "Building surveying"businessType- e.g. "Private Practice"partnersAndDirectors[],ricsPersonnel[]regulationStatusTextsourceUrl- the firm's live profile page on ricsfirms.comrecordType: "surveyorFirm",scrapedAt
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open RICS Firms Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Set the mode to search to browse the directory using filters or byOfficeIds if you have a list of specific RICS office numbers.
- Select a countryCode if you are looking for firms outside the United Kingdom to ensure the search hits the correct international database.
- Enter a locationQuery such as a town or postcode and observe if basedInSearchArea is true in the results to distinguish local offices from distant matches.
- Toggle includeFullProfile to true if your project requires the servicesOffered and ricsPersonnel arrays, noting this adds one request per firm found.
- Apply filters like ricsRegulatedOnly or residentialOnly to narrow the dataset before hitting the maxItems limit.
- Run a small test with maxItems set to 10 to inspect the address and websiteUrl structure for your target region.
- Export the dataset in your preferred format and use the sourceUrl field to manually verify any outliers in the listingPackage tier.
How do you apply it? Three worked playbooks
These are RICS Firms Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Lead generation
Outcome: Build a list of chartered surveyors in a target region for partnership or referral outreach
Configure: Set mode to "search", enter a target city in locationQuery, and set includeFullProfile to true.
Working method: Execute the search for a specific postcode or town first, then filter the resulting dataset for records where email and phone are present. Compare the aboutUs descriptions to identify firms that align with your specific partnership goals.
Deliverable: A CSV file containing contact details, firm names, and partner names for all surveyors in the specified locale.
Stop condition: Stop if the email field is null across more than fifty percent of the first twenty results.
Use case 2: Market research
Outcome: Analyze surveying-firm density and service mix by town, region, or country
Configure: Set mode to "search", select a countryCode, and set includeFullProfile to true with a high maxItems value.
Working method: Run the scraper across multiple regions by changing the locationQuery for each run. Aggregate the servicesOffered arrays to calculate which surveying specialisms are over-represented or under-represented in each geography.
Deliverable: A spreadsheet mapping firm density and service variety across different geographical coordinates.
Stop condition: Stop if the countryCode used does not match the regional data appearing in the town field.
Use case 3: Directory aggregation
Outcome: Feed RICS-verified firms into a real-estate or conveyancing marketplace
Configure: Set mode to "search", enable ricsRegulatedOnly, and set residentialOnly to true.
Working method: Initialize a broad search for regulated residential firms and use the officeId as a unique key for your internal database. Schedule regular updates to capture changes in listingPackage or contact information.
Deliverable: A JSON feed of RICS-regulated residential surveying firms ready for database ingestion.
Stop condition: Stop if the ricsRegulated flag returns false for any record while the filter is active.
What breaks, and how do you design around it?
When you hit the maxItems limit of 1,000, you should split your task into smaller geographical chunks using the locationQuery field. For firms missing the servicesOffered field, remember that this reflects a listing tier on the source site rather than a technical error.
When should you not use RICS Firms Scraper?
Do not use this Actor if you are looking for general business data that is not specifically tied to RICS-certified surveyors; for a broader search of all local businesses, use OpenStreetMap Business Search (Overpass) instead. If your requirement is strictly for legal professionals such as solicitors or licensed conveyancers in England and Wales, the SRA Solicitors Register Scraper is the appropriate tool. This Actor is also unsuitable for high-volume recruitment scraping of general IT or software firms, where the GoodFirms Scraper provides better coverage of that specific industry. Use this only when the RICS charter and regulation status are the primary requirements for your dataset.
What should you check before trusting the output?
- Verify that sourceUrl is present for every record to allow for downstream verification on ricsfirms.com.
- Check for null values in servicesOffered; if a firm has a basic listing package, this field will be omitted by the source.
- Monitor the ricsRegulated boolean to ensure your filters are correctly excluding non-regulated entities if that is a business requirement.
- Scan for valid email and phone strings, as these are provided directly by the firms and may follow different international formats.
- Ensure latitude and longitude are populated when includeFullProfile is enabled, as these geocoordinates are typically fetched from the profile depth.
None of this proves a record is correct. It gives a scheduled RICS Firms Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
How much does it cost to scrape 1,000 RICS firms?
On Apify's free plan, 1,000 results cost $5.00, based on the free-plan price of $0.005 per result. Each run start is charged whether or not it returns results, and result charges apply only to results written to the dataset.
Is the data from RICS Firms Scraper accurate?
The Actor queries the live ricsfirms.com directory. However, some fields like servicesOffered, surveyorTypes, businessType, partnersAndDirectors, and ricsPersonnel are only available for firms with enhanced listings. Empty fields are omitted, containing only data the firm actually published.
Can I use this for international lead generation?
Yes. While the directory defaults to the UK, the Actor supports any of the 100+ countries RICS firms operate in. You can use the countryCode input to target firms in countries like Australia, India, or the United Arab Emirates. It returns full contact details including websiteUrl and phone whenever they are publicly listed on the firm's RICS profile.
Why are some personnel details missing from the results?
RICS uses a tiered listing system. Basic listings only provide core contact information. Services offered, surveyor types, business types, partners/directors, and RICS personnel are only included for firms that have an enhanced directory listing. This is a characteristic of the source data, not a limitation of the scraping process itself.
How can I keep my scraping costs low?
To minimize costs, use a small maxItems value during your initial configuration phase. You can also disable the includeFullProfile option if you only need names and addresses. This reduces the number of requests made, potentially lowering the platform usage portion of your bill.
Where to go next
When you are ready to run it, open RICS Firms Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the RICS Firms Scraper Actor page for the current input schema, pricing tier, and run history.
Other Actors we maintain for related data:
- CILEX Practitioner Register Scraper: Scrape the CILEX Authorised Practitioners Directory - CILEx Regulation's official public register of Chartered Legal Executives and CILEX Practitioners authorised for reserved legal activities in England & Wales.
- SRA Solicitors Register Scraper: Scrape the Solicitors Regulation Authority's (SRA) official public register of solicitors and law firms in England & Wales.
- Harcourts Scraper: Scrape Harcourts Australia and New Zealand property listings (buy, rent, sold) and agent/office profiles.
- FDA Medical Device Establishment Registry Scraper: Search the FDA's public Medical Device Establishment Registration & Listing database (openFDA) by establishment/business name, owner-operator firm, device name, state, or country.
- GoodFirms Scraper: Scrape GoodFirms with the leading B2B software and IT services directory with 150,000+ verified company profiles.
- Lawyer Legion Scraper: Scrape Lawyer Legion, a US attorney directory with state-bar certified specialists.
- OpenStreetMap Business Search (Overpass): Search for businesses, amenities, and points of interest from OpenStreetMap using the free Overpass API.
- Open Brewery DB Scraper: Scrapes global brewery data from the Open Brewery DB API - 8000+ breweries worldwide, free, no API key required.
Related guides:
- SRA Solicitors Register Scraper: 3 Practical Use Cases
- The Numbers Box Office Scraper: Up to 1,000 Free Results a Month
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-29.
Actor last updated by its maintainers on 2026-08-07.
Run outcome figures cover the 30 day public window ending 2026-09-29.
Featured actors
RICS Firms Scraper
Scrape RICS' official Find a Surveyor directory (ricsfirms.com) - 40,000+ chartered surveying firms worldwide. Search by location, firm name, keyword, service, topic, or country, or fetch specific firms by office ID/URL.
Run on Apify ↗