Documentation
Embed 3D Tours on Your Website
Add immersive Gaussian Splatting property tours to any website with a few lines of code. No build tools required.
Getting Started
Every published property in GaussianView gets an embeddable tour. To embed a tour on your website:
- Go to your property dashboard and make sure the property is published with an uploaded 3D tour file.
- Open the property's edit page — you'll see an Embed Widget card with ready-to-copy code.
- Paste the code into your website's HTML where you want the tour to appear.
There are two embedding methods: iframe (simplest) and script (more flexible). Both are shown below.
iframe Embed
The simplest way to embed a tour. Paste the iframe tag directly into your HTML. Replace YOUR_PROPERTY_ID with your property's ID.
<iframe
src="https://gaussianview.com/embed/YOUR_PROPERTY_ID"
width="100%"
height="500"
style="border:none;border-radius:8px"
allowfullscreen
allow="accelerometer; gyroscope; cross-origin-isolated"
loading="lazy"
title="3D Tour"
></iframe>Script Embed
The script method auto-creates iframes from data-gaussianview attributes. Useful when you want to control sizing via data attributes or embed multiple tours with a single script tag.
<div
data-gaussianview="YOUR_PROPERTY_ID"
data-width="100%"
data-height="500px"
></div>
<script src="https://gaussianview.com/embed.js" defer></script>Multiple Tours
To embed multiple tours on the same page, use the script method. Add a data-gaussianview div for each property and include the script only once.
<div data-gaussianview="PROPERTY_ID_1" data-height="400px"></div>
<div data-gaussianview="PROPERTY_ID_2" data-height="400px"></div>
<!-- Only include the script once -->
<script src="https://gaussianview.com/embed.js" defer></script>Customization
Style the embed with standard CSS. The iframe has a transparent background, so wrapping it in a styled container works well.
<div style="max-width:800px;margin:0 auto">
<iframe
src="https://gaussianview.com/embed/YOUR_PROPERTY_ID"
width="100%"
height="600"
style="border:none;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,0.12)"
allowfullscreen
allow="accelerometer; gyroscope; cross-origin-isolated"
loading="lazy"
title="3D Tour"
></iframe>
</div>Responsive Layout
For a responsive 16:9 aspect ratio that scales with the viewport, use the padding-bottom trick:
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden">
<iframe
src="https://gaussianview.com/embed/YOUR_PROPERTY_ID"
style="position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:8px"
allowfullscreen
allow="accelerometer; gyroscope; cross-origin-isolated"
loading="lazy"
title="3D Tour"
></iframe>
</div>Attributes Reference
When using the script embed method, these data attributes control the widget:
| Attribute | Required | Default | Description |
|---|---|---|---|
data-gaussianview | Yes | — | The property ID to display |
data-width | No | 100% | Width of the embed (CSS value) |
data-height | No | 500px | Height of the embed (CSS value) |
Viewer Controls
Once a visitor clicks "Click to Enter Tour", they can navigate the space with these controls:
Requirements
- The property must be published and have an uploaded 3D tour file (.splat, .ply, or .ksplat).
- The visitor's browser must support WebGL 2.0 (all modern browsers).
REST API
REST API
The GaussianView REST API lets you access your property data programmatically. Use it to build custom integrations, sync listings, or display property information in your own applications.
Base URL: https://gaussianview.com/api/v1
API Authentication
All API requests must include your API key in the Authorization header as a Bearer token. You can create and manage API keys from your dashboard.
curl -H "Authorization: Bearer gv_your_api_key" \
https://gaussianview.com/api/v1/properties- API keys begin with
gv_ - Keep your API key secret — never expose it in client-side code
- Revoked keys return
401 Unauthorized
GET /api/v1/properties
Returns all properties belonging to your firm, ordered by creation date (newest first).
| Field | Type | Description |
|---|---|---|
id | string | Unique property ID (UUID) |
title | string | Property title |
address | string | null | Street address |
city | string | null | City |
state | string | null | State |
zip | string | null | ZIP code |
status | string | "draft" | "published" | "archived" |
bedrooms | number | null | Number of bedrooms |
bathrooms | number | null | Number of bathrooms |
sqft | number | null | Square footage |
price | number | null | Price in cents |
thumbnail_url | string | null | Thumbnail image URL |
splat_file_url | string | null | 3D tour file URL |
created_at | string | ISO 8601 timestamp |
updated_at | string | ISO 8601 timestamp |
Example response:
{
"data": [
{
"id": "uuid-1234-5678",
"title": "Modern Downtown Loft",
"address": "123 Main St",
"city": "San Francisco",
"state": "CA",
"zip": "94102",
"status": "published",
"bedrooms": 2,
"bathrooms": 1,
"sqft": 1200,
"price": 85000000,
"thumbnail_url": "https://...",
"splat_file_url": "https://...",
"created_at": "2026-03-15T10:30:00Z",
"updated_at": "2026-04-01T14:20:00Z"
}
],
"count": 1
}