For Agents
Upload, list, update, and delete user-contributed 360 photos and photo sequences on Google Maps Street View. Batch endpoints handle many photos in one call.
Get started with Street View Publish API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"upload a 360 photo to Street View"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Street View Publish API API.
Upload a 360 photo via the startUpload session and create-photo flow
Upload a 360 photo sequence (e.g. driven route) via startUpload for sequences
List, get, update, and delete a single 360 photo on Google Maps
Batch get, update, or delete many photos with one call
GET STARTED
Use for: I want to upload a 360 photo to Google Maps, Upload an entire 360 photo sequence captured on a drive, List all the 360 photos I have published, Delete a 360 photo I uploaded by mistake
Not supported: Does not render maps, geocode addresses, or browse third-party Street View imagery — use for publishing and managing your own 360 photos on Google Maps only.
The Street View Publish API lets developers and AI agents upload, list, update, and delete user-contributed 360 photos and photo sequences on Google Maps. Single 360 photos and ordered photo sequences are uploaded via a startUpload-then-create flow that returns an upload URL the client streams content into. The API exposes batch operations for retrieving, updating, and deleting many photos at once, and supports attaching metadata such as capture time, place IDs, and connections that link adjacent photos.
Attach metadata — capture time, place IDs, heading — to a photo
Connect adjacent photos to enable navigation between them in Street View
Patterns agents use Street View Publish API API for, with concrete tasks.
★ Tourism Operator 360 Tours
A tourism operator publishes 360 photos of guided tour stops to Google Maps so prospective visitors can preview each location. The Street View Publish API exposes photo:startUpload to obtain an upload URL, then photo POST to register the uploaded image with capture time, lat/lng, and place ID metadata so the photo appears on the right map listing.
POST /v1/photo:startUpload, stream the JPEG to the returned URL, then POST /v1/photo with the upload reference, captureTime, and placeIds=['ChIJabc'].
Vehicle-Captured Sequence Upload
A surveyor uploads a continuous 360 photo sequence captured from a roof-mounted rig along a driven route. The Street View Publish API exposes photoSequence:startUpload to allocate a sequence-scoped upload URL, after which POST /v1/photoSequence registers the sequence with route metadata. Long-running processing happens server-side and is polled via GET /v1/photoSequence/{sequenceId}.
POST /v1/photoSequence:startUpload, upload the GPMF-tagged video, POST /v1/photoSequence with the upload reference, then poll GET /v1/photoSequence/{sequenceId} until processing completes.
Bulk Place ID Re-Tagging
Re-tag a backlog of previously uploaded 360 photos with corrected Google Place IDs after a place merge. The API exposes POST /v1/photos:batchUpdate, which accepts up to 20 photo updates per call so the entire backlog can be re-tagged with a small number of batched requests.
POST /v1/photos:batchUpdate with updatePhotoRequests=[{photo: {photoId: 'p1', places: [{placeId: 'ChIJxyz'}]}, updateMask: 'places'}, ...].
AI Agent 360 Photo Curation
An AI agent assigned to curate a customer's published 360 photo set lists the customer's photos via Jentic, identifies any that lack place IDs, then issues a batch update to enrich them. Through Jentic, the agent searches for the photos.list and photos.batchUpdate operations, loads each schema, and executes — credentials never enter the agent context.
Search Jentic for 'list my Street View photos', call GET /v1/photos, identify those with no places set, then POST /v1/photos:batchUpdate to attach the resolved place IDs.
14 endpoints — the street view publish api lets developers and ai agents upload, list, update, and delete user-contributed 360 photos and photo sequences on google maps.
METHOD
PATH
DESCRIPTION
/v1/photo:startUpload
Start an upload session for a 360 photo
/v1/photo
Create a 360 photo record from an uploaded asset
/v1/photo/{photoId}
Get a 360 photo by ID
/v1/photos
List the caller's 360 photos
/v1/photos:batchUpdate
Batch update many photos in one call
/v1/photos:batchDelete
Batch delete many photos in one call
/v1/photoSequence:startUpload
Start an upload session for a 360 photo sequence
/v1/photoSequence
Create a 360 photo sequence record from an uploaded asset
/v1/photo:startUpload
Start an upload session for a 360 photo
/v1/photo
Create a 360 photo record from an uploaded asset
/v1/photo/{photoId}
Get a 360 photo by ID
/v1/photos
List the caller's 360 photos
/v1/photos:batchUpdate
Batch update many photos in one call
Three things that make agents converge on Jentic-routed access.
Credential isolation
Street View Publish OAuth credentials are stored in the Jentic vault (MAXsystem) and exchanged for scoped, short-lived access tokens on each call. User refresh tokens never enter the agent context.
Intent-based discovery
Agents search Jentic with intents like 'upload a 360 photo to Street View' or 'list my Street View photos', and Jentic returns the matching photo:startUpload, photo create, or photos.list operation along with its request schema.
Time to first call
Direct Street View Publish integration: 1-2 days to wire OAuth, the two-step upload flow, and metadata fields. Through Jentic: under 30 minutes to discover and execute the upload pair.
Alternatives and complements available in the Jentic catalogue.
Google Places API
Places returns the place IDs that Street View Publish photos can be tagged with.
Use Places to look up the canonical place ID for a location before tagging a Street View photo with it via batchUpdate.
Google Drive API
Drive can store the source 360 JPEGs and videos before they are streamed to a Street View upload URL.
Use Drive to fetch the user's authorised source media, then stream it to the upload URL returned by photo:startUpload.
Cloud Storage JSON API
Cloud Storage holds raw 360 media for backend pipelines; Street View Publish exposes only public Google Maps publishing.
Use Cloud Storage when you only need to store and serve 360 content yourself. Use Street View Publish when the goal is for those photos to appear on Google Maps.
Specific to using Street View Publish API API through Jentic.
What authentication does the Street View Publish API use?
The Street View Publish API uses OAuth 2.0 with the streetviewpublish scope, on behalf of the user that owns the published photos. Through Jentic, OAuth credentials are stored in the Jentic vault (MAXsystem) and exchanged for short-lived access tokens, so refresh tokens never enter the agent context.
Can I upload a 360 photo with the Street View Publish API?
Yes. The flow is two calls: POST /v1/photo:startUpload returns an upload URL the client streams the JPEG to; then POST /v1/photo with the upload reference plus metadata (captureTime, lat/lng, place IDs) registers the photo on Google Maps.
What are the rate limits for the Street View Publish API?
Default project quotas allow several hundred requests per minute, with batch endpoints accepting up to 20 photos per call to keep large updates within budget. Quotas can be inspected and raised in the Google Cloud Console under IAM and admin > Quotas.
How do I publish a 360 photo through Jentic?
Search Jentic for 'upload a 360 photo to Street View', load the photo:startUpload and photo create schemas, and execute. The agent first calls POST /v1/photo:startUpload, streams the photo to the returned URL, then calls POST /v1/photo with the upload reference and capture metadata.
Is the Street View Publish API free?
The API is free to use for accounts publishing their own 360 content to Google Maps. Standard Google Cloud project quotas apply. There is no per-photo or per-call charge.
Can I upload a video sequence rather than individual photos?
Yes. POST /v1/photoSequence:startUpload allocates an upload URL for a sequence (e.g. a 360 video with GPMF telemetry from a driven route). After the content is uploaded, POST /v1/photoSequence registers the sequence and Google processes it server-side into discrete connected photos.
/v1/photos:batchDelete
Batch delete many photos in one call
/v1/photoSequence:startUpload
Start an upload session for a 360 photo sequence
/v1/photoSequence
Create a 360 photo sequence record from an uploaded asset