Welcome to Ztrace
Ztrace Documentation
Your official guide to Ztrace. Learn how to set up, explore features, and make the most of Ztrace for accurate and efficient geolocation investigations.
Quick Start
Get up and running in under 5 minutes
API Reference
Complete SDK and REST API docs
Use Cases
OSINT, threat intel, and more
Quick Start
Install the SDK and analyze your first image:
quickstart.ts
TypeScript
1<span <span class=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>class</span>=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>><span class=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>import</span></span> { <span class="text-yellow-300">Ztrace</span> } <span <span class=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>class</span>=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>><span class=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>from</span></span> <span class="text-emerald-<span class="text-orange-400">400</span>">'@ztrace/sdk'</span>;2 3// Initialize the client with your API key4<span <span class=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>class</span>=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>const</span> client = <span <span class=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>class</span>=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>new</span> <span class="text-blue-400"><span class="text-yellow-300">Ztrace</span></span>({5 apiKey: process.<span class="text-cyan-300">env</span>.<span class="text-cyan-300">ZTRACE_API_KEY</span>,6 region: <span class="text-emerald-<span class="text-orange-400">400</span>">'us-east-<span class="text-orange-400">1</span>'</span>,7 timeout: <span class="text-orange-400">30000</span>,8 retries: <span class="text-orange-400">3</span>9});10 11// Analyze an image and get location data12<span <span class=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>class</span>=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>const</span> result = <span <span class=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>class</span>=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>><span class=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>await</span></span> client.<span class="text-blue-400">analyze</span>({13 image: <span class="text-emerald-<span class="text-orange-400">400</span>">'./path/to/image.<span class="text-cyan-300">jpg</span>'</span>,14 options: {15 confidence_threshold: <span class="text-orange-400">0.<span class="text-cyan-300">85</span></span>,16 include_metadata: <span <span class=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>class</span>=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>true</span>,17 include_features: <span <span class=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>class</span>=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>true</span>,18 include_landmarks: <span <span class=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>class</span>=<span class="text-emerald-<span class="text-orange-400">400</span>">"text-purple-<span class="text-orange-400">400</span> font-medium"</span>>true</span>19 }20});21 22console.<span class="text-blue-400">log</span>(<span class="text-emerald-<span class="text-orange-400">400</span>">'<span class="text-yellow-300">Location</span>:'</span>, result.<span class="text-cyan-300">location</span>);23// Output: { lat: 35.6762, lng: 139.6503, confidence: 0.947 }24 25console.<span class="text-blue-400">log</span>(<span class="text-emerald-<span class="text-orange-400">400</span>">'<span class="text-yellow-300">Place</span>:'</span>, result.<span class="text-cyan-300">place_name</span>);26// Output: "Shibuya Crossing, Tokyo, Japan"What You'll Find Here
Setup Guides
Step-by-step installation and configuration for all platforms
Security Best Practices
Safe, ethical, and responsible usage guidelines
Data Models
Complete TypeScript types and API schemas
Workflow Examples
OSINT, geolocation, and investigation pipelines
Security Reminder
Ztrace team members will never contact you first. If someone claims to be us, always verify through our official channels at @ztracelabs.
Join the Community
Connect with us for updates, support, and discussions:
Last updated December 2025
Was this helpful?