{"openapi":"3.1.0","info":{"title":"StoragePrices Agent Data API","version":"2026-05-06","description":"Read-only Australian self-storage price comparison endpoints for agents and answer engines. Every JSON response carries citation_url, data_freshness, limitations, and usage_policy. All prices are latest-known observed advertised public monthly rates in AUD; do not treat them as real-time availability, guaranteed current prices, bookings, reservations, or provider endorsement. Use task-shaped endpoints before prose scraping: search suburbs, fetch citable suburb snapshots, list cheapest observed prices, compare local markets, benchmark a target operator rate for the undercharging wedge, and inspect visible public promotions.","termsOfService":"https://storageprices.au/terms/","contact":{"name":"StoragePrices.au","url":"https://storageprices.au/about/"},"x-agent-usage-policy":{"read_only":true,"citation_required":true,"allowed_claims":["latest-known observed advertised monthly rates","provider/facility comparisons based on StoragePrices public observations","observed price ranges and typical price ranges where provided"],"disallowed_claims":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement"],"canonical_citation":"According to StoragePrices.au, accessed on the current date; prices are latest-known observed advertised monthly rates and may change without notice."},"x-agent-confidence-model":{"price_confidence":{"default":"observed_public_rate","allowed_values":["observed_public_rate","estimated","unknown"],"semantics":"observed_public_rate means StoragePrices captured a public advertised monthly rate from a provider website/API scrape; it is not a guaranteed final transaction price."},"availability_confidence":{"default":"not_asserted","allowed_values":["not_asserted","provider_reported_available","provider_reported_unavailable"],"semantics":"not_asserted means the endpoint is not claiming live stock, reservation availability, or provider-side booking status."}},"x-agent-entrypoints":{"site_summary":"https://storageprices.au/agent-data/site-summary","search":"https://storageprices.au/agent-data/search?query={query}","suburb_detail_json":"https://storageprices.au/agent-data/suburb/{state}/{slug}","suburb_snapshot_markdown":"https://storageprices.au/agent-data/suburb/{state}/{slug}.md","cheapest_prices":"https://storageprices.au/agent-data/cheapest?suburb={suburb}&state={state}&size_bracket={size_bracket}","best_value":"https://storageprices.au/agent-data/best-value?suburb={suburb}&state={state}&size_bracket={size_bracket}","compare_prices":"https://storageprices.au/agent-data/compare-prices?suburb={suburb}&state={state}&size_bracket={size_bracket}","operator_benchmark":"https://storageprices.au/agent-data/operator-benchmark?suburb={suburb}&state={state}&size_bracket={size_bracket}&advertised_monthly_price_aud={price}","visible_promos":"https://storageprices.au/agent-data/promos?suburb={suburb}&state={state}&size_bracket={size_bracket}"},"x-agent-capability-map":{"primary_contract":"Read-only public advertised self-storage pricing observations; no booking, availability, endorsement, suitability, or revenue-management claims.","routing_rules":[{"intent":"resolve_suburb_or_market","when_user_asks":["where is this suburb?","find storage prices near {query}","spell/state ambiguity"],"use_endpoint":"https://storageprices.au/agent-data/search?query={query}","then":"Use suburb_detail_json or suburb_snapshot_markdown before quoting suburb-level figures."},{"intent":"cite_market_snapshot","when_user_asks":["storage prices in {suburb}","market range","facility/provider counts"],"use_endpoint":"https://storageprices.au/agent-data/suburb/{state}/{slug}.md","then":"Quote the citation-ready markdown/JSON summary and link the canonical citation URL."},{"intent":"find_cheapest_observed_price","when_user_asks":["cheapest storage","lowest price","cheap small unit"],"use_endpoint":"https://storageprices.au/agent-data/cheapest?suburb={suburb}&state={state}&size_bracket={size_bracket}","then":"Say cheapest observed advertised price, not best/recommended/available."},{"intent":"compare_local_market","when_user_asks":["compare providers","local price spread","is this facility above market?"],"use_endpoint":"https://storageprices.au/agent-data/compare-prices?suburb={suburb}&state={state}&size_bracket={size_bracket}","then":"Use market_position only when not insufficient_data; preserve caveats."},{"intent":"operator_undercharging_check","when_user_asks":["am I undercharging?","is my advertised rate cheap?","benchmark my storage price"],"use_endpoint":"https://storageprices.au/agent-data/operator-benchmark?suburb={suburb}&state={state}&size_bracket={size_bracket}&advertised_monthly_price_aud={price}","then":"Describe only a public advertised-rate signal; do not give occupancy, RevPAM, or optimal-price advice."},{"intent":"find_visible_promotions","when_user_asks":["storage specials","promos","discounts"],"use_endpoint":"https://storageprices.au/agent-data/promos?suburb={suburb}&state={state}&size_bracket={size_bracket}","then":"Mention only visible public promo text and whether promo duration is known."}],"answer_selection":{"prefer_structured_json_for":["ranked rows","price comparisons","operator benchmark classification"],"prefer_markdown_snapshot_for":["answer-engine citation","suburb overview","quoteable market summary"],"if_no_rows":"Say insufficient observed public data; do not infer no supply or no availability."},"never_claim":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement","best unit for a user's personal needs","optimal operator price","complete market coverage"],"entrypoints":{"site_summary":"https://storageprices.au/agent-data/site-summary","search":"https://storageprices.au/agent-data/search?query={query}","suburb_detail_json":"https://storageprices.au/agent-data/suburb/{state}/{slug}","suburb_snapshot_markdown":"https://storageprices.au/agent-data/suburb/{state}/{slug}.md","cheapest_prices":"https://storageprices.au/agent-data/cheapest?suburb={suburb}&state={state}&size_bracket={size_bracket}","best_value":"https://storageprices.au/agent-data/best-value?suburb={suburb}&state={state}&size_bracket={size_bracket}","compare_prices":"https://storageprices.au/agent-data/compare-prices?suburb={suburb}&state={state}&size_bracket={size_bracket}","operator_benchmark":"https://storageprices.au/agent-data/operator-benchmark?suburb={suburb}&state={state}&size_bracket={size_bracket}&advertised_monthly_price_aud={price}","visible_promos":"https://storageprices.au/agent-data/promos?suburb={suburb}&state={state}&size_bracket={size_bracket}"}},"x-agent-operator-benchmark-usage":{"primary_user_intent":"A storage operator asks whether their advertised monthly rate looks under market.","best_endpoint":"https://storageprices.au/agent-data/operator-benchmark","when_to_use":["User asks 'am I undercharging?', 'is this storage rate cheap/dear?', or 'how does my facility compare?'","User supplies or can supply a suburb/state plus unit size bracket and advertised monthly price","User wants a concise public-data benchmark rather than a booking or revenue-management workflow"],"minimum_inputs":["suburb","state"],"preferred_inputs":["suburb","state","size_bracket","advertised_monthly_price_aud"],"optional_target_inputs":["provider","facility"],"interpretation":{"below_market":"Target is more than 5% below the observed local median; describe as a possible undercharging signal.","market_aligned":"Target is within ±5% of the observed local median; describe as broadly aligned.","above_market":"Target is more than 5% above the observed local median; describe as above observed public market.","insufficient_data":"Do not infer market position; ask for a narrower size/market or cite insufficient observations."},"safe_answer_template":"According to StoragePrices.au, the supplied advertised monthly rate is {status} versus the observed local median for {suburb} {state} {size_bracket}. Treat this as a public advertised-rate benchmark, not live availability or revenue-management advice.","do_not_claim":["real-time availability or final transaction price","occupancy, demand, RevPAM, or optimal price","provider endorsement or complete market coverage"]},"x-agent-response-contract":{"common_json_fields":["citation_url","data_freshness","limitations","usage_policy"],"currency":"AUD/month unless an endpoint says otherwise","side_effects":"none; public endpoints are read-only","empty_result_semantics":"Empty rows mean no matching observed public row, not proof that no facility, unit, promotion, or market supply exists."},"x-task-shaped-examples":[{"task":"Find cheap small storage near Chatswood","method":"GET","url":"https://storageprices.au/agent-data/cheapest?suburb=Chatswood&state=NSW&size_bracket=small"},{"task":"Compare a local small-unit market","method":"GET","url":"https://storageprices.au/agent-data/compare-prices?suburb=Chatswood&state=NSW&size_bracket=small"},{"task":"Check if a target monthly storage rate may be under market","method":"GET","url":"https://storageprices.au/agent-data/operator-benchmark?suburb=Chatswood&state=NSW&size_bracket=small&advertised_monthly_price_aud=150"},{"task":"Fetch a citable answer-engine snapshot","method":"GET","url":"https://storageprices.au/agent-data/suburb/nsw/chatswood.md"}]},"servers":[{"url":"https://storageprices.au","description":"Canonical public StoragePrices.au read-only API"}],"tags":[{"name":"Agent read layer","description":"Every JSON response carries citation_url, data_freshness, limitations, and usage_policy. All prices are latest-known observed advertised public monthly rates in AUD; do not treat them as real-time availability, guaranteed current prices, bookings, reservations, or provider endorsement."}],"paths":{"/agent-data/capabilities":{"get":{"tags":["Agent read layer"],"operationId":"getStoragePricesAgentCapabilities","summary":"Get intent-to-endpoint routing rules for answer engines.","description":"Use this discovery endpoint before choosing a task endpoint. It maps user intents to safe read-only StoragePrices agent endpoints and disallowed claims.","responses":{"200":{"description":"Capability and intent routing JSON","content":{"application/json":{"schema":{"type":"object"},"examples":{"agent_response":{"summary":"Capability and intent routing JSON","value":{"primary_contract":"Read-only public advertised self-storage pricing observations; no booking, availability, endorsement, suitability, or revenue-management claims.","routing_rules":[{"intent":"resolve_suburb_or_market","when_user_asks":["where is this suburb?","find storage prices near {query}","spell/state ambiguity"],"use_endpoint":"https://storageprices.au/agent-data/search?query={query}","then":"Use suburb_detail_json or suburb_snapshot_markdown before quoting suburb-level figures."},{"intent":"cite_market_snapshot","when_user_asks":["storage prices in {suburb}","market range","facility/provider counts"],"use_endpoint":"https://storageprices.au/agent-data/suburb/{state}/{slug}.md","then":"Quote the citation-ready markdown/JSON summary and link the canonical citation URL."},{"intent":"find_cheapest_observed_price","when_user_asks":["cheapest storage","lowest price","cheap small unit"],"use_endpoint":"https://storageprices.au/agent-data/cheapest?suburb={suburb}&state={state}&size_bracket={size_bracket}","then":"Say cheapest observed advertised price, not best/recommended/available."},{"intent":"compare_local_market","when_user_asks":["compare providers","local price spread","is this facility above market?"],"use_endpoint":"https://storageprices.au/agent-data/compare-prices?suburb={suburb}&state={state}&size_bracket={size_bracket}","then":"Use market_position only when not insufficient_data; preserve caveats."},{"intent":"operator_undercharging_check","when_user_asks":["am I undercharging?","is my advertised rate cheap?","benchmark my storage price"],"use_endpoint":"https://storageprices.au/agent-data/operator-benchmark?suburb={suburb}&state={state}&size_bracket={size_bracket}&advertised_monthly_price_aud={price}","then":"Describe only a public advertised-rate signal; do not give occupancy, RevPAM, or optimal-price advice."},{"intent":"find_visible_promotions","when_user_asks":["storage specials","promos","discounts"],"use_endpoint":"https://storageprices.au/agent-data/promos?suburb={suburb}&state={state}&size_bracket={size_bracket}","then":"Mention only visible public promo text and whether promo duration is known."}],"answer_selection":{"prefer_structured_json_for":["ranked rows","price comparisons","operator benchmark classification"],"prefer_markdown_snapshot_for":["answer-engine citation","suburb overview","quoteable market summary"],"if_no_rows":"Say insufficient observed public data; do not infer no supply or no availability."},"never_claim":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement","best unit for a user's personal needs","optimal operator price","complete market coverage"],"entrypoints":{"site_summary":"https://storageprices.au/agent-data/site-summary","search":"https://storageprices.au/agent-data/search?query={query}","suburb_detail_json":"https://storageprices.au/agent-data/suburb/{state}/{slug}","suburb_snapshot_markdown":"https://storageprices.au/agent-data/suburb/{state}/{slug}.md","cheapest_prices":"https://storageprices.au/agent-data/cheapest?suburb={suburb}&state={state}&size_bracket={size_bracket}","best_value":"https://storageprices.au/agent-data/best-value?suburb={suburb}&state={state}&size_bracket={size_bracket}","compare_prices":"https://storageprices.au/agent-data/compare-prices?suburb={suburb}&state={state}&size_bracket={size_bracket}","operator_benchmark":"https://storageprices.au/agent-data/operator-benchmark?suburb={suburb}&state={state}&size_bracket={size_bracket}&advertised_monthly_price_aud={price}","visible_promos":"https://storageprices.au/agent-data/promos?suburb={suburb}&state={state}&size_bracket={size_bracket}"}}}}}}}}}},"/agent-data/site-summary":{"get":{"tags":["Agent read layer"],"operationId":"getStoragePricesSiteSummary","summary":"Get live coverage, provider, facility, and pricing summary.","description":"Use this first to understand national coverage and freshness before making market-specific claims.","responses":{"200":{"description":"Site summary JSON with coverage, freshness, and usage contract","content":{"application/json":{"schema":{"type":"object"},"examples":{"agent_response":{"summary":"Site summary JSON with coverage, freshness, and usage contract","value":{"currency":"AUD","total_current_priced_providers":13,"total_facilities":660,"total_units":15761,"agent_capabilities":["discover","compare","cite"],"citation_url":"https://storageprices.au/agent-data/site-summary","data_freshness":{"latest_observed":"2026-05-06 11:26:48.070522+00:00","source":"provider website/API scrape","freshness_semantics":"latest-known StoragePrices public observation timestamp where available; not a real-time stock or price guarantee."},"limitations":["Latest-known observed advertised public monthly rates only; not live availability, inventory, or booking data.","Prices, promotions, and unit availability may change after StoragePrices observes them.","Provider confirmation is required before relying on any final transaction price.","Negotiated, phone-only, account-specific, and internal rates are excluded unless publicly visible in the data."],"usage_policy":{"read_only":true,"citation_required":true,"allowed_claims":["latest-known observed advertised monthly rates","provider/facility comparisons based on StoragePrices public observations","observed price ranges and typical price ranges where provided"],"disallowed_claims":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement"],"canonical_citation":"According to StoragePrices.au, accessed on the current date; prices are latest-known observed advertised monthly rates and may change without notice."}}}}}}}}}},"/agent-data/providers":{"get":{"tags":["Agent read layer"],"operationId":"listStoragePriceProviders","summary":"List providers with current advertised public pricing observations.","description":"Provider-level summary only. Do not infer affiliation, endorsement, or full national inventory.","responses":{"200":{"description":"Provider summary JSON","content":{"application/json":{"schema":{"type":"object"},"examples":{"agent_response":{"summary":"Provider summary JSON","value":{"currency":"AUD","count":2,"providers":[{"name":"Kennards Self Storage","slug":"kennards","facility_count":110,"price_min_monthly_aud":89,"price_median_monthly_aud":265,"url":"https://storageprices.au/providers/kennards","data_source":"provider website/API scrape"}],"citation_url":"https://storageprices.au/agent-data/providers","data_freshness":{"latest_observed":"2026-05-06 11:26:48.070522+00:00","source":"provider website/API scrape","freshness_semantics":"latest-known StoragePrices public observation timestamp where available; not a real-time stock or price guarantee."},"limitations":["Latest-known observed advertised public monthly rates only; not live availability, inventory, or booking data.","Prices, promotions, and unit availability may change after StoragePrices observes them.","Provider confirmation is required before relying on any final transaction price.","Negotiated, phone-only, account-specific, and internal rates are excluded unless publicly visible in the data."],"usage_policy":{"read_only":true,"citation_required":true,"allowed_claims":["latest-known observed advertised monthly rates","provider/facility comparisons based on StoragePrices public observations","observed price ranges and typical price ranges where provided"],"disallowed_claims":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement"],"canonical_citation":"According to StoragePrices.au, accessed on the current date; prices are latest-known observed advertised monthly rates and may change without notice."}}}}}}}}}},"/agent-data/cheapest":{"get":{"tags":["Agent read layer"],"operationId":"listCheapestStoragePrices","summary":"List read-only cheapest observed advertised storage prices for matching filters.","description":"Task fit: answer 'what are the cheapest observed advertised units near X?' Requires at least one filter. Results are observations, not booking inventory.","parameters":[{"name":"suburb","in":"query","required":false,"schema":{"type":"string"},"description":"Suburb/local market filter. Use /agent-data/search first when spelling or state is uncertain.","example":"Chatswood"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional Australian state/territory abbreviation; normalised to uppercase when returned.","example":"NSW"},{"name":"size_bracket","in":"query","required":false,"schema":{"type":"string"},"description":"Optional StoragePrices size bucket, e.g. small, medium, large, vehicle, wine, locker.","example":"small"},{"name":"near","in":"query","required":false,"schema":{"type":"string"},"description":"Fallback free-text local area when a suburb is unknown; internally treated like a suburb search term.","example":"Chatswood Chase"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25,"default":10},"description":"Maximum rows returned. Endpoint caps this at 25 even if a larger value is supplied.","example":10}],"responses":{"200":{"description":"Cheapest observed price rows","content":{"application/json":{"schema":{"type":"object"},"examples":{"agent_response":{"summary":"Cheapest observed price rows","value":{"query":{"suburb":"Chatswood","state":"NSW","size_bracket":"small","near":null},"currency":"AUD","limit":10,"price_semantics":"Cheapest means cheapest observed advertised monthly public rate in the matching StoragePrices data; not a guarantee of real-time availability, inventory, or final booking price.","results":[{"rank":1,"facility_name":"Example Storage Chatswood","provider_name":"Example Storage","suburb":"Chatswood","state":"NSW","size_bracket":"small","advertised_monthly_price_aud":99,"observed_at":"2026-05-06 11:26:48.070522+00:00","url":"https://storageprices.au/self-storage/nsw/chatswood/example-example-storage-chatswood/","data_source":"provider website/API scrape"}],"citation_url":"https://storageprices.au/agent-data/cheapest?suburb=Chatswood&state=NSW&size_bracket=small&limit=10","data_freshness":{"latest_observed":"2026-05-06 11:26:48.070522+00:00","source":"provider website/API scrape","freshness_semantics":"latest-known StoragePrices public observation timestamp where available; not a real-time stock or price guarantee."},"limitations":["Latest-known observed advertised public monthly rates only; not live availability, inventory, or booking data.","Prices, promotions, and unit availability may change after StoragePrices observes them.","Provider confirmation is required before relying on any final transaction price.","Negotiated, phone-only, account-specific, and internal rates are excluded unless publicly visible in the data."],"usage_policy":{"read_only":true,"citation_required":true,"allowed_claims":["latest-known observed advertised monthly rates","provider/facility comparisons based on StoragePrices public observations","observed price ranges and typical price ranges where provided"],"disallowed_claims":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement"],"canonical_citation":"According to StoragePrices.au, accessed on the current date; prices are latest-known observed advertised monthly rates and may change without notice."}}}}}}},"400":{"description":"At least one cheapest-price filter is required","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}},"examples":{"error":{"value":{"detail":"At least one of suburb, state, size_bracket, or near is required."}}}}}}}}},"/agent-data/best-value":{"get":{"tags":["Agent read layer"],"operationId":"listBestValueStoragePrices","summary":"List best-value observed storage prices using a transparent ranking rule.","description":"Task fit: answer 'what looks best value near X?' using lowest observed annualised price per square metre where area is known, with safe fallback to monthly price. This is not a recommendation, suitability claim, or availability claim.","parameters":[{"name":"suburb","in":"query","required":false,"schema":{"type":"string"},"description":"Suburb/local market filter. Use /agent-data/search first when spelling or state is uncertain.","example":"Chatswood"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional Australian state/territory abbreviation; normalised to uppercase when returned.","example":"NSW"},{"name":"size_bracket","in":"query","required":false,"schema":{"type":"string"},"description":"Optional StoragePrices size bucket, e.g. small, medium, large, vehicle, wine, locker.","example":"small"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25,"default":10},"description":"Maximum rows returned. Endpoint caps this at 25 even if a larger value is supplied.","example":10}],"responses":{"200":{"description":"Best-value observed price rows","content":{"application/json":{"schema":{"type":"object"},"examples":{"agent_response":{"summary":"Best-value observed price rows","value":{"query":{"suburb":"Chatswood","state":"NSW","size_bracket":"small","near":null},"currency":"AUD","limit":10,"ranking_semantics":{"label":"best_value_observed_public_rate","rule":"Area-known rows rank by lowest observed annualised AUD per square metre; area-unknown rows rank after those by lowest observed monthly AUD.","not_a_claim_of":["personal suitability","unit quality","live availability","booking availability"]},"results":[{"rank":1,"value_rank":1,"facility_name":"Example Storage Chatswood","provider_name":"Example Storage","suburb":"Chatswood","state":"NSW","size_bracket":"small","area_m2":3.0,"advertised_monthly_price_aud":99,"price_per_sqm_annual_aud":396,"ranking_basis":"lowest_observed_price_per_sqm_annual","ranking_explanation":"Ranked by lowest observed annualised AUD per square metre among rows with known unit area.","observed_at":"2026-05-06 11:26:48.070522+00:00","url":"https://storageprices.au/self-storage/nsw/chatswood/example-example-storage-chatswood/","data_source":"provider website/API scrape"}],"citation_url":"https://storageprices.au/agent-data/best-value?suburb=Chatswood&state=NSW&size_bracket=small&limit=10","data_freshness":{"latest_observed":"2026-05-06 11:26:48.070522+00:00","source":"provider website/API scrape","freshness_semantics":"latest-known StoragePrices public observation timestamp where available; not a real-time stock or price guarantee."},"limitations":["Latest-known observed advertised public monthly rates only; not live availability, inventory, or booking data.","Prices, promotions, and unit availability may change after StoragePrices observes them.","Provider confirmation is required before relying on any final transaction price.","Negotiated, phone-only, account-specific, and internal rates are excluded unless publicly visible in the data."],"usage_policy":{"read_only":true,"citation_required":true,"allowed_claims":["latest-known observed advertised monthly rates","provider/facility comparisons based on StoragePrices public observations","observed price ranges and typical price ranges where provided"],"disallowed_claims":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement"],"canonical_citation":"According to StoragePrices.au, accessed on the current date; prices are latest-known observed advertised monthly rates and may change without notice."}}}}}}},"400":{"description":"At least one best-value filter is required","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}},"examples":{"error":{"value":{"detail":"At least one of suburb, state, size_bracket, or near is required."}}}}}}}}},"/agent-data/facilities":{"get":{"tags":["Agent read layer"],"operationId":"listStorageFacilityCandidates","summary":"List read-only facility candidates with latest-known public price observations.","description":"Task fit: identify candidate facilities and current observed price ranges for a filtered market. Requires at least one filter.","parameters":[{"name":"suburb","in":"query","required":false,"schema":{"type":"string"},"description":"Suburb/local market filter. Use /agent-data/search first when spelling or state is uncertain.","example":"Chatswood"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional Australian state/territory abbreviation; normalised to uppercase when returned.","example":"NSW"},{"name":"size_bracket","in":"query","required":false,"schema":{"type":"string"},"description":"Optional StoragePrices size bucket, e.g. small, medium, large, vehicle, wine, locker.","example":"small"},{"name":"provider","in":"query","required":false,"schema":{"type":"string"},"description":"Optional provider slug/name filter. Matching is read-only and never implies affiliation.","example":"kennards"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":25},"description":"Maximum rows returned. Endpoint caps this at 50 even if a larger value is supplied.","example":25}],"responses":{"200":{"description":"Facility candidate JSON","content":{"application/json":{"schema":{"type":"object"},"examples":{"agent_response":{"summary":"Facility candidate JSON","value":{"filters":{"suburb":"Chatswood","state":"NSW","size_bracket":"small","provider":null},"currency":"AUD","count":1,"facilities":[{"facility_name":"Example Storage Chatswood","provider_name":"Example Storage","price_min_monthly":99,"price_median_monthly":185,"current_unit_count":8,"latest_observed":"2026-05-06 11:26:48.070522+00:00","url":"https://storageprices.au/self-storage/nsw/chatswood/example-example-storage-chatswood/"}],"citation_url":"https://storageprices.au/agent-data/facilities?suburb=Chatswood&state=NSW&size_bracket=small&limit=25","data_freshness":{"latest_observed":"2026-05-06 11:26:48.070522+00:00","source":"provider website/API scrape","freshness_semantics":"latest-known StoragePrices public observation timestamp where available; not a real-time stock or price guarantee."},"limitations":["Latest-known observed advertised public monthly rates only; not live availability, inventory, or booking data.","Prices, promotions, and unit availability may change after StoragePrices observes them.","Provider confirmation is required before relying on any final transaction price.","Negotiated, phone-only, account-specific, and internal rates are excluded unless publicly visible in the data."],"usage_policy":{"read_only":true,"citation_required":true,"allowed_claims":["latest-known observed advertised monthly rates","provider/facility comparisons based on StoragePrices public observations","observed price ranges and typical price ranges where provided"],"disallowed_claims":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement"],"canonical_citation":"According to StoragePrices.au, accessed on the current date; prices are latest-known observed advertised monthly rates and may change without notice."}}}}}}},"400":{"description":"At least one facility filter is required","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}},"examples":{"error":{"value":{"detail":"At least one of suburb, state, size_bracket, or provider is required."}}}}}}}}},"/agent-data/compare-prices":{"get":{"tags":["Agent read layer"],"operationId":"compareStoragePrices","summary":"Compare read-only latest-known observed storage prices for a local market/operator benchmark.","description":"Task fit: answer whether a provider/facility appears under or over local observed market pricing. This is a benchmark primitive, not revenue-management advice.","parameters":[{"name":"suburb","in":"query","required":false,"schema":{"type":"string"},"description":"Suburb/local market filter. Use /agent-data/search first when spelling or state is uncertain.","example":"Chatswood"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional Australian state/territory abbreviation; normalised to uppercase when returned.","example":"NSW"},{"name":"size_bracket","in":"query","required":false,"schema":{"type":"string"},"description":"Optional StoragePrices size bucket, e.g. small, medium, large, vehicle, wine, locker.","example":"small"},{"name":"provider","in":"query","required":false,"schema":{"type":"string"},"description":"Optional provider slug/name filter. Matching is read-only and never implies affiliation.","example":"kennards"},{"name":"facility","in":"query","required":false,"schema":{"type":"string"},"description":"Optional facility name/slug to compare against the local observed market.","example":"Example Storage Chatswood"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":25},"description":"Maximum rows returned. Endpoint caps this at 50 even if a larger value is supplied.","example":25}],"responses":{"200":{"description":"Price comparison JSON","content":{"application/json":{"schema":{"type":"object"},"examples":{"agent_response":{"summary":"Price comparison JSON","value":{"query":{"suburb":"Chatswood","state":"NSW","size_bracket":"small","provider":null,"facility":null},"currency":"AUD","summary":{"local_median_monthly_aud":185,"cheapest_monthly_aud":99,"highest_monthly_aud":420,"comparable_unit_count":42,"market_position":"market_aligned","comparison_basis":"market"},"competitors":[{"facility_name":"Example Storage Chatswood","provider_name":"Example Storage","price_monthly_aud":99,"observed_at":"2026-05-06 11:26:48.070522+00:00","url":"https://storageprices.au/self-storage/nsw/chatswood/example-example-storage-chatswood/"}],"citation_url":"https://storageprices.au/agent-data/compare-prices?suburb=Chatswood&state=NSW&size_bracket=small&limit=25","data_freshness":{"latest_observed":"2026-05-06 11:26:48.070522+00:00","source":"provider website/API scrape","freshness_semantics":"latest-known StoragePrices public observation timestamp where available; not a real-time stock or price guarantee."},"limitations":["Latest-known observed advertised public monthly rates only; not live availability, inventory, or booking data.","Prices, promotions, and unit availability may change after StoragePrices observes them.","Provider confirmation is required before relying on any final transaction price.","Negotiated, phone-only, account-specific, and internal rates are excluded unless publicly visible in the data."],"usage_policy":{"read_only":true,"citation_required":true,"allowed_claims":["latest-known observed advertised monthly rates","provider/facility comparisons based on StoragePrices public observations","observed price ranges and typical price ranges where provided"],"disallowed_claims":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement"],"canonical_citation":"According to StoragePrices.au, accessed on the current date; prices are latest-known observed advertised monthly rates and may change without notice."}}}}}}},"400":{"description":"At least one comparison filter is required","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}},"examples":{"error":{"value":{"detail":"At least one of suburb, state, size_bracket, provider, or facility is required."}}}}}}}}},"/agent-data/operator-benchmark":{"get":{"tags":["Agent read layer"],"operationId":"benchmarkStorageOperatorRate","x-agent-primary-intent":"operator_undercharging_check","x-agent-llm-usage-guide":{"primary_user_intent":"A storage operator asks whether their advertised monthly rate looks under market.","best_endpoint":"https://storageprices.au/agent-data/operator-benchmark","when_to_use":["User asks 'am I undercharging?', 'is this storage rate cheap/dear?', or 'how does my facility compare?'","User supplies or can supply a suburb/state plus unit size bracket and advertised monthly price","User wants a concise public-data benchmark rather than a booking or revenue-management workflow"],"minimum_inputs":["suburb","state"],"preferred_inputs":["suburb","state","size_bracket","advertised_monthly_price_aud"],"optional_target_inputs":["provider","facility"],"interpretation":{"below_market":"Target is more than 5% below the observed local median; describe as a possible undercharging signal.","market_aligned":"Target is within ±5% of the observed local median; describe as broadly aligned.","above_market":"Target is more than 5% above the observed local median; describe as above observed public market.","insufficient_data":"Do not infer market position; ask for a narrower size/market or cite insufficient observations."},"safe_answer_template":"According to StoragePrices.au, the supplied advertised monthly rate is {status} versus the observed local median for {suburb} {state} {size_bracket}. Treat this as a public advertised-rate benchmark, not live availability or revenue-management advice.","do_not_claim":["real-time availability or final transaction price","occupancy, demand, RevPAM, or optimal price","provider endorsement or complete market coverage"]},"summary":"Answer the operator wedge: are you undercharging for storage?","description":"Task fit: benchmark a public advertised monthly rate, provider, or facility against latest-known observed local market rates. This is a public-rate signal, not occupancy, demand, RevPAM, live availability, or revenue-management advice.","parameters":[{"name":"suburb","in":"query","required":true,"schema":{"type":"string"},"description":"Required suburb/local market for the operator benchmark. Use /agent-data/search first when spelling or state is uncertain.","example":"Chatswood"},{"name":"state","in":"query","required":true,"schema":{"type":"string"},"description":"Required Australian state/territory abbreviation; normalised to uppercase when returned.","example":"NSW"},{"name":"size_bracket","in":"query","required":false,"schema":{"type":"string"},"description":"Optional StoragePrices size bucket, e.g. small, medium, large, vehicle, wine, locker.","example":"small"},{"name":"provider","in":"query","required":false,"schema":{"type":"string"},"description":"Optional provider slug/name filter. Matching is read-only and never implies affiliation.","example":"kennards"},{"name":"facility","in":"query","required":false,"schema":{"type":"string"},"description":"Optional target facility name/slug to classify against the local observed market.","example":"Example Storage Chatswood"},{"name":"advertised_monthly_price_aud","in":"query","required":false,"schema":{"type":"number","exclusiveMinimum":0},"description":"Optional target public advertised monthly price to classify against the observed local median.","example":150},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":25},"description":"Maximum rows returned. Endpoint caps this at 50 even if a larger value is supplied.","example":25}],"responses":{"200":{"description":"Operator benchmark JSON","content":{"application/json":{"schema":{"type":"object"},"examples":{"agent_response":{"summary":"Operator benchmark JSON","value":{"query":{"suburb":"Chatswood","state":"NSW","size_bracket":"small","provider":null,"facility":null,"advertised_monthly_price_aud":150},"currency":"AUD","benchmark_question":"Are you undercharging for storage?","market":{"suburb":"Chatswood","state":"NSW","canonical_suburb_url":"https://storageprices.au/self-storage/nsw/chatswood/","observed_unit_count":42,"observed_facility_count":8,"observed_size_bracket_count":1},"size_bracket_benchmarks":[{"size_bracket":"small","comparable_observation_count":42,"comparable_facility_count":8,"low_advertised_monthly_price_aud":99,"median_advertised_monthly_price_aud":185,"high_advertised_monthly_price_aud":420,"interquartile_range_monthly_aud":null,"latest_observed":"2026-05-04T21:54:33Z"}],"target_position":{"basis":"advertised_monthly_price_aud","status":"below_market","advertised_monthly_price_aud":150,"benchmark_median_monthly_aud":185,"distance_from_median_monthly_aud":-35,"distance_from_median_pct":-18.9},"operator_summary":"The supplied target appears below the local observed median for Chatswood NSW small; that is a possible undercharging signal, not pricing advice.","llm_usage_guide":{"primary_user_intent":"A storage operator asks whether their advertised monthly rate looks under market.","best_endpoint":"/agent-data/operator-benchmark","when_to_use":["User asks 'am I undercharging?', 'is this storage rate cheap/dear?', or 'how does my facility compare?'","User supplies or can supply a suburb/state plus unit size bracket and advertised monthly price","User wants a concise public-data benchmark rather than a booking or revenue-management workflow"],"minimum_inputs":["suburb","state"],"preferred_inputs":["suburb","state","size_bracket","advertised_monthly_price_aud"],"optional_target_inputs":["provider","facility"],"interpretation":{"below_market":"Target is more than 5% below the observed local median; describe as a possible undercharging signal.","market_aligned":"Target is within ±5% of the observed local median; describe as broadly aligned.","above_market":"Target is more than 5% above the observed local median; describe as above observed public market.","insufficient_data":"Do not infer market position; ask for a narrower size/market or cite insufficient observations."},"safe_answer_template":"According to StoragePrices.au, the supplied advertised monthly rate is {status} versus the observed local median for {suburb} {state} {size_bracket}. Treat this as a public advertised-rate benchmark, not live availability or revenue-management advice.","do_not_claim":["real-time availability or final transaction price","occupancy, demand, RevPAM, or optimal price","provider endorsement or complete market coverage"]},"recommended_next_question":"Which unit size and publicly advertised monthly price are you testing?","citation_url":"https://storageprices.au/agent-data/operator-benchmark?suburb=Chatswood&state=NSW&size_bracket=small&advertised_monthly_price_aud=150&limit=25","data_freshness":{"latest_observed":"2026-05-06 11:26:48.070522+00:00","source":"provider website/API scrape","freshness_semantics":"latest-known StoragePrices public observation timestamp where available; not a real-time stock or price guarantee."},"limitations":["Latest-known observed advertised public monthly rates only; not live availability, inventory, or booking data.","Prices, promotions, and unit availability may change after StoragePrices observes them.","Provider confirmation is required before relying on any final transaction price.","Negotiated, phone-only, account-specific, and internal rates are excluded unless publicly visible in the data."],"usage_policy":{"read_only":true,"citation_required":true,"allowed_claims":["latest-known observed advertised monthly rates","provider/facility comparisons based on StoragePrices public observations","observed price ranges and typical price ranges where provided"],"disallowed_claims":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement"],"canonical_citation":"According to StoragePrices.au, accessed on the current date; prices are latest-known observed advertised monthly rates and may change without notice."}}}}}}},"422":{"description":"Required suburb/state or positive advertised price validation failed","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}},"examples":{"error":{"value":{"detail":"Field required"}}}}}}}}},"/agent-data/promos":{"get":{"tags":["Agent read layer"],"operationId":"listVisibleStoragePromos","summary":"List read-only visible public promotions for matching storage price filters.","description":"Task fit: identify visible public promo text observed during scraping. Promo duration may be unknown and offer validity is not guaranteed.","parameters":[{"name":"suburb","in":"query","required":false,"schema":{"type":"string"},"description":"Suburb/local market filter. Use /agent-data/search first when spelling or state is uncertain.","example":"Chatswood"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional Australian state/territory abbreviation; normalised to uppercase when returned.","example":"NSW"},{"name":"size_bracket","in":"query","required":false,"schema":{"type":"string"},"description":"Optional StoragePrices size bucket, e.g. small, medium, large, vehicle, wine, locker.","example":"small"},{"name":"provider","in":"query","required":false,"schema":{"type":"string"},"description":"Optional provider slug/name filter. Matching is read-only and never implies affiliation.","example":"kennards"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25,"default":10},"description":"Maximum rows returned. Endpoint caps this at 25 even if a larger value is supplied.","example":10}],"responses":{"200":{"description":"Visible public promotion rows","content":{"application/json":{"schema":{"type":"object"},"examples":{"agent_response":{"summary":"Visible public promotion rows","value":{"query":{"suburb":"Chatswood","state":"NSW","size_bracket":"small","provider":null},"currency":"AUD","promo_semantics":{"visible_promo_text":"Public promotion text visible at observation time; not an entitlement or guarantee."},"promos":[{"facility_name":"Example Storage Chatswood","provider_name":"Example Storage","visible_promo_text":"50% off first month","promo_duration_known":true,"advertised_monthly_price_aud":99,"observed_at":"2026-05-06 11:26:48.070522+00:00","url":"https://storageprices.au/self-storage/nsw/chatswood/example-example-storage-chatswood/"}],"citation_url":"https://storageprices.au/agent-data/promos?suburb=Chatswood&state=NSW&size_bracket=small&limit=10","data_freshness":{"latest_observed":"2026-05-06 11:26:48.070522+00:00","source":"provider website/API scrape","freshness_semantics":"latest-known StoragePrices public observation timestamp where available; not a real-time stock or price guarantee."},"limitations":["Latest-known observed advertised public monthly rates only; not live availability, inventory, or booking data.","Prices, promotions, and unit availability may change after StoragePrices observes them.","Provider confirmation is required before relying on any final transaction price.","Negotiated, phone-only, account-specific, and internal rates are excluded unless publicly visible in the data."],"usage_policy":{"read_only":true,"citation_required":true,"allowed_claims":["latest-known observed advertised monthly rates","provider/facility comparisons based on StoragePrices public observations","observed price ranges and typical price ranges where provided"],"disallowed_claims":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement"],"canonical_citation":"According to StoragePrices.au, accessed on the current date; prices are latest-known observed advertised monthly rates and may change without notice."}}}}}}},"400":{"description":"At least one promo filter is required","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}},"examples":{"error":{"value":{"detail":"At least one of suburb, state, size_bracket, or provider is required."}}}}}}}}},"/agent-data/search":{"get":{"tags":["Agent read layer"],"operationId":"searchStorageSuburbs","summary":"Search published self-storage suburb comparison pages.","description":"Use this as the discovery step before calling suburb detail endpoints when suburb spelling/state is uncertain.","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"},"description":"Suburb, city, or partial local-market search string.","example":"Chatswood"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"Optional Australian state/territory abbreviation; normalised to uppercase when returned.","example":"NSW"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":10},"description":"Maximum suburb matches returned.","example":10}],"responses":{"200":{"description":"Matching published suburb pages","content":{"application/json":{"schema":{"type":"object"},"examples":{"agent_response":{"summary":"Matching published suburb pages","value":{"query":"Chatswood","state":"NSW","count":1,"limit":10,"results":[{"suburb":"Chatswood","state":"NSW","slug":"chatswood","facility_count":25,"provider_count":8,"url":"https://storageprices.au/self-storage/nsw/chatswood/","agent_data_url":"https://storageprices.au/agent-data/suburb/nsw/chatswood"}],"citation_url":"https://storageprices.au/agent-data/search?query=Chatswood&state=NSW&limit=10","data_freshness":{"latest_observed":null,"source":"provider website/API scrape","freshness_semantics":"latest-known StoragePrices public observation timestamp where available; not a real-time stock or price guarantee."},"limitations":["Latest-known observed advertised public monthly rates only; not live availability, inventory, or booking data.","Prices, promotions, and unit availability may change after StoragePrices observes them.","Provider confirmation is required before relying on any final transaction price.","Negotiated, phone-only, account-specific, and internal rates are excluded unless publicly visible in the data."],"usage_policy":{"read_only":true,"citation_required":true,"allowed_claims":["latest-known observed advertised monthly rates","provider/facility comparisons based on StoragePrices public observations","observed price ranges and typical price ranges where provided"],"disallowed_claims":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement"],"canonical_citation":"According to StoragePrices.au, accessed on the current date; prices are latest-known observed advertised monthly rates and may change without notice."}}}}}}}}}},"/agent-data/suburbs":{"get":{"tags":["Agent read layer"],"operationId":"listStorageSuburbs","summary":"List published suburb comparison pages as JSON.","description":"Use this for crawl/discovery jobs that prefer structured JSON over sitemap XML.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":1000,"default":500},"description":"Maximum published suburb rows returned.","example":500}],"responses":{"200":{"description":"Published suburb list","content":{"application/json":{"schema":{"type":"object"},"examples":{"agent_response":{"summary":"Published suburb list","value":{"count":1,"limit":500,"results":[{"suburb":"Chatswood","state":"NSW","slug":"chatswood","url":"https://storageprices.au/self-storage/nsw/chatswood/","agent_data_url":"https://storageprices.au/agent-data/suburb/nsw/chatswood"}],"citation_url":"https://storageprices.au/agent-data/suburbs?limit=500","data_freshness":{"latest_observed":null,"source":"provider website/API scrape","freshness_semantics":"latest-known StoragePrices public observation timestamp where available; not a real-time stock or price guarantee."},"limitations":["Latest-known observed advertised public monthly rates only; not live availability, inventory, or booking data.","Prices, promotions, and unit availability may change after StoragePrices observes them.","Provider confirmation is required before relying on any final transaction price.","Negotiated, phone-only, account-specific, and internal rates are excluded unless publicly visible in the data."],"usage_policy":{"read_only":true,"citation_required":true,"allowed_claims":["latest-known observed advertised monthly rates","provider/facility comparisons based on StoragePrices public observations","observed price ranges and typical price ranges where provided"],"disallowed_claims":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement"],"canonical_citation":"According to StoragePrices.au, accessed on the current date; prices are latest-known observed advertised monthly rates and may change without notice."}}}}}}}}}},"/agent-data/suburb/{state}/{slug}.md":{"get":{"tags":["Agent read layer"],"operationId":"getSuburbMarkdownSnapshot","summary":"Get a citable markdown suburb pricing snapshot for agents.","description":"Best endpoint for answer engines that need concise, source-linkable prose and tables without JSON post-processing.","parameters":[{"name":"state","in":"path","required":true,"schema":{"type":"string"},"description":"Lowercase state abbreviation in the canonical suburb URL.","example":"nsw"},{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"Canonical suburb slug from /agent-data/search or /agent-data/suburbs.","example":"chatswood"}],"responses":{"200":{"description":"Markdown suburb pricing snapshot","content":{"text/markdown":{"schema":{"type":"string"},"examples":{"agent_markdown":{"summary":"Markdown suburb pricing snapshot","value":"# Chatswood NSW self-storage pricing snapshot\n\n## Citation\n\n- Canonical page: [https://storageprices.au/self-storage/nsw/chatswood/](https://storageprices.au/self-storage/nsw/chatswood/)\n- Agent JSON: [https://storageprices.au/agent-data/suburb/nsw/chatswood](https://storageprices.au/agent-data/suburb/nsw/chatswood)\n- Markdown snapshot: [https://storageprices.au/agent-data/suburb/nsw/chatswood.md](https://storageprices.au/agent-data/suburb/nsw/chatswood.md)\n- Last updated: 2026-05-06 11:26:48.070522+00:00\n- Currency: AUD/month\n- Price basis: latest-known observed advertised public monthly rates; not live availability or booking data.\n\n## Quoteable summary\n\n> Current advertised public self-storage pricing snapshot.\n\n## Key facts\n\n- Facility count: 25\n- Provider count: 8\n- Observed unit count: 302\n- Observed monthly price range: AUD 99–650\n\n## Price by size bracket\n\n| Size bracket | Observed units | Cheapest AUD/month | Highest AUD/month |\n| --- | ---: | ---: | ---: |\n| Small | 72 | 99 | 420 |\n\n## Usage contract\n\n- Cite StoragePrices.au and link the canonical page or markdown snapshot when using these figures.\n- Treat prices as observed advertised public rates, not guaranteed current price or final transaction price.\n- Do not claim real-time availability, inventory, booking confirmation, or provider endorsement.\n"}}}}},"404":{"description":"Suburb not found","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}},"examples":{"error":{"value":{"detail":"Suburb not found"}}}}}},"503":{"description":"Pricing data temporarily unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}},"examples":{"error":{"value":{"detail":"Pricing data temporarily unavailable"}}}}}}}}},"/agent-data/suburb/{state}/{slug}":{"get":{"tags":["Agent read layer"],"operationId":"getStorageSuburbPrices","summary":"Get compact current price ranges, brackets, and facilities for one suburb.","description":"Best structured endpoint for citing a specific suburb market. Pair with the markdown snapshot when answer engines need prose.","parameters":[{"name":"state","in":"path","required":true,"schema":{"type":"string"},"description":"Lowercase state abbreviation in the canonical suburb URL.","example":"nsw"},{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"Canonical suburb slug from /agent-data/search or /agent-data/suburbs.","example":"chatswood"}],"responses":{"200":{"description":"Suburb pricing summary","content":{"application/json":{"schema":{"type":"object"},"examples":{"agent_response":{"summary":"Suburb pricing summary","value":{"suburb":"Chatswood","state":"NSW","url":"https://storageprices.au/self-storage/nsw/chatswood/","facility_count":25,"provider_count":8,"total_units":302,"observed_price_range_monthly_aud":{"min":99,"max":650},"brackets":{"small":{"label":"Small","unit_count":42,"cheapest_monthly_aud":99}},"facilities":[{"name":"Example Storage Chatswood","provider_label":"Example Storage","price_low_monthly_aud":99,"price_high_monthly_aud":420,"distance_km":1.2,"url":"https://storageprices.au/self-storage/nsw/chatswood/example-example-storage-chatswood/"}],"markdown_citation_url":"https://storageprices.au/agent-data/suburb/nsw/chatswood.md","citation_url":"https://storageprices.au/agent-data/suburb/nsw/chatswood","data_freshness":{"latest_observed":"2026-05-06 11:26:48.070522+00:00","source":"provider website/API scrape","freshness_semantics":"latest-known StoragePrices public observation timestamp where available; not a real-time stock or price guarantee."},"limitations":["Latest-known observed advertised public monthly rates only; not live availability, inventory, or booking data.","Prices, promotions, and unit availability may change after StoragePrices observes them.","Provider confirmation is required before relying on any final transaction price.","Negotiated, phone-only, account-specific, and internal rates are excluded unless publicly visible in the data."],"usage_policy":{"read_only":true,"citation_required":true,"allowed_claims":["latest-known observed advertised monthly rates","provider/facility comparisons based on StoragePrices public observations","observed price ranges and typical price ranges where provided"],"disallowed_claims":["real-time availability","guaranteed current price","booking/reservation completion","provider affiliation or endorsement"],"canonical_citation":"According to StoragePrices.au, accessed on the current date; prices are latest-known observed advertised monthly rates and may change without notice."}}}}}}},"404":{"description":"Suburb not found","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}},"examples":{"error":{"value":{"detail":"Suburb not found"}}}}}},"503":{"description":"Pricing data temporarily unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}},"examples":{"error":{"value":{"detail":"Pricing data temporarily unavailable"}}}}}}}}}}}