Giggster Scraper — Event Venue, Film & Photo Space Leads
Pricing
$4.00 / 1,000 per space returneds
Giggster Scraper — Event Venue, Film & Photo Space Leads
Scrape every bookable space on Giggster: film, photo, event and meeting venues with hourly rate, per-activity rate ladder, capacity, square footage, amenities, house rules, rating, bookings, host and the local film-permit office. Pick a city and press Start, or paste a Giggster search URL.
Pricing
$4.00 / 1,000 per space returneds
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
14 days ago
Last modified
Categories
Share
Scrape bookable spaces from Giggster — the marketplace productions and event planners rent locations on. One row = one live listing, carrying title, space type, category, description, city, state, ZIP, country, neighborhood, latitude/longitude, hourly rate, currency, the per-activity rate ladder (production / event / meeting), minimum booking length, capacity, square footage, amenities, features, house rules, star rating, review count, bookings count, acceptance rate, superhost badge, host name, host company, host website, cover image, the local film-permit office and both timestamps Giggster keeps.
Pick a city from the dropdown, or paste a Giggster search URL out of your browser. Filter by city, state, country, category, space type, bookable activity, price, capacity, square footage, rating or superhost status.
No login. No API key. No CAPTCHA. No proxy needed — Giggster serves plain HTML.
Scope, measured live on 2026-08-12, not quoted from a marketing page: the catalogue sitemap listed 13,556 live listings with 0 duplicates, and Giggster publishes city pages for 231 cities (5,908 of them). Los Angeles alone resolves to 1,088 distinct listings.
Quick start
{"city": "los-angeles--ca","maxItems": 25}
That is literally the input this Actor ships with. Click Try for free, press Start, change nothing. Measured on the Apify platform, no proxy: 5 city pages read + 29 listing pages fetched → 25 rows in 9.5 seconds, costing $0.10.
- Create a free Apify account (no card).
- Open the Actor and hit Try for free.
- Leave the input alone, or pick a different city from the 231-entry dropdown — or paste a Giggster URL into Or paste Giggster URLs.
- Press Start. A 25-space run finishes in well under a minute.
- Open the Dataset tab and switch between the three views — Bookable spaces (the full table), Leads (host, company, website, rate, capacity, traction) and Film & photo locations (style, crew capacity, production rate, permit office).
- Export CSV / JSON / Excel, or pull it from the API.
Roughly three minutes from signup to a downloaded CSV.
Copy to your AI assistant
scrapersdelight/giggster-space-scraper on Apify.Call: ApifyClient("TOKEN").actor("scrapersdelight/giggster-space-scraper").call(run_input={...}),then client.dataset(run["defaultDatasetId"]).list_items().items for results.Key inputs: city (string, one of 231 slugs like "los-angeles--ca", or "" for the whole catalogue,default "los-angeles--ca"), startUrls (array of {url} — giggster.com /find/, /search/ or /listing/URLs; overrides city), maxItems (int, default 25), minHourlyRate/maxHourlyRate/minCapacity/minSquareFeet (int, 0 = off), minRating (string enum "0".."5"), superhostOnly (bool),includeImages (bool), includeActivities (bool), skip (int).Billing: $0.004 per space returned, charge event "space-scraped". No actor-start charge.Full actor spec: GET https://api.apify.com/v2/acts/scrapersdelight~giggster-space-scraper(Bearer TOKEN). Get a token: https://console.apify.com/account/integrations
Highlights
- 🏙️ City-scoped in one hop. Picking a city reads Giggster's own city pages first, so the
listing pages it then fetches are already in that city — measured: 1,088 of 1,088 Los Angeles
candidates came back with
city: "Los Angeles". - 🔗 Paste-and-go. A
/find/,/search/or/listing/URL copied from your address bar works as the input. - 🎬 The film-permit office, with its phone number, on 74.5% of Los Angeles rows.
- 💵 A per-activity rate ladder — production, event and meeting are priced separately, and this Actor keeps all three rather than blending them.
- 📐 Capacity on 100% of rows, coordinates on 100%, square footage on 87% of a Los Angeles city run and 85.3% of the catalogue.
- 🧾 Every run prints its own measured field fill in the log, so you can audit the numbers below.
- 🚫 Fails loudly. Zero rows throws with the HTTP counts; a 20%-parse-failure rate throws rather than shipping degraded rows; a shrunken sitemap refuses to pass off a partial catalogue.
- 💳 Charged per space returned — never for a page fetched and then filtered out.
What you get per space
| Group | Fields |
|---|---|
| Identity | title, spaceType, category, description, url, slug, id, listingStatus |
| Location | city, state, zip, country, neighborhood, latitude, longitude, coordsAreApproximate, street |
| Price | hourlyRate, currency, productionHourlyRate, eventHourlyRate, meetingHourlyRate, maxHourlyRate, minBookingHours |
| Size & capacity | maxCapacity, capacityByActivity, capacityIsBanded, standingCapacity, sittingCapacity, squareFeet, bedrooms, bathrooms |
| What it's for | activityGroups (production / event / meeting / play), activities (the full slug list, opt-in), amenities, features, rules, details, style, cateringInHouseAllowed, cateringExternalAllowed |
| Traction | rating, reviewCount, ratingCount, bookingsCount, acceptanceRatePct, isSuperhost |
| Host | hostName, hostCompany, hostWebsite, hostCity, hostId, hostMemberSince, hostEmailVerified, hostPhoneVerified |
| Media & permits | coverImage, imageCount, images (opt-in), filmPermitOffices |
| Freshness | createdAt, updatedAt, hostUpdatedAt, scrapedAt |
All timestamps are ISO-8601 UTC exactly as Giggster publishes them. hourlyRate is a number in the
listing's own currency. Optional fields are returned as null, never dropped, so your CSV columns
stay stable between runs.
Who buys this, and which field they monetize
| Who | What they are after | The fields that pay |
|---|---|---|
| Venue-management & event-booking SaaS (Perfect Venue, Tripleseat, Peerspace-adjacent tools) | Owners who already rent their space out for money — a pre-qualified SaaS lead | hostName, hostCompany, hostWebsite, bookingsCount, isSuperhost, city |
| Production-services marketplaces (equipment, crew, catering, permits) | Every location shooting in a metro, plus who to call about the permit | filmPermitOffices, activityGroups, city, maxCapacity |
| Location scouts & production managers | A filterable board of spaces by look, size, rate and rules before pitching a client | style, features, squareFeet, productionHourlyRate, rules, coverImage |
| Event planners & wedding pros | Venues that actually accept events at a given headcount and price | eventHourlyRate, capacityByActivity, cateringExternalAllowed, minBookingHours |
| Short-term-rental & real-estate analysts | Hourly-rate comps per city, and how much of the market is proven | hourlyRate quartiles, squareFeet, bookingsCount, acceptanceRatePct |
| Insurance, permitting and compliance vendors | Spaces with published house rules that imply a coverage requirement | rules, maxCapacity, category, zip |
A worked example: a production-services marketplace launching in Toronto sets
city: "toronto--on"maxItems: 397, leaves every filter empty, and gets the 397 spaces Giggster's own
Toronto pages expose for $1.59 — each with the host, the hourly rate, the crew capacity and the
permit office to call.
The wedge: three things the other Giggster and venue scrapers do not give you
1. filmPermitOffices. Giggster names the local film-permit authority for the jurisdiction, with
its phone number —
{"jurisdiction": "Los Angeles", "organization": "Film L.A.", "phone": "(213) 977-8600"}2. capacityByActivity and the rate ladder. Giggster prices and caps production (film/photo
crews), events, meetings and play separately, and most hosts enable only some. A blended
"capacity: 60" is a lie on a space that takes 60 for a shoot and 25 for a party. This Actor keeps
{"production": 60, "event": 60, "meeting": 60} alongside productionHourlyRate /
eventHourlyRate / meetingHourlyRate, and only trusts the number for activities the host
actually offers.
3. City runs that do not waste your time. Giggster's listing index carries no city, so a naive city filter has to fetch a listing before it can tell where it is — a live Los-Angeles-only run against the sitemap fetched 221 pages to emit 15 rows. Picking a city instead reads Giggster's own city pages, which cost 5 fetches and hand back a pre-filtered list. Measured on 2026-08-12:
| City | City pages | Distinct listings found | In that city |
|---|---|---|---|
los-angeles--ca | 251 | 1,088 | 1,088 / 1,088 |
toronto--on | 163 | 397 | 397 / 397 |
nashville--tn | 60 | 143 | 143 / 143 |
Read this before you buy rows
- City mode is Giggster's ranking, not a random sample. City pages lead with the venues Giggster promotes, so a city run skews to the marketed end of the catalogue: 98.5% of 200 Los Angeles rows carried a star rating against 37.0% catalogue-wide, and 77.5% were superhosts against 17.3%. That is usually what a lead buyer wants — but do not quote city-mode fill as if it described all of Giggster. Both tables are published below.
- City mode reaches what Giggster's city pages expose, not provably every listing in the city. 1,088 Los Angeles listings is what 251 city pages union to; there is no page that promises it is the complete Los Angeles set. Choose Whole catalogue when completeness matters more than speed.
- Capacity is banded at the top. Giggster's listing page prints "60+ people" once a space
exceeds 60, so 30% of the 200 Los Angeles rows (and 28.8% catalogue-wide) report
maxCapacity: 60withcapacityIsBanded: truewhen the real number may be 200 or 400. Filter on minimum capacity above 60 and you will lose genuine large venues. UsecapacityIsBandedto spot them. - The street address is not public. Giggster hides the exact address until a booking is
confirmed and blurs the map pin.
city/state/zipare exact;latitude/longitudeare deliberately offset and flaggedcoordsAreApproximate: true.streetwas populated on 0 of 200 Los Angeles rows and on under 1% of a catalogue-wide sample. - Prices are in the listing's own currency. 84% USD, 12.5% CAD, then SGD, AUD, EUR and NZD.
Read
hourlyRatetogether withcurrency— the min/max rate filters compare raw numbers and do not convert.
Field fill — measured, both ways
A. City mode — 200 Los Angeles spaces, run 2026-08-12
Every one of the 200 was unique (id), every one had city: "Los Angeles" and country: "US".
| Field | Fill | Field | Fill |
|---|---|---|---|
| title, description, url, id, slug | 100% | reviewCount | 92.0% |
| city, state, ZIP, country | 100% | acceptanceRatePct | 89.5% |
| latitude / longitude | 100% | squareFeet | 87.0% |
| hourlyRate + currency | 100% | eventHourlyRate | 86.5% |
| productionHourlyRate, maxHourlyRate | 100% | spaceType | 85.5% |
| minBookingHours | 100% | meetingHourlyRate | 85.5% |
| maxCapacity, capacityByActivity | 100% | hostCity | 84.0% |
| activityGroups | 100% | filmPermitOffices | 74.5% |
| hostName, hostId, hostMemberSince | 100% | style | 70.5% |
| isSuperhost, bookingsCount | 100% | hostCompany | 56.0% |
| coverImage, imageCount | 100% | cateringExternalAllowed | 52.5% |
| listingStatus, createdAt, updatedAt | 100% | standing / sitting limit | 52.0 / 51.5% |
| rating, ratingCount | 98.5% | bathrooms / bedrooms | 50.5 / 46.5% |
| details | 98.5% | cateringInHouseAllowed | 28.0% |
| rules | 94.5% | neighborhood | 27.0% |
| amenities | 94.0% | hostWebsite | 7.0% |
| features | 92.5% | street | 0.0% |
Quartiles on the same 200 rows: hourly rate $65.25 / $110 / $200 (range $10–$2,000); capacity 30 / 60 / 60; 197 of 200 had at least one booking; 155 of 200 were superhosts.
B. Whole catalogue — 400 listings at even stride across the entire sitemap, 2026-08-12
This is the catalogue, not the popular end of it. Plan against this table if you are running Whole-catalogue mode.
| Field | Fill | Field | Fill |
|---|---|---|---|
| title, description | 100% | amenities | 88.3% |
| city, ZIP, country | 100% | square footage | 85.3% |
| latitude / longitude | 100% | house rules | 84.8% |
| hourly rate + currency | 100% | features | 83.5% |
| min booking length | 100% | space type | 82.5% |
| capacity | 100% | meeting hourly rate | 65.3% |
| activity groups | 100% | event hourly rate | 63.3% |
| host name | 100% | style | 49.5% |
| bookings count | 100% | sitting / standing limit | ~42% |
| cover image + count | 100% | star rating | 37.0% |
| category | 99.8% | host company | 34.8% |
| state / province | 96.5% | acceptance rate | 32.8% |
| bedrooms / bathrooms | ~27% | ||
| reviews | 25.5% | ||
| film-permit office | 23.3% | ||
| superhost badge | 17.3% | ||
| neighborhood | 5.8% |
The headline that could mislead you: this is not a contact-details product. There are no host
e-mail addresses or phone numbers anywhere on Giggster, hostWebsite is 7.0%, and street is zero.
What you are buying is the space, its economics and its owner's name — see Honest limits.
And traction is not fill. bookingsCount is published on 100% of rows, but catalogue-wide only
about a third of listings have ever been booked (34.0% of a 300-listing even-stride sample, 38% on
the 400-listing one) against 197 of 200 in the Los Angeles city run above. Table A is the marketed
end of Giggster; Table B is Giggster.
Every run prints its own measured fill for nine key fields in the log.
What the catalogue looks like
Same 400-listing catalogue sample:
- Countries — US 83.8%, Canada 12.8%, then Singapore, Australia, New Zealand, Ireland and Portugal. (A wider API sample also puts the UK near 3%.)
- Categories — commercial 47%, residential 31%, studio 18.7%, transportation 3.3% (300-listing sample). Those four are the only ones in real use.
- Bookable for — production (film & photo) 97.3%, meetings 65.3%, events 63.3%, play 4.8%.
- Hourly rate — 25th percentile $95, median $150, 75th percentile $300; the sample spanned $2 to $5,500 per hour.
- Capacity — 25th percentile 30, median 45, 75th percentile 60 (see the banding caveat).
- Square footage — 25th percentile 1,100, median 2,000, 75th percentile 4,860.
- Biggest cities — Los Angeles by a wide margin, then Brooklyn, New York, Vancouver, London, Toronto, Atlanta, Chicago, Las Vegas, Miami, Montréal and Nashville.
How to run it
1. A city (the default, and the cheapest per row)
{ "city": "los-angeles--ca", "maxItems": 200 }
Reads Giggster's city pages for that city, then fetches only those listings. Measured: 15 city
pages + 201 listing fetches → 200 rows in 27 seconds. 231 cities are available; the largest by
number of city pages are los-angeles--ca (251), new-york--ny (214), atlanta--ga (212),
chicago--il (207), vancouver--bc (185), houston--tx (169), las-vegas--nv (167),
toronto--on (163), dallas--tx (158), miami--fl (158), austin--tx (141),
philadelphia--pa (140), seattle--wa (140).
2. Paste a URL from your browser
{"startUrls": [{ "url": "https://giggster.com/search/New-York--NY--USA/filming" },{ "url": "https://giggster.com/find/los-angeles--ca/wedding" },{ "url": "https://giggster.com/listing/nela-vintage-church-turned-creative-space" }],"maxItems": 50}
Three shapes are accepted:
https://giggster.com/find/<city-slug> city page ~20 spaceshttps://giggster.com/find/<city-slug>/<activity> city + activity ~20 spaceshttps://giggster.com/search/<Place>/<activity> search page mapped to its city pagehttps://giggster.com/listing/<slug> one listing 1 space
Giggster renders /search/ results in the browser and ships zero listings in that page's HTML,
so a pasted search URL is resolved to the matching /find/ city page — the same city and activity,
just the server-rendered twin. Paste several and they are unioned and deduplicated. Anything in
startUrls overrides the City dropdown. A URL that is none of these shapes stops the run with an
error that names the three, instead of quietly returning nothing.
3. The whole catalogue
{ "city": "", "maxItems": 1000, "categories": ["studio"] }
Walks sitemap-listings.xml (13,556 listings on 2026-08-12). Complete — and the cheapest way to
buy rows in bulk, because with no filters set every page fetched becomes a billable row. Filters
here are applied after each page is fetched, so a narrow one walks a lot of pages: it costs you
runtime, never money.
4. Paging across runs
{ "city": "los-angeles--ca", "maxItems": 500, "skip": 500 }
Both the sitemap order and the city-page order are stable, so skip continues where the last run
stopped instead of re-buying the same spaces. The log tells you which number to use next.
Sample row
A real row from a run on 2026-08-12, trimmed only where noted.
{"source": "giggster","id": "bbeb68d6-3978-47a6-aa64-196269b75d91","slug": "nela-vintage-church-turned-creative-space","url": "https://giggster.com/listing/nela-vintage-church-turned-creative-space","title": "Authentic Vintage Church & Creative Space","spaceType": "church","category": "commercial","description": "\"One of the dopest locations in LA…\"", // truncated here, full text in the row"hostName": "Karen S.","hostCompany": "Cosmic Shift Bar, LLC","hostWebsite": null,"hostCity": "AL","hostId": "0253abfd-41bd-4bfa-945d-a478e7f62bcc","hostMemberSince": "2019-08-10T03:26:33.351986Z","hostEmailVerified": true,"hostPhoneVerified": true,"isSuperhost": true,"acceptanceRatePct": 83.33,"street": null,"neighborhood": "Glassell Park","city": "Los Angeles","state": "CA","zip": "90065","country": "US","latitude": 34.108610595763174,"longitude": -118.23439752095025,"coordsAreApproximate": true,"currency": "USD","hourlyRate": 100,"productionHourlyRate": 100,"eventHourlyRate": 125,"meetingHourlyRate": 100,"maxHourlyRate": 300,"minBookingHours": 2,"maxCapacity": 60,"capacityByActivity": { "production": 60, "event": 60, "meeting": 60 },"capacityIsBanded": true,"standingCapacity": 65,"sittingCapacity": 65,"squareFeet": 9695,"bedrooms": null,"bathrooms": null,"style": "Americana/Anywhere America","activityGroups": ["event", "meeting", "production"],"amenities": ["Air Conditioning", "Hair/Makeup area", "Wifi"],"features": ["Stained Glass Windows", "Brick Walls", "Exposed Beams", "High Ceiling"], // 16 in the row"rules": ["Adult filming", "Alcohol", "Cooking", "Electricity usage", "External catering/food","Loud noises", "Pets", "Smoking"], // 13 in the row — the last 5 are host-written"cateringExternalAllowed": true,"cateringInHouseAllowed": null,"rating": 4.98412698507309,"reviewCount": 126,"ratingCount": 316,"bookingsCount": 316,"imageCount": 81,"coverImage": "https://giggster.com/images/location/bbeb68d6-…/92dad802-….jpg","filmPermitOffices": [{ "jurisdiction": "Los Angeles", "organization": "Film L.A.", "phone": "(213) 977-8600" }],"listingStatus": "published","createdAt": "2019-08-10T03:26:12.577159Z","updatedAt": "2026-08-13T00:05:52.021103Z","hostUpdatedAt": "2026-04-03T16:41:00.223568Z","scrapedAt": "2026-08-13T01:51:58.010Z"}
Fields people misread:
ratingis Giggster's 0–5 star average, unrounded.reviewCount(126 here) counts written reviews;ratingCount(316) counts scored bookings — they are different numbers and both are published.bookingsCount: 0means "never booked";nullmeans Giggster did not publish the field.capacityIsBanded: truemeans the number is Giggster's "60+" ceiling, not the venue's real limit.maxHourlyRateis the top of the listing's own rate ladder (peak/weekend/long-day tiers), not a market maximum.hostCityis what the host typed into their profile — "AL" here — not the space's location. Usecity/statefor the space.
Input
Fields in the order they appear in the Console.
| Field | Type | Default | What it does |
|---|---|---|---|
city | select (232) | los-angeles--ca | Which of Giggster's 231 city pages to scrape, or Whole catalogue ("") for all 13,556 listings. A city run is city-pure: 1,088 of 1,088 LA candidates came back in LA. |
startUrls | requestListSources | [] | Paste /find/, /search/ or /listing/ URLs. Overrides city. |
cities | stringList | [] | Extra text filter on the city field, in Giggster's spelling. Mostly for Whole-catalogue mode. |
states | stringList | [] | 2-letter state / province codes: CA, NY, TX, BC, ON. |
countries | stringList | [] | 2-letter country codes. US 83.8%, CA 12.8% of the catalogue. |
categories | multi-select | [] | commercial 47% · residential 31% · studio 18.7% · transportation 3.3%. |
spaceTypes | stringList | [] | 59 exist; 14% of listings leave it blank and are dropped when you set this. |
activityGroup | select | any | production 97.3% · meetings 65.3% · events 63.3% · play 4.8%. |
minCapacity | number | 0 | Above 60 you lose banded rows — 28.8% of the catalogue. |
minHourlyRate | number | 0 | Raw number in the listing's own currency; no conversion. |
maxHourlyRate | number | 0 | Same. 0 = no ceiling. |
minSquareFeet | number | 0 | Drops the 14.7% with no published size. |
minRating | select | Any rating | A floor here discards the 63.0% with no rating at all. |
superhostOnly | checkbox | false | Keeps 17.3% of the catalogue (77.5% of a Los Angeles city run). |
includeImages | checkbox | false | +1 request per space; one listing carried 319 photos. Same price. |
includeActivities | checkbox | false | 30–220 slugs per row. Free, but fat. |
maxItems | number | 25 | Your hard cost cap. 25 = $0.10, 1,000 = $4.00. |
skip | number | 0 | Resume paging across runs. |
maxConcurrency | number | 5 | 5 measured 300/300 pages at 9.7 pages/s. Max 10. |
proxyConfiguration | proxy | off | Off on purpose — see the transport ladder. |
Nothing is required. default and prefill agree on every field, so an API caller and a Console
user get identical runs.
Pricing
$0.004 per space returned — $4.00 per 1,000 spaces. Charged on the space-scraped event. There
is no charge to start a run and no monthly platform fee from this Actor.
| Run | Spaces | Cost |
|---|---|---|
| The prefilled default (Los Angeles) | 25 | $0.10 |
| One mid-size city, e.g. Toronto | 397 | $1.59 |
| Los Angeles, everything the city pages expose | 1,088 | $4.35 |
| The whole live catalogue | 13,556 | $54.22 |
- You are charged for rows delivered, never for a listing page that was fetched and then removed by your filters, and never for the city pages the Actor reads to find them. The default run fetched 34 pages and billed 25 rows.
- Rows are charged as they are pushed (
Actor.pushData(items, 'space-scraped')), so if you hit a budget cap you get whole rows and a clean stop, not a half-billed dataset. - Duplicates are dropped before anything is fetched, so the same space is never billed twice within a run.
maxItemsis your hard cost ceiling and it is also the cost dial.
Honest limits
- No host e-mail addresses and no phone numbers. Anywhere. Giggster does not publish them, for
any listing, and this Actor makes no attempt to find them. If a Giggster scraper advertises "host
contact information", it means the host's public first name and last initial — which you also get
here — not a mailbox.
hostWebsiteis your enrichment handle and it is 7.0% on Los Angeles rows. If you need contactable venue and vendor rows, use eventective-scraper or thebash-scraper instead, and use this Actor for the space economics. - No street address. 0 of 200 Los Angeles rows and under 1% of the catalogue. Giggster reveals
it after a booking is confirmed.
latitude/longitudeare deliberately blurred and say so viacoordsAreApproximate. This is a Giggster policy, not a scraping failure. - Only 37.0% of the catalogue carries a star rating (98.5% in a Los Angeles city run, because
city pages promote reviewed venues). Giggster is younger than Airbnb and most listings have never
been reviewed. If you are prospecting, leave
minRatingat "Any rating" and usebookingsCount— published on 100% of rows — as your proof-of-life signal. But read a zero as real: only about a third of the catalogue has ever been booked — 34.0% of a 300-listing even-stride sample measured 2026-08-13, 38% on the original 400-listing sample — against 197 of 200 in a Los Angeles city run. - 28.8% of the catalogue reports a banded capacity of 60. Giggster itself prints "60+". A
minimum-capacity filter above 60 discards real large venues;
capacityIsBandedtells you which rows are affected. - City mode is a ranked slice, not a census. 1,088 Los Angeles listings is the union of 251 Giggster city pages, and no page promises that is every LA space. Whole-catalogue mode is the complete one.
- Small cities are small. 17 of the 231 cities have only 3 city pages, and a city page carries 20 listings — so a small-city run can legitimately return a few dozen rows and then warn you it ran out. That is Giggster's inventory, not a fault.
- Prices are not currency-converted, and the min/max rate filters compare raw numbers across USD, CAD, SGD, AUD, EUR and NZD.
spaceTypeis blank on 14% of listings, so a space-type filter silently drops them.- No login, no cookies, no CAPTCHA solving, and no attempt on any challenge. Everything here is read from pages Giggster serves anonymously.
Measured, not estimated
Everything in this section was measured live on 2026-08-12 with retries switched off.
How it works
- City runs read
sitemap-find.xml— an index of 5,908/find/{city}[/{activity}]landing pages across 231 cities — take that city's family of pages, and parse theinitial-locationsJSON blob each one server-renders (20 listings per page; there is no page 2 —?page=2,?p=2and?offset=20all return the same 20). Unioned, that is Giggster's only city-scoped enumeration. - Whole-catalogue runs read
sitemap-listings.xml: one flat urlset, 13,557<loc>entries, 13,557 unique, 0 duplicates, of which 13,556 are listing URLs. The Actor refuses to run if that file returns fewer than 8,000 URLs rather than quietly emitting a partial slice. - Each
/listing/{slug}page server-renders its whole store as<script type="application/json" data-gig-selector="…">blobs.locationis the record;location-details,location-amenities,location-features,location-rules,location-activities,price-levels,min-hours,reviewsandcurrencysit alongside it. Capacity comes from the rendered capacity strip and the star rating from the JSON-LDProductblock, because those two are the only fields not in the blobs.
No login, no cookie, no API key, no browser automation. robots.txt declares no crawl-delay and
disallows only /unsupported, /unsupported-browser, /projects and /project-detail — none of
which this Actor touches.
Transport ladder
| Route | Result |
|---|---|
| Direct, concurrency 5, 300 contiguous listings | 300/300 = 100% @ 9.7 pages/s |
| Direct, concurrency 5, 200 contiguous listings | 200/200 = 100% @ 10.5 pages/s |
| Apify Proxy (datacenter), concurrency 5, 20 listings | 20/20 = 100% @ 1.4 pages/s |
| Apify Proxy (residential), concurrency 5, 20 listings | 19/20 = 95% @ 0.6 pages/s |
Giggster serves plain HTML with no Cloudflare challenge, so proxyConfiguration is off by
default — a proxy here only makes the run 6–14× slower. Apify's own IP range is not blocked (the
datacenter rung is 100%), so a platform run needs no proxy at all. City-page discovery measured
6.5–9.7 pages/s over 474 city pages across three cities, 474/474 successful.
Uniqueness and dedupe
- A 200-listing contiguous sitemap walk and a 300-listing strided walk each produced 0 duplicate listing IDs (200/200 and 300/300 unique).
- A 200-row Los Angeles city-mode run — which unions 15 overlapping city pages — produced 200/200 unique IDs. Candidates are deduplicated on the listing slug before any listing page is fetched, so your dataset and your bill never hold the same space twice within a run.
- Across runs, use
skip; the log prints the number to use next.
When a run fails
- Zero rows throws. The error carries the page count, the network-failure count, the dead-listing count, the unparseable count and how many rows your filters removed — and names the filters that bite hardest.
- A markup change throws. If more than 20% of pages return HTTP 200 with no readable listing blob, the run fails rather than shipping degraded rows.
- A shrunken sitemap throws rather than passing off a partial catalogue.
- An unknown city throws with a suggestion: "los-angelos--ca" is not one of the 231 cities Giggster publishes a city page for … Did you mean: los-angeles--ca?
- A URL that is not a Giggster URL throws, naming the three shapes that work.
- Delisted listings 404 and are counted separately as "dead" — they do not fail the run and are never billed.
- Running out of run time does not fail the run. The Actor watches the run's own timeout and
stops claiming new listings ~20 s before it, flushes the rows it already has and finishes
SUCCEEDED with a status message telling you the
skipvalue to resume from. Measured with a 120-second timeout against the whole catalogue: 1,942 / 2,572 / 3,206 rows on three runs, each ending in 100-101 s with every collected row in the dataset. You are billed for the rows you got and nothing else.
FAQ
Does this need a Giggster account, a login or an API key? No. Everything is read from pages Giggster serves anonymously. No cookies, no CAPTCHA solving, no authentication of any kind.
Can I get host e-mail addresses or phone numbers? No — Giggster publishes none, for any listing. You get the host's public name (first name plus last initial), their company on 56.0% of Los Angeles rows and a website on 7.0%. Nothing on this site can produce an e-mail address, and this Actor does not pretend otherwise.
How many spaces can I get for one city?
As many as Giggster's own city pages expose. Measured: Los Angeles 1,088, Toronto 397, Nashville
143. Set maxItems to that number or higher and the run will tell you in the log when it runs out.
Can I get the whole catalogue in one run?
Yes — set City to Whole catalogue and maxItems to 14000. All 13,556 spaces cost $54.22, and at
the measured 9.7 pages/second that is about 23 minutes.
My run returned fewer rows than I asked for. Why?
Either the city ran out of listings (the log says so, with the number), or your filters removed
them. The filters that bite hardest are minRating (only 37.0% of the catalogue is rated),
minSquareFeet (85.3%) and spaceTypes (14% blank).
Do I get charged for rows my filters removed? No. You are billed once per space actually written to the dataset. Filtered-out pages, city pages and retries cost you nothing.
Two runs — will I get duplicates?
Within a run, never: candidates are deduplicated on the slug before anything is fetched (200/200
unique on a contiguous city walk). Across runs, use skip, which works because both the sitemap and
the city-page orders are stable.
Why is the rating fill so different between the two tables? Because city pages are ranked. 98.5% of a Los Angeles city run carried a rating against 37.0% of a random catalogue sample. City mode gives you the venues Giggster markets; catalogue mode gives you everything.
Does it need a proxy? No, and it is off by default. Direct measured 300/300 pages at 9.7/s; a proxy measured 100% but 6–14× slower. Turn it on only if your Apify account requires an egress proxy.
Why isn't Peerspace included? It was evaluated properly before this Actor shipped. Peerspace's 44 metro sitemaps enumerate 19,115 listings with no overlap, its record maps onto this schema field-for-field, and a parser was written that returned 200/200 pages with 0 duplicates from an ordinary residential connection. It is not shipped because it cannot be reached from Apify:
| Route | Result |
|---|---|
| Ordinary residential connection (not a shippable rung) | 200/200 = 100% |
| Apify Proxy, datacenter group | 0/20 — HTTP 403, cf-mitigated: challenge |
| Apify Proxy, RESIDENTIAL group | 0/20 — HTTP 403, cf-mitigated: challenge |
| Apify Proxy, RESIDENTIAL pinned to US | 0/4 — HTTP 403 |
| Pinned session + homepage warm-up + cookie jar | 0/8 — HTTP 403 |
Shipping it would have shipped a source that returns nothing for every buyer, so it was cut rather than sold. If that changes it will be added as a selectable source with the same output shape.
Will a run ever succeed with zero rows? No. A zero-row run throws, with the scope and the HTTP counts, so a green-but-empty dataset is not a thing this Actor can produce.
Something looks wrong — how do I debug it? Read the run log: it prints the enumeration counts, the number of city pages fetched, the pages fetched versus rows emitted, the failure and filter counts, and its own measured field fill for nine key fields. Then open the Issues tab with the run ID.
Can I run it on a schedule?
Yes — use Apify Schedules. updatedAt and hostUpdatedAt let you diff runs, and skip lets you
walk the catalogue a slice at a time.
Related Actors in this fleet
| Actor | What it is | Why you would use it instead |
|---|---|---|
| tagvenue-scraper | Tagvenue event & party venue leads | UK/AU/US hire venues rather than film locations |
| eventective-scraper | Eventective venue & vendor leads with e-mail | You need contactable rows, which Giggster cannot give you |
| thebash-scraper | The Bash — DJs, bands, photographers | You want the vendors who work the event, not the room |
| roaminghunger-scraper | Food-truck leads, cuisines and contacts | Catering supply rather than space supply |
| bounceguide-scraper | Bounce-house rental companies with phones and websites | Party-rental suppliers, not venues |
Giggster is where you go for the film and photo location with its rate ladder and permit office; Tagvenue and Eventective are where you go for the event venue with a contact route.
Legal & fair use
This Actor reads pages Giggster publishes openly to anonymous visitors and to search engines, via
Giggster's own robots.txt sitemaps. It does not log in, does not solve or bypass any challenge,
collects nothing behind authentication, and does not touch the four paths Giggster's robots.txt
disallows.
Rows describe businesses and the spaces they rent out, but they do carry a host's public first name and last initial, which can be personal data. Giggster publishes no host e-mail addresses or phone numbers and this Actor does not attempt to find them. You are responsible for complying with Giggster's terms of service and with the law that applies to how you use the results — GDPR/CCPA for storage and processing, and CAN-SPAM/PECR if you send anything.
Giggster® is a trademark of its owner. This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Giggster.
Feedback
Found a missing field, a city that should be in the dropdown, or a filter you need? Open an issue on the Issues tab with the run ID — new fields and filters get added there.