Quickstart
Run your first location analysis
Send one image to the Oceanir API and receive structured coordinates, an address, and the visual evidence behind the result.
REST APIJSON responseSet a 180s client timeout
01
Provision an API key
Eligible Pro accounts can create a personal key in Platform → API keys. Organization integrations need approved Enterprise access and organization-scoped credentials.
Request header
x-api-key: oceanir_4f9c2a7b1e08_1756...02
Execute the analysis
POST an image URL. The depth parameter controls how much analysis the model performs.
POST
/api/v1/geolocatecURL
curl -X POST https://oceanir.ai/api/v1/geolocate \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image_url": "https://example.com/photo.jpg",
"depth": 2
}'depth 110s median · 24s p95Classification
depth 26s median · 48s p95Analysis
depth 383s median · 151s p95Investigation
If a host blocks server-side image fetching, send a base64-encoded JPEG as image_b64. The maximum request payload is 20 MB.
03
Read the response
Use the returned coordinates and evidence in your own investigation workflow.
Illustrative D2 response · application/json
{
"success": true,
"analysis_id": "example-analysis-id",
"location": {
"latitude": 45.77,
"longitude": 4.8459,
"country": "France",
"city": "Lyon",
"neighborhood": "6th arrondissement",
"address": "Lyon, France"
},
"confidence": 0.79,
"reasoning": "Street signage and architecture suggest Lyon. Confirm the area with independent evidence.",
"visual_clues": [
{
"label": "French street signage",
"detail": ""
},
{
"label": "Stone facades",
"detail": ""
}
],
"model": "orca-1.5",
"depth": 2,
"timing_ms": 9120
}analysis_idstring | nullSaved analysis identifier; may be null when history is not retainedlocationobjectCoordinates, reverse-geocoded address, city, country, and ready-made map linksconfidencefloatCertainty from 0 to 1 for the LEADING candidate onlyreasoningstringVisual evidence used to reach the resultvisual_cluesobject[]Objects with label and detail. Detail may be empty. Returned at depth 2 and aboveforensic.candidatesarrayD3 only: competing candidates; optional and absent in this D2 exampleforensic.contradictionsarrayD3 only: evidence against the leading candidatecalibrationobjectPublish policy for the run, including when to abstain. Depth 3 onlyAnalyze an image without code
NextAuthentication and key management

