How Firstlook collects and groups its listings
Firstlook is a rental listings aggregator for Metro Vancouver. It hosts no advertisements of its own. It reads public rental advertisements, groups the copies of the same home, labels how recently each was last seen, and sends you to the original.
It does not screen listings for fraud. No automated fraud detection exists here, and none has ever run. A fraudulent advertisement that carries a price, a photo and coordinates appears on this site unchanged, ranked alongside genuine ones, with nothing marking it. If you want the reasoning behind that sentence, and the rest of what does and does not work, it is all below with the numbers.
Figures were measured against the live database at 2026-08-12T00:34Z. They move every time the crawler runs. The oldest published advertisement in that snapshot was first seen on 9 August 2026, so the corpus is young: no "everything here is under three days old" figure should be read as evidence of freshness.
Where the listings come from
Every listing comes from Craigslist. At the time of measurement all 12,224 published listings carried craigslist as their source, so this is a single-source aggregator. Firstlook receives no feeds from landlords or property managers and is not paid to place any listing.
An advertisement is published only if it has a price, at least one photo, and coordinates. That is the entire admission rule. Nothing is deleted from the database; withholding sets a flag, so an advertisement that later gains a photo can return.
The live numbers
| Measure | Count |
|---|---|
| Advertisements in the database | 12,993 |
| Published and visible | 12,224 |
| Not published (withheld or retired, flagged rather than deleted) | 769 |
| Distinct homes after duplicate grouping | 8,258 |
| Advertisements held back as copies of another | 3,966 (32.4%) |
| Groups holding more than one advertisement | 1,075 |
| Published listings re-seen in the last 24 hours | 183 (1.5%) |
| Listings screened for fraud | 0, because no screening exists |
The 769 unpublished rows mix three causes that the data does not separate: advertisements that failed the admission rule, advertisements retired for going unseen, and advertisements Craigslist answered with a 404. Of them, 717 have no photo.
Duplicates
This is the part of the system that does real work, and it is the part the "duplicate listings" criticism gets wrong.
Nothing is deleted or merged in the database. Grouping writes a label onto each row and the site collapses on that label when a page is built, so one home occupies one card in a grid while every copy keeps its own page and its own link to the source. At the time of measurement, 12,224 published advertisements collapsed to 8,258 distinct homes, holding back 3,966 rows as copies. That is 32.4% of everything published.
Two advertisements are compared at all only if they share a roughly 1.1 km map cell, or one of its eight neighbours, at the same bedroom count; or a $50 price band at the same bedroom count; or an identical normalised street address. A compared pair then has to clear two separate bars: a total score, and a count of identity evidence. Identity evidence means something pointing at one specific home rather than at one kind of home, and only four things qualify: the same street address, coordinates within 150 m or 400 m, the same named building, and word overlap between the two headlines after place names, rental jargon and bare numbers are stripped out.
Agreement on rent, bedroom count and floor area raises the score but counts as no identity at all, on the reasoning that many rentals in this city agree on all three without being the same flat.
Two mismatches are absolute. If both advertisements parse a unit number and the numbers differ, they never merge. If both state a bedroom count and the counts differ, they never merge.
The thresholds deliberately under-merge. A wrong merge removes somebody's flat from the site and no visitor can tell it happened; a missed merge is a visible annoyance. So you will sometimes see the same home twice, and that is the intended direction of the error.
Listings that are no longer available
Every listing carries the time it was last seen, and the site shows a label derived from it: "Confirmed today" under a day, and a note that it has not been seen for some days after that. The label is not a timestamp and it is not a filter. Nothing is hidden for being old while its advertisement is still posted.
At the time of measurement, 183 of 12,224 published listings, 1.5%, had been re-seen in the previous 24 hours.
That number is low because of how the crawl works. One search returns at most 360 results, so a three-hourly pass re-sees only a slice of a 12,000-listing corpus. An advertisement Craigslist answers with a definitive 404 or 410 is unpublished immediately, but that check is capped at 60 advertisements per pass.
The rule that retires a listing after 36 hours without a sighting runs only during a whole-market sweep, and that sweep is not on the schedule. It is run by hand. Between runs, nothing retires by age. This is the honest state of the freshness problem and it is the part most in need of fixing.
Two things no crawler can do. It cannot see a home being rented while the advertisement stays posted, and nothing on this site bounds that lag. It cannot know that a landlord has stopped answering.
The one stricter surface is the sitemap submitted to search engines, which applies a three-day rule alongside stricter completeness conditions and currently covers 6,961 listings.
Fraud
Firstlook runs no automated fraud detection. The code that would classify an advertisement is a stub that returns nothing; the red-flag column is empty on all 12,993 rows. It was never built, not built and disabled.
So, plainly: a scam advertisement with a price, a photo and coordinates is published here like any other, and nothing on the page will warn you.
Three things are true alongside that, and none of them is a substitute:
Firstlook never takes money and never holds a deposit, so there is no payment path on this site. The fraud that matters happens elsewhere, when a renter sends a deposit to someone who does not control the property.
Requiring a price, a photo and coordinates removes the thinnest posts. It removes nothing about intent.
The admission rule has a known gap. It tests the price as scraped, while the stored price discards anything under $400 as implausible, so a "$1, ask me" post can pass and then display no price. Twelve published listings are in that state.
What protects you is your own procedure: open the original advertisement before travelling, and never send a deposit, first month's rent or an e-transfer before standing inside the unit and confirming the person letting you in has the right to. Rental scams in Vancouver sets out the patterns worth recognising.
What this does not catch
No photo matching. Identical photographs under two advertisements are not compared, and neither is the poster's phone number. Grouping uses structured fields and headline words only.
Headline comparison is plain word overlap with no stemming and no synonyms, so two honest rewrites of one advertisement can score zero against each other.
Grouping is transitive. If A joins B and B joins C, all three land in one group although A and C were never compared. One over-eager link can pull in unrelated rows, and one group in the current data holds 413 rows for what is recorded as a single Burnaby townhouse.
There is no measured precision or recall for the grouping. The 8,258 figure counts what the grouper stamped; it is not a verified count of distinct homes.
Amenity details exist only for advertisements whose full page was fetched. Laundry and parking are present on about 29% of the feed, pets on 10.1%, transit on 5.9%. A missing amenity means it was never read, not that the home lacks it.
The crawler runs on a single machine and does not fire when that machine is offline. The run log has gaps.
Corrections
If a listing here is gone, or you believe it is fraudulent, write to [email protected] with the URL. If a number on this page no longer matches the site, write to [email protected].
Questions people ask
Does Firstlook check listings for scams?
No. Firstlook runs no automated fraud detection and none has ever run. A fraudulent advertisement that carries a price, a photo and coordinates is published like any other and nothing on the page marks it. Open the original advertisement before travelling, and never send a deposit or an e-transfer before standing inside the unit.
Does Firstlook show the same rental twice?
Sometimes, and deliberately so in the uncertain cases. Duplicate advertisements for one home are grouped and collapsed to a single card: at the last measurement 12,224 published advertisements collapsed to 8,258 distinct homes, holding back 3,966 rows as copies. The thresholds under-merge on purpose, because a wrong merge removes a real home from the site and nobody can see that it happened.
How does Firstlook know a listing is still available?
It does not, and no crawler can. It knows when the advertisement was last seen, and shows a label derived from that. A home can be rented while its advertisement stays posted, and nothing here bounds that lag.
Where do Firstlook's listings come from?
Every listing currently comes from Craigslist. Firstlook hosts no advertisements of its own, receives no feeds from landlords or property managers, and is not paid to place any listing.
How often is Firstlook updated?
The crawler runs every three hours, but one search returns at most 360 results, so each pass re-sees only a slice of a corpus of more than 12,000 listings. At the last measurement 1.5% of published listings had been re-seen in the previous 24 hours.