{
  "openapi": "3.0.1",
  "info": {
    "title": "Giggster Scraper — Event Venue, Film & Photo Space Leads",
    "description": "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.",
    "version": "0.2",
    "x-build-id": "I8J1ufCHpIDYXAFZ3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapersdelight~giggster-space-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapersdelight-giggster-space-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapersdelight~giggster-space-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapersdelight-giggster-space-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapersdelight~giggster-space-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapersdelight-giggster-space-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "city": {
            "title": "City",
            "enum": [
              "",
              "adams--wa",
              "adelaide--au",
              "agoura-hills--ca",
              "agua-dulce--ca",
              "albuquerque--nm",
              "alexandria--va",
              "alpharetta--ga",
              "altadena--ca",
              "anaheim--ca",
              "ann-arbor--mi",
              "arcadia--ca",
              "asheville--nc",
              "astoria--ny",
              "atlanta--ga",
              "auckland--nz",
              "austin--tx",
              "baltimore--md",
              "baton-rouge--la",
              "bel-air--ca",
              "bellevue--wa",
              "berkeley--ca",
              "beverly-hills--ca",
              "big-bear-lake--ca",
              "boston--ma",
              "boulder--co",
              "brisbane--au",
              "bronx--ny",
              "brooklyn--ny",
              "buffalo--ny",
              "burbank--ca",
              "bushwick--ny",
              "byron-bay--au",
              "calabasas--ca",
              "california-city--ca",
              "camarillo--ca",
              "carlsbad--ca",
              "carson--ca",
              "castaic--ca",
              "chapel-hill--nc",
              "charleston--sc",
              "charlotte--nc",
              "chatsworth--ca",
              "chattanooga--tn",
              "chelsea--ny",
              "chicago--il",
              "christchurch--nz",
              "cincinnati--oh",
              "clearwater--fl",
              "cleveland--au",
              "college-station--tx",
              "coral-gables--fl",
              "costa-mesa--ca",
              "culver-city--ca",
              "cumming--ga",
              "dallas--tx",
              "daytona-beach--fl",
              "deer-valley--az",
              "delray-beach--fl",
              "denver--co",
              "detroit--mi",
              "downtown-toronto--on",
              "duluth--ga",
              "dunedin--nz",
              "east-hampton--ny",
              "edmonton--ab",
              "encinitas--ca",
              "fort-lauderdale--fl",
              "fort-worth--tx",
              "frazier-park--ca",
              "fredericksburg--va",
              "frisco--tx",
              "fullerton--ca",
              "gardena--ca",
              "glendale--ca",
              "grand-rapids--mi",
              "greenpoint--ny",
              "greenville--sc",
              "hamilton--on",
              "harlem--ny",
              "hawthorne--mn",
              "hell-s-kitchen--ny",
              "hermosa-beach--ca",
              "highland-park--ca",
              "hoboken--nj",
              "hollywood--fl",
              "honolulu--hi",
              "houston--tx",
              "huntington-beach--ca",
              "indianapolis--in",
              "inglewood--ca",
              "irvine--ca",
              "jacksonville--fl",
              "jersey-city--nj",
              "joshua-tree--ca",
              "kalamazoo--mi",
              "kansas-city--mo",
              "kingston--ny",
              "la-canada-flintridge--ca",
              "lake-arrowhead--ca",
              "lancaster--ca",
              "las-vegas--nv",
              "lincoln-park--il",
              "long-beach--ca",
              "long-island-city--ny",
              "los-angeles--ca",
              "madison--wi",
              "magnolia--wa",
              "malibu--ca",
              "manhattan--ny",
              "marietta--ga",
              "marina-del-rey--ca",
              "melbourne--au",
              "memphis--tn",
              "miami-beach--fl",
              "miami--fl",
              "milwaukee--wi",
              "minneapolis--mn",
              "mobile--al",
              "montclair--nj",
              "monterey--ca",
              "montreal--qc",
              "moorpark--ca",
              "morristown--nj",
              "mosman--au",
              "naperville--il",
              "nashville--tn",
              "new-orleans--la",
              "new-rochelle--ny",
              "new-york--ny",
              "newark--nj",
              "newport-beach--ca",
              "newtown--au",
              "norcross--ga",
              "north-hollywood--ca",
              "north-vancouver--bc",
              "oakland--ca",
              "ojai--ca",
              "omaha--ne",
              "orange-county--ca",
              "orlando--fl",
              "oshawa--on",
              "ottawa--on",
              "overland-park--ks",
              "oxnard--ca",
              "palm-beach--fl",
              "palm-desert--ca",
              "palm-springs--ca",
              "palmdale--ca",
              "pasadena--ca",
              "perth--au",
              "philadelphia--pa",
              "phoenix--az",
              "pico-rivera--ca",
              "pittsburgh--pa",
              "plano--tx",
              "pomona--ca",
              "portland--or",
              "providence--ri",
              "queens--ny",
              "raleigh--nc",
              "rancho-cucamonga--ca",
              "rancho-palos-verdes--ca",
              "redondo-beach--ca",
              "reno--nv",
              "richmond--bc",
              "richmond--va",
              "riverside--ca",
              "rose-bay--au",
              "rotorua--nz",
              "sacramento--ca",
              "salt-lake-city--ut",
              "san-antonio--tx",
              "san-diego--ca",
              "san-francisco--ca",
              "san-gabriel--ca",
              "san-jose--ca",
              "san-mateo--ca",
              "san-pedro--ca",
              "sandy-springs--ga",
              "santa-ana--ca",
              "santa-barbara--ca",
              "santa-clarita--ca",
              "santa-cruz--ca",
              "santa-fe--nm",
              "santa-monica--ca",
              "savannah--ga",
              "scottsdale--az",
              "seattle--wa",
              "sherman-oaks--ca",
              "sierra-madre--ca",
              "simi-valley--ca",
              "singapore--sg",
              "sonoma--ca",
              "southampton--ny",
              "st-louis--mo",
              "stamford--ct",
              "staten-island--ny",
              "stevenson-ranch--ca",
              "sunnyvale--ca",
              "surry-hills--au",
              "sydney--au",
              "syracuse--ny",
              "tacoma--wa",
              "tampa--fl",
              "temecula--ca",
              "tempe--az",
              "the-bronx--ny",
              "thousand-oaks--ca",
              "topanga--ca",
              "toronto--on",
              "torrance--ca",
              "tucson--az",
              "twentynine-palms--ca",
              "uptown--il",
              "vancouver--bc",
              "vancouver--wa",
              "venice--ca",
              "ventura--ca",
              "victoria--ca",
              "virginia-beach--va",
              "walnut-creek--ca",
              "warwick--ny",
              "washington--dc",
              "wellington--nz",
              "west-hollywood--ca",
              "west-palm-beach--fl",
              "westlake-village--ca",
              "williamsburg--ny",
              "woodland-hills--ca",
              "yonkers--ny",
              "yucca-valley--ca"
            ],
            "type": "string",
            "description": "Scrape the spaces Giggster lists on its city pages for this city. Measured 2026-08-12: Los Angeles resolves to 1,088 distinct listings (from 251 city pages) and 1,088 of 1,088 came back with city = Los Angeles; Toronto 397; Nashville 143. Choose \"Whole catalogue\" instead to walk all 13,556 listings - complete, but the listing index carries no city, so filtering it by city costs roughly one page fetch per listing checked. 231 cities available.",
            "default": "los-angeles--ca"
          },
          "startUrls": {
            "title": "Or paste Giggster URLs",
            "type": "array",
            "description": "Run the search you want on giggster.com, copy the URL out of the address bar and paste it here. Three shapes work: a city page (https://giggster.com/find/los-angeles--ca or .../find/los-angeles--ca/wedding - about 20 spaces per page, unioned when you paste several), a search page (https://giggster.com/search/New-York--NY--USA/filming - mapped onto the matching city page, because Giggster renders search results in the browser and ships none in the HTML), or a single listing (https://giggster.com/listing/edwardian-craftsman). Anything here overrides the City dropdown. A URL that is none of those stops the run with an error naming the three shapes, rather than quietly returning nothing.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "cities": {
            "title": "City names (extra text filter)",
            "type": "array",
            "description": "Keep only spaces whose city field matches one of these, case-insensitively, in Giggster's own spelling: \"Los Angeles\", \"Brooklyn\", \"New York\", \"Vancouver\", \"London\", \"Toronto\", \"Atlanta\", \"Chicago\", \"Las Vegas\", \"Miami\", \"Montréal\", \"Nashville\". Mostly useful with \"Whole catalogue\", where it is the only way to slice by city; redundant once you have picked a City above.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "states": {
            "title": "States / provinces",
            "type": "array",
            "description": "2-letter state or province codes, e.g. CA, NY, TX, GA, BC, ON. Empty = all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "2-letter country codes. Measured share of a 400-listing catalogue sample: US 83.8%, CA 12.8%, then SG, AU, NZ, IE and PT; a wider API sample also shows GB at about 3%. Empty = all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Category",
            "uniqueItems": true,
            "type": "array",
            "description": "Giggster's top-level category. Only four are really in use. Measured across a 300-listing catalogue sample: commercial 47%, residential 31%, studio 18.7%, transportation 3.3%. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "residential",
                "commercial",
                "studio",
                "transportation",
                "outdoor"
              ],
              "enumTitles": [
                "Residential - houses, apartments, mansions, estates (31%)",
                "Commercial - offices, warehouses, bars, galleries, restaurants (47%)",
                "Studio - photo, film, dance and recording studios (18.7%)",
                "Transportation - vehicles, boats, aircraft (3.3%)",
                "Outdoor - rare in the live catalogue"
              ]
            },
            "default": []
          },
          "spaceTypes": {
            "title": "Space types",
            "type": "array",
            "description": "The host's specific space type. 59 exist; the common ones are house, photography-studio, event-space-rooftop, office, film-studio, loft-studio, mansion-or-estate, recording-studio, apartment, ranch, dance-studio, warehouse, pool, loft, bar, cafe, church, theater, restaurant, gallery, gym, farm, hospital. 14% of listings leave it blank and are dropped as soon as you set this. Empty = all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "activityGroup": {
            "title": "Bookable for",
            "enum": [
              "any",
              "production",
              "event",
              "meeting",
              "play"
            ],
            "type": "string",
            "description": "Keep only spaces the host has opened up for this kind of booking. Giggster prices production (film/photo shoots), event, meeting and play separately, and most hosts enable only some of them. Measured on a 400-listing sample: production 97.3%, meetings 65.3%, events 63.3%, play 4.8%.",
            "default": "any"
          },
          "minCapacity": {
            "title": "Minimum capacity",
            "minimum": 0,
            "type": "integer",
            "description": "Drop spaces whose largest allowed headcount is under this. Capacity is present on 100% of listings. Giggster caps its own display at \"60+\", so 28.8% of rows report 60 with capacityIsBanded = true - set this above 60 and you will lose real 200-person venues. Sample quartiles: 30 / 45 / 60. 0 = no floor.",
            "default": 0
          },
          "minHourlyRate": {
            "title": "Minimum hourly rate",
            "minimum": 0,
            "type": "integer",
            "description": "Drop spaces cheaper than this per hour, in the listing's own currency - the filter compares raw numbers and does not convert (84% USD, 12.5% CAD, then SGD/AUD/EUR/NZD). Across a 400-listing sample the quartiles are $95 / $150 / $300 per hour. 0 = no floor.",
            "default": 0
          },
          "maxHourlyRate": {
            "title": "Maximum hourly rate",
            "minimum": 0,
            "type": "integer",
            "description": "Drop spaces more expensive than this per hour, in the listing's own currency. The sampled range was $2 to $5,500 per hour. 0 = no ceiling.",
            "default": 0
          },
          "minSquareFeet": {
            "title": "Minimum square footage",
            "minimum": 0,
            "type": "integer",
            "description": "Drop spaces smaller than this. Square footage is published on 85.3% of listings and the other 14.7% are dropped as soon as you set a floor. Sample quartiles: 1,100 / 2,000 / 4,860 sq ft. 0 = keep everyone.",
            "default": 0
          },
          "minRating": {
            "title": "Minimum star rating",
            "enum": [
              "0",
              "3",
              "3.5",
              "4",
              "4.5",
              "5"
            ],
            "type": "string",
            "description": "Drop spaces rated below this. HEADS UP: only 37.0% of Giggster listings carry any star rating, so a floor here silently discards nearly two thirds of the catalogue - a new listing with no reviews is still a live venue and a live lead. Use bookingsCount (published on 100% of rows, though only about a third of the catalogue has ever actually been booked) as a proof-of-life signal instead. \"Any rating\" keeps everyone.",
            "default": "0"
          },
          "superhostOnly": {
            "title": "Only superhosts",
            "type": "boolean",
            "description": "Keep only listings whose host carries Giggster's superhost badge - a proven, repeat-booking host rather than a dormant listing. Measured at 17.3% of the catalogue, so this drops about five rows in six.",
            "default": false
          },
          "includeImages": {
            "title": "Include every photo URL",
            "type": "boolean",
            "description": "Add every photo URL to each row. The listing page ships only the cover shot, so this costs one extra request per space and can multiply your dataset size - one listing in the sample carried 319 photos. It does not change the price: you are still billed once per space.",
            "default": false
          },
          "includeActivities": {
            "title": "Include the full activity list",
            "type": "boolean",
            "description": "Add every one of Giggster's bookable activity slugs the space is enabled for (\"wedding-reception\", \"music-video\", \"corporate-retreat\", ...). Typically 30-220 slugs per row, so it is off by default - the compact activityGroups field (production / event / meeting / play) is always returned. Free: no extra request and no extra charge.",
            "default": false
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "type": "integer",
            "description": "How many spaces to return. You are billed $0.004 per space returned and never for a page that was fetched and then filtered out, so this is your hard cost ceiling: 25 = $0.10, 1,000 = $4.00, the whole 13,556-space catalogue = about $54.22. Rows are charged as they are pushed, so a budget cap gives you whole rows and stops.",
            "default": 25
          },
          "skip": {
            "title": "Skip (paging across runs)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip this many listings before collecting. Both the sitemap order and the city-page order are stable, so after a maxItems=500 run set skip=500 next time to continue where you stopped instead of re-buying the same spaces. Ignored when you paste listing URLs.",
            "default": 0
          },
          "maxConcurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Parallel page fetches. 5 is the tested default - a 300-listing live run at that setting returned 300 of 300 pages with zero failures at 9.7 pages/second. Giggster does not rate-limit at this level; raise it only if you need to and watch the failure count in the log.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "OFF by default, on purpose. Giggster serves plain HTML with no Cloudflare challenge, no cookie and no login, and a direct run measured 300/300 pages at 9.7 pages/s. Apify Proxy also works (datacenter 20/20, residential 19/20) but runs 6-14x slower, so switch it on only if your account requires an egress proxy.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}