Giggster Scraper [$1.50/1K💰] | Venue & Studio Rental Data
Pricing
from $1.30 / 1,000 venues
Giggster Scraper [$1.50/1K💰] | Venue & Studio Rental Data
Scrape venue and space rentals from Giggster across US, UK and Canada - hourly rate, capacity, square footage, features, amenities, house rules, catering, photos, host, availability and FAQs.
Pricing
from $1.30 / 1,000 venues
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Giggster Scraper
Scrape venue and space rentals from Giggster across the US, UK and Canada — hourly rate, capacity by event type, square footage, features, amenities, house rules, catering options, insurance and alcohol conditions, photos, host profile, availability and FAQs. Built for venue marketplaces, event-industry research, pricing benchmarks and commercial property directories.
Two collection modes: a fast search-API sweep and a full detail pass over 14,000+ venues.
What you get
Capacity broken out by event type, not one vague number
Most venue listings publish a single "capacity" figure that is meaningless. Giggster publishes them separately, and the Actor keeps them separate:
| Field | Meaning |
|---|---|
capacity.maxAttendees | Resolved headline figure |
capacity.maxAttendeesProduction | Production/filming capacity |
capacity.maxAttendeesEvent | General event capacity |
capacity.maxAttendeesMeeting | Seated-meeting capacity |
capacity.maxAttendeesPlay | Rehearsal/play capacity |
capacity.castAndCrew | Cast and crew headcount |
capacity.sittingLimit / standingLimit | Seated vs standing limits |
capacity.parkingCapacity | On-site parking spaces |
capacity.crewAccess | Crew access notes |
capacity.maxAttendees is computed from the others in order — event → production → meeting → play → castAndCrew — so you always have a usable headline number without losing the specific one you actually need. The difference between a 200-capacity production space and a 200-capacity meeting room is exactly what makes a venue bookable or not.
Rate card, not just one number
hourlyRate is the base hourly figure, but priceLevels preserves the whole ladder Giggster publishes (any price-* property), plus minimumHours. A venue charging £18/hr base may quote £2,400 for a weekend; priceLevels is where that lives, and minimumHours is what tells you whether a 3-hour booking is even possible.
The rules that actually disqualify a venue
This is what separates a real venue dataset from a photo scrape. You get, as separate arrays:
rules,rulesNotAllowed,additionalRules— house rules, in both directionscateringOptions,cateringNotAllowed— catering policyinsuranceRequired— public liability insurance requirementalcoholLicenceConditions— licensing constraintsspecialRequirements,restrictedAreas— load-in, noise, access restrictionsinstantBook— instant-booking conditions
Combined with features, amenities, activities, propertySizeBuckets and tags, you can answer "which venues in this city allow a 60-person sit-down dinner with external catering, have parking, and don't require insurance" — a query that is impossible against flat listing data.
Host profiles with verification signals
host carries name, firstName, lastName, role, responseRate, isSuperhost, memberSince, avatarUrl, profileUrl and a verified object with email, phone and google verification flags.
Those verification flags are the useful part: verified.phone: true tells you the listed number is confirmed, which matters for event planners booking on someone else's behalf. acceptanceRate, bookingsCount, commentsCount and ratingCount tell you whether a venue is reliably bookable or just theoretically listed.
Availability you can plan against
availability carries calendarFrom, calendarTo, bookableFrom and blockedDates[]. Not a full calendar, but enough to know a venue's booking window and which dates are already out — which is frequently the reason a booking falls through.
Location, privacy-aware
location gives address, suite, neighborhood, city, state, zipcode, country, fullAddress, latitude, longitude, timezoneOffset, processingRegion — plus two flags that matter: addressBlurred and geoBlurred. When Giggster blurs a location until payment, the Actor preserves that instead of guessing, so you never record a precise address the platform deliberately withheld.
How it works
Giggster's site search runs on its own public JSON endpoint, so the Actor can collect venue data without scraping HTML:
| Purpose | Endpoint | Notes |
|---|---|---|
| Venue search | api.giggster.com/locations/ft-search | 100 rows/page, offset paging, no auth, no special headers |
| Venue detail | giggster.com/listing/{slug} | Full 51-field record |
| Full catalogue | giggster.com/sitemap-listings.xml | 14,000+ venues, one request |
| City list | giggster.com active-cities blob | Resolves placeSlug → city/country |
Two ways in
searchUrls — you paste a normal Giggster search URL such as https://giggster.com/search/Manchester--UK/production. The Actor parses out the place slug and activity, resolves the city against Giggster's active-cities list, and translates it into ft-search API calls. Because it's the API, not HTML, you get clean JSON and offset pagination instead of a rendered page.
searchUrls: [] — the Actor falls back to sitemap-listings.xml and crawls the entire 14,000+ venue catalogue from a single request. That's the mode you want for a full inventory.
includeDetails is where the cost difference lives
With includeDetails: true (default) every discovered venue gets its /listing/{slug} page parsed into the full record. With includeDetails: false, the ft-search API item is mapped directly into the identical row shape and detail pages are never opened — one page of 100 rows costs one request.
The row shape is the same either way. Fields the search index doesn't carry (square footage, amenities, rules, reviews, availability, FAQ) come back null or empty rather than being guessed. So a cheap run is a valid, uniformly-shaped dataset — just shallower.
Advanced: raw API enrichment
A hidden enrichWithApi input (not shown in the Console form, but accepted via the API) additionally fetches api.giggster.com/locations/{id} for each venue and attaches the raw record under the api key. This adds machine-readable properties and tags that the page parser can't derive. It doubles request count, so use it for targeted enrichment rather than a full sweep.
Cost control
A free/paid gate caps the venue budget: free accounts are limited to 10 venues and the run stops there, so a free run never queues thousands of detail pages. maxRequestsPerCrawl can be set explicitly, or left empty for an automatic value derived from maxListings.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
searchUrls | string[] | ["https://giggster.com/search/Manchester--UK/production"] | Giggster search URLs (place + activity), translated into ft-search API calls. Empty = full catalogue from the sitemap. |
maxListings | integer | 200 | Max venues (1–15,000), shared across all search URLs. |
includeDetails | boolean | true | Scrape /listing/{slug} detail pages. false returns search-API rows only — much faster. |
maxRequestsPerCrawl | integer | auto | Hard cap on total HTTP requests. Leave empty for a value derived from maxListings. |
proxy | object | { "useApifyProxy": false } | Standard Apify proxy picker. |
enrichWithApi | boolean | false | Advanced, API-only (not in the Console form). Fetches the raw api.giggster.com/locations/{id} record into the api key. Doubles requests. |
Leave searchUrls empty for the whole catalogue:
{ "searchUrls": [], "maxListings": 5000, "includeDetails": true }
Output
One flat dataset. Every record has dataType: "listing".
51 top-level fields, grouped:
| Group | Fields |
|---|---|
| Identity | dataType, id, slug, url, name, venueType, primaryType, description, status |
| Pricing | hourlyRate, currency, priceLevels, minimumHours |
| Physical | capacity (object), squareFootage, squareMeters, propertyDetails, dimensions |
| Amenities | features, amenities, activities, propertySizeBuckets, tags |
| Rules | rules, rulesNotAllowed, additionalRules, cateringOptions, cateringNotAllowed, insuranceRequired, alcoholLicenceConditions, specialRequirements, restrictedAreas, instantBook |
| Media | photos, photosCount, mapImageUrl, seoImage |
| Location | location (object) |
| Host | host (object or null) |
| Reputation | rating, ratingCount, acceptanceRate, reviews, reviewsCount, commentsCount, bookingsCount |
| Availability | availability (object or null) |
| Extras | addons, faq, scrapedAt, api |
Nested objects — read these, don't look for flat fields
capacity and location are objects. So city is location.city, not city; maxAttendees is capacity.maxAttendees, not maxAttendees.
"capacity": {"maxAttendees": 200,"maxAttendeesProduction": 200,"maxAttendeesEvent": 150,"maxAttendeesMeeting": 80,"maxAttendeesPlay": null,"castAndCrew": 25,"sittingLimit": null,"standingLimit": null,"parkingCapacity": 40,"crewAccess": []}
"location": {"address": "12 Dale Street","suite": null,"neighborhood": "Northern Quarter","city": "Manchester","state": "England","zipcode": "M1 1FY","country": "United Kingdom","fullAddress": "12 Dale Street, Manchester M1 1FY","addressBlurred": false,"latitude": 53.4813,"longitude": -2.2331,"geoBlurred": false,"timezoneOffset": 0,"processingRegion": "eu-west-2"}
host is null when not published. availability is null when not published. api is populated only when enrichWithApi: true.
Field notes that change how you read the data:
- With
includeDetails: false,squareFootage,squareMeters,features,amenities,rules,reviews,availability,addonsandfaqarenull/[]. That is missing data, not empty data — distinguish it in your pipeline. photos[]entries carryurl,widthandheight.photosCountis Giggster's own count and can differ fromphotos.length.addressBlurred/geoBlurredare privacy flags, not errors. Respect them.capacity.maxAttendeesis derived by the Actor from the typed capacities. If you need to know which underlying figure produced it, read the typed fields.priceLevelskeys are Giggster's ownprice-*property names, not friendly labels.ratingCountvsreviewsCountvscommentsCountare three different counts. Don't merge them.
Example input
Fast search-API sweep, no detail pages:
{"searchUrls": ["https://giggster.com/search/Manchester--UK/production"],"includeDetails": false,"maxListings": 300}
Multiple cities and activities, full detail:
{"searchUrls": ["https://giggster.com/search/London--UK/wedding","https://giggster.com/search/New-York--US/conference","https://giggster.com/search/Toronto--CA/meetings"],"includeDetails": true,"maxListings": 750}
Whole-catalogue inventory:
{"searchUrls": [],"maxListings": 5000,"includeDetails": true,"maxRequestsPerCrawl": 6000}
Raw API enrichment for hard-to-parse fields:
{"searchUrls": ["https://giggster.com/search/Bristol--UK/production"],"maxListings": 50,"includeDetails": true,"enrichWithApi": true}
Example output
{"dataType": "listing","id": "5f8a3c2b91d4e70012","slug": "the-warehouse-studios-manchester","url": "https://giggster.com/listing/the-warehouse-studios-manchester","name": "The Warehouse Studios","venueType": "Studio","primaryType": "production","description": "A 4,500 sq ft former warehouse in the Northern Quarter, licensed for events and production. Concrete floors, 3-phase power, blackout windows and on-site loading.","status": "active","hourlyRate": 65,"currency": "GBP","priceLevels": { "price-base-hourly": 65, "price-day": 1040, "price-week": 7280 },"minimumHours": 4,"capacity": {"maxAttendees": 200,"maxAttendeesProduction": 200,"maxAttendeesEvent": 200,"maxAttendeesMeeting": 80,"maxAttendeesPlay": null,"castAndCrew": 25,"sittingLimit": null,"standingLimit": null,"parkingCapacity": 40,"crewAccess": []},"squareFootage": 4500,"squareMeters": 418,"propertyDetails": [{ "label": "Year built", "value": "1924" }],"dimensions": [{ "label": "Main hall", "value": "120 x 60 ft" }],"features": ["Blackout windows", "3-phase power", "Loading dock", "Green room"],"amenities": ["WiFi", "Heating", "Toilets", "Accessible entrance"],"activities": ["Production", "Photography", "Corporate events"],"propertySizeBuckets": ["2500-5000 sqft"],"tags": ["warehouse", "industrial", "daylight"],"rules": ["No smoking", "Load-in via rear entrance only"],"rulesNotAllowed": ["Open flame", "Confetti"],"additionalRules": ["Curfew of 02:00 for amplified sound"],"cateringOptions": ["External catering allowed", "On-site kitchen"],"cateringNotAllowed": [],"insuranceRequired": true,"alcoholLicenceConditions": ["Venue holds a licence to 02:00", "Personal licence required after 00:00"],"specialRequirements": ["Public liability insurance of £5m minimum"],"restrictedAreas": ["Second-floor office not accessible during events"],"instantBook": [],"photos": [{ "url": "https://cdn.giggster.com/photos/warehouse-01.jpg", "width": 2048, "height": 1365 }],"photosCount": 24,"mapImageUrl": null,"seoImage": "https://cdn.giggster.com/photos/warehouse-01.jpg","location": {"address": "12 Dale Street","suite": null,"neighborhood": "Northern Quarter","city": "Manchester","state": "England","zipcode": "M1 1FY","country": "United Kingdom","fullAddress": "12 Dale Street, Manchester M1 1FY","addressBlurred": false,"latitude": 53.4813,"longitude": -2.2331,"geoBlurred": false,"timezoneOffset": 0,"processingRegion": "eu-west-2"},"host": {"id": "usr_2c9f11","name": "Rachel T.","firstName": "Rachel","lastName": "T.","role": "Owner","responseRate": 1,"isSuperhost": true,"avatarUrl": "https://cdn.giggster.com/avatars/usr_2c9f11.jpg","memberSince": "2019-04","verified": { "email": true, "phone": true, "google": true },"profileUrl": "https://giggster.com/users/usr_2c9f11"},"rating": 4.92,"ratingCount": 47,"acceptanceRate": 0.98,"reviews": [],"reviewsCount": 47,"commentsCount": 132,"bookingsCount": 289,"availability": {"calendarFrom": "2026-08-01","calendarTo": "2027-07-31","bookableFrom": "2026-10-15","blockedDates": ["2026-12-24", "2026-12-25"]},"addons": [{ "name": "House PA", "category": "Staffing", "price": 320, "priceUnit": "day", "description": null },{ "name": "Projector hire", "category": "Equipment", "price": 45, "priceUnit": "day", "description": null }],"faq": [{ "q": "Is there parking?", "a": "Yes, 40 spaces on site, free after 6pm." }],"scrapedAt": "2026-10-04T06:12:41.220Z","api": null}
Integrations & automation
Call it over the Apify API (POST /v2/acts/ugJhOSfeKYansvx9Q/runs), or from Python, JavaScript, the CLI or MCP. Output exports as JSON, CSV, Excel, XML or RSS.
For pricing benchmarks, run includeDetails: false across many cities to build a cheap rate-card index (hourlyRate, priceLevels, capacity, location.city), then re-run detail only on the outliers you want to analyse. For venue discovery, filter features, amenities and rulesNotAllowed — "allows external catering, has parking, no insurance requirement" is a rules-level query. For host reliability, filter host.isSuperhost, host.responseRate and acceptanceRate before shortlisting.
Typical pipeline: run on schedule → flatten location and capacity into columns → explode features/amenities into a bridge table → upsert on id → alert when hourlyRate or availability.bookableFrom changes. Because venue data changes slowly, weekly runs are usually enough; use daily only for blockedDates in high-demand markets.
What a run costs
| Configuration | Billable events | Cost |
|---|---|---|
200 venues, includeDetails: false | 200 × Venue | $0.30 |
| 200 venues, with details | 200 Venue + 200 Venue-detail | $0.70 |
5,000 venues, includeDetails: false | 5,000 × Venue | $7.50 |
Two event types: $0.0015 per venue and $0.002 per venue detail. Detail rows cost about 33% more, so includeDetails: false is the main cost lever. Free accounts are capped at 10 venues. Paid accounts get the full maxListings range up to 15,000, with tiered rates on higher plans.
Related Actors
| Actor | Why |
|---|---|
peerspace-scraper | The closest comparison in this portfolio — same venue-rental problem, different marketplace. |
tagvenue-scraper | UK event-space data, directly complementary for UK venue coverage. |
venuederby-scraper | Another venue marketplace for cross-platform availability and rate comparison. |
google-maps-scraper | Geospatial venue discovery to seed which cities and categories to target. |
yellowpages-ca-scraper | Business directory data for enriching venue and host records. |
FAQ
How do I crawl all 14,000+ venues?
Leave searchUrls empty. The Actor falls back to giggster.com/sitemap-listings.xml — one request — and works through the whole catalogue. Set maxListings up to 15,000 and give yourself maxRequestsPerCrawl headroom (detail mode costs roughly one request per venue).
What's the difference between includeDetails: true and false?
false maps the ft-search API row directly into the identical record shape and never opens a detail page — so a 100-row page costs one request. true fetches each /listing/{slug} page for square footage, amenities, rules, reviews, availability and FAQ. Both produce the same shape; with false the detail-only fields are null/[]. It also costs ~33% more per venue.
Why is city null when the venue clearly has an address?
Because city lives inside location, not at the top level — and with includeDetails: false the search index doesn't always carry it. Read location.city. If it's still null, that's a search-index gap, not a parse failure.
Should I filter on addressBlurred?
If you're building a public directory, yes. When Giggster blurs an address until payment, addressBlurred: true means the platform deliberately withheld the exact location. The Actor preserves that rather than inferring it — don't try to reconstruct it.
What does capacity.maxAttendees actually mean?
It's derived by the Actor, taking the first available value from maxAttendeesEvent, maxAttendeesProduction, maxAttendeesMeeting, maxAttendeesPlay, then castAndCrew. If you need to know why a venue is 200-capable, read the typed fields — the derived number alone hides that distinction.
What's the enrichWithApi input, and why isn't it in the form?
It's a hidden advanced input accepted via the API (not exposed in the Console UI). It fetches the raw api.giggster.com/locations/{id} record into the api key, adding machine-readable properties and tags that the HTML parser can't derive. It doubles request count, so use it for targeted enrichment of a few dozen venues, not a full sweep.
Do I need a browser or proxy?
No. The Actor talks to Giggster's own public JSON API and its sitemap over plain HTTP — no JavaScript rendering, no browser, no captcha. proxy defaults to off.
Why is my free run limited to 10 venues?
Free accounts are deliberately capped at 10 venues, and the run stops there rather than queueing thousands of detail pages. That is a free-tier limit, not a scraping failure.
SEO Keywords
giggster scraper, venue rental data, event space listings, studio rental database, filming location data, photo shoot venue, wedding venue data, conference room listings, hourly rate benchmarks, venue capacity data, space for rent, event venue api, coworking space data, venue search api, property rental listings, us uk canada venues, production studio rental, party venue finder, event industry research, venue marketplace data, hospitality listings, room hire data, commercial space listings, event planning data
For AI Agents & LLM Apps
Returns Giggster venue listings as one flat dataset, 51 top-level fields per record, all with dataType: "listing".
Minimal input — smallest valid run:
{ "searchUrls": [] }
Cheapest useful sweep — search API only, no detail requests:
{ "searchUrls": ["https://giggster.com/search/Manchester--UK/production"], "includeDetails": false, "maxListings": 300 }
Full detail across cities:
{ "searchUrls": ["https://giggster.com/search/London--UK/wedding"], "includeDetails": true, "maxListings": 200 }
Whole catalogue:
{ "searchUrls": [], "maxListings": 5000, "includeDetails": true }
Output fields (51 top-level): dataType, id, slug, url, name, venueType, primaryType, description, status, hourlyRate, currency, priceLevels, minimumHours, capacity, squareFootage, squareMeters, propertyDetails, dimensions, features, amenities, activities, propertySizeBuckets, tags, rules, rulesNotAllowed, additionalRules, cateringOptions, cateringNotAllowed, insuranceRequired, alcoholLicenceConditions, specialRequirements, restrictedAreas, instantBook, photos, photosCount, mapImageUrl, seoImage, location, host, rating, ratingCount, acceptanceRate, reviews, reviewsCount, commentsCount, bookingsCount, availability, addons, faq, scrapedAt, api
capacity object (10): maxAttendees, maxAttendeesProduction, maxAttendeesEvent, maxAttendeesMeeting, maxAttendeesPlay, castAndCrew, sittingLimit, standingLimit, parkingCapacity, crewAccess
location object (14): address, suite, neighborhood, city, state, zipcode, country, fullAddress, addressBlurred, latitude, longitude, geoBlurred, timezoneOffset, processingRegion
host object (12, or null): id, name, firstName, lastName, role, responseRate, isSuperhost, avatarUrl, memberSince, verified (email/phone/google), profileUrl
availability object (4, or null): calendarFrom, calendarTo, bookableFrom, blockedDates
Behaviours an agent should know
capacityandlocationare nested objects.cityislocation.city;maxAttendeesiscapacity.maxAttendees. Flat paths likerecord.cityreturn undefined. Flatten explicitly before filtering.capacity.maxAttendeesis derived by the Actor frommaxAttendeesEvent→maxAttendeesProduction→maxAttendeesMeeting→maxAttendeesPlay→castAndCrew. Read the typed fields if you need the specific capacity.includeDetails: falseyields null detail-only fields —squareFootage,squareMeters,features,amenities,activities,rules,reviews,availability,addons,faq. The record shape is identical, so treat missing as "not collected", not "empty".- Two billing event types: $0.0015 per venue and $0.002 per venue detail. Detail mode costs ~33% more per venue, so
includeDetails: falseis the primary cost lever. - Free accounts are capped at 10 venues and the run halts there. Paid accounts reach
maxListingsup to 15,000. - Empty
searchUrlsmeans "crawl everything" — it falls back tositemap-listings.xml(one request) and walks the full 14,000+ catalogue. This is the opposite of most Actors, where empty means no data. enrichWithApi: trueis an API-only hidden input (not in the Console form). It populates theapikey with the raw location record and doubles request count.hostandavailabilityarenullwhen unpublished — always null-check.addressBlurredandgeoBlurredare privacy flags, not errors. Don't reconstruct blurred locations.photos[]entries are{ url, width, height };photosCountis Giggster's own count and may differ fromphotos.length.ratingCount,reviewsCountandcommentsCountare three distinct counts — do not merge them.priceLevelskeys are Giggster's internalprice-*property names, not human-readable labels.- No browser and no proxy are needed; both talk over plain HTTP to Giggster's public API and sitemap.
Legal & Compliance
This Actor is an independent third-party tool. It is not affiliated with, endorsed by, or sponsored by Giggster, or by any venue host whose listing appears in its output.
What it actually accesses: Giggster's public venue search JSON endpoint at api.giggster.com/locations/ft-search (no authentication, no special headers required), the public venue detail pages at giggster.com/listing/{slug}, and the published giggster.com/sitemap-listings.xml. No login, no captcha solving, no browser, no header spoofing, no access-control bypass.
robots.txt: Giggster's robots.txt disallows /unsupported, /unsupported-browser, /projects and /project-detail — none of which this Actor requests. The paths used (/search/*, /listing/*, /find/cities, /sitemap-listings.xml) are permitted, and the sitemap is explicitly the discovery mechanism the platform publishes for exactly this purpose. api.giggster.com serves no robots.txt.
Personal data. Venue listings are commercial information, but the host object contains identifiable personal data: name, firstName, lastName, avatarUrl, profileUrl, memberSince and a responseRate tied to a specific account. Depending on where the host is based, GDPR (UK and EU venues, and the UK GDPR post-Brexit), PIPEDA (Canada) and CCPA (California venues) may all apply.
In particular: verified.phone: true confirms a phone number is associated with a real account, and that phone number is usable for contact. Do not treat verified contact details as consent to be marketed to. Under GDPR, host contact details collected for a booking purpose are not a marketing basis — you need separate consent or a legitimate-interest assessment, and you must give notice, honour erasure requests, and stop processing on objection. Do not build profiles of individual hosts.
Commercial terms. robots.txt permission is not a commercial licence. Giggster's Terms of Use reserve rights over its venue database, host profiles, reviews and images, and venue listings belong to the individual hosts who published them. Building a competing venue marketplace or aggregator from this data without a licence is very likely to breach those terms, even though every URL you request is publicly readable. If your intent is commercial reuse, get written permission from Giggster first — that is the durable route, not technical access.
Photos and images. Venue photos belong to the hosts and may carry third-party copyright. Do not republish them commercially without the relevant rights.
You are solely responsible for compliance with Giggster's Terms of Use, robots.txt, applicable data-protection law, and any permission you obtain. Keep volumes sensible — maxRequestsPerCrawl bounds a run without effort — and if you need venue data at commercial scale, licence it.