Photos via API.
Real places. Real time.
Order fresh geotagged photography programmatically. AI-verified, structured metadata, delivered in hours. Build websites, apps, and dashboards with current visual data — not stale stock archives.
Built for developers
Everything you need to integrate real-world photography into your applications.
Fast Delivery
Most missions complete within 4-48 hours. Real-time status updates via webhooks. No scheduling, no travel coordination.
AI Verification
Every photo is checked by AI for location accuracy, angle match, quality, and obstructions. Failed photos are automatically retaken.
Recurring Missions
Set up monthly, weekly, or daily photo updates. Seasonal adjustments. Automatic pause for holidays or extreme weather.
Structured Data
Every photo includes GPS coordinates, timestamp, weather conditions, device info, and optional Landvex AI analysis.
Webhooks
Get notified when missions are assigned, completed, verified, or delivered. Build reactive workflows without polling.
Global Coverage
Zoomer network in 40+ countries. Urban centers have same-day coverage. Remote areas available with flexible timelines.
Quick start
Order your first photos in 3 API calls.
1. Create an order
POST https://api.quixzoom.com/v1/orders Authorization: Bearer qz_live_abc123... { "client_reference": "malmo-museums-2026", "category": "cultural_exterior", "description": "Exterior photos of all museums in Malmö", "locations": [ { "location_id": "loc_001", "name": "Malmö Konstmuseum", "coordinates": {"lat": 55.6050, "lng": 13.0038}, "requirements": { "angles": ["front", "entrance"], "time_of_day": "daylight" } } ], "recurring": { "enabled": true, "frequency": "monthly" } }
2. Confirm and pay
POST https://api.quixzoom.com/v1/orders/ord_7f8a9b2c/confirm Authorization: Bearer qz_live_abc123... { "payment_method": "card" } // Response: Missions dispatched to Zoomers
3. Receive photos via webhook
// Webhook POST to your endpoint: { "event": "photos.delivered", "order_id": "ord_7f8a9b2c", "mission_id": "mis_a3b4c5d6", "photos": [ { "photo_id": "img_x7y8z9", "url": "https://cdn.quixzoom.com/v1/photos/img_x7y8z9.jpg", "thumbnail": "https://cdn.quixzoom.com/v1/photos/img_x7y8z9_thumb.jpg", "angle": "front", "metadata": { "captured_at": "2026-07-15T11:42:18Z", "gps": {"lat": 55.6051, "lng": 13.0039}, "weather": {"condition": "partly_cloudy", "temp_c": 22} }, "verification": { "status": "approved", "ai_checks": { "location_match": {"score": 0.98, "passed": true}, "angle_match": {"score": 0.94, "passed": true} } } } ] }
Use cases
How developers and agencies use quiXzoom API.
🏛️ Municipal Websites
A marketing agency rebuilds Malmö Stad's tourism site. Instead of using 2019 archive photos, they order fresh exterior shots of all 15 museums, 40 parks, and 8 beaches — updated monthly automatically. The website always shows current conditions, seasonal changes, and real crowd levels.
// Monthly auto-update for all public facilities POST /v1/orders { "category": "cultural_exterior", "locations": museums, "recurring": {"enabled": true, "frequency": "monthly"}, "delivery": {"webhook_url": "https://api.malmocity.se/photos/update"} }
🍽️ Restaurant Discovery Apps
A food app wants real ambiance photos, not staged marketing shots. They order weekly evening photos of trending restaurants — capturing actual crowd levels, lighting, and atmosphere. Users see "busy but welcoming" or "quiet romantic spot" based on real data.
// Weekly vibe capture for restaurant listings POST /v1/orders { "category": "restaurant_ambiance", "requirements": { "angles": ["interior", "outdoor_seating"], "time_of_day": "evening", "minimum_crowd": "moderate" }, "recurring": {"enabled": true, "frequency": "weekly", "day_of_week": 5} }
🏖️ Beach & Facility Status
A city app shows real-time beach conditions. Daily photos during summer capture water quality flags, lifeguard presence, crowd density, and facility status. Parents check if the beach is too crowded before leaving home.
// Daily summer monitoring POST /v1/orders { "category": "beach_facility_status", "requirements": { "angles": ["overview", "water_quality_flag", "facilities"], "time_of_day": "midday" }, "recurring": { "enabled": true, "frequency": "daily", "season": "summer_only", "pause_conditions": {"weather_extreme": true} } }
🏪 Retail Compliance
A franchise chain verifies that all 200 stores display current promotions correctly. Monthly photos check storefront signage, opening hours displays, and promotional materials. AI flags non-compliant locations automatically.
// Monthly compliance audit POST /v1/orders { "category": "retail_compliance", "requirements": { "angles": ["storefront", "promotional_display"], "brand_match": "ICA" }, "recurring": {"enabled": true, "frequency": "monthly", "deliver_before": "5th"} }
🎵 Event Venue Monitoring
An event app shows real-time crowd levels at concerts and festivals. Photos every 30 minutes during events capture queue lengths, parking availability, and crowd density. Attendees decide when to arrive.
// Event night monitoring POST /v1/orders { "category": "event_venue_status", "requirements": { "angles": ["entrance_queue", "parking_lot"], "time_of_day": "evening" }, "recurring": { "enabled": true, "frequency": "daily", "time_window": "19:00-23:00", "event_nights_only": true } }
Developer pricing
Start free. Scale as you grow. No hidden fees.
Developer
For side projects & startups
- Up to 1,000 photos/month
- 48-hour delivery
- Basic AI verification
- 60 requests/minute
- Email support
Business
For production applications
- Up to 10,000 photos/month
- Priority 24-hour delivery
- Advanced AI analysis
- Webhooks & callbacks
- 300 requests/minute
- Slack support
Enterprise
For large-scale platforms
- Unlimited photos
- SLA guarantees
- Custom AI models
- Dedicated account manager
- Unlimited API rate
- 24/7 phone support
Recurring missions: 10% discount (monthly), 15% discount (weekly)
SDKs & Libraries
Official client libraries for popular languages.
JavaScript
npm install @quixzoom/sdk
Python
pip install quixzoom-python
Go
go get github.com/quixzoom/go-sdk
Ruby
Coming Q3 2026
// JavaScript SDK example import { QuixzoomClient } from '@quixzoom/sdk'; const quixzoom = new QuixzoomClient({ apiKey: process.env.QUIXZOOM_API_KEY, environment: 'production' }); // Create a recurring order const order = await quixzoom.orders.create({ category: 'cultural_exterior', locations: [{ name: 'Malmö Konstmuseum', coordinates: { lat: 55.605, lng: 13.004 } }], recurring: { enabled: true, frequency: 'monthly' } }); // Listen for delivery via webhook or poll quixzoom.webhooks.on('photos.delivered', (event) => { console.log('New photos:', event.photos); });
Full API Reference
Complete OpenAPI specification, authentication guides, webhook setup, and error handling.
View API Documentation →