Skip to main content

Developers

Optikos exposes 47 REST endpoints + a thin Python SDK. Every response carries citations to primary sources; every value resolves to a row you can verify.

Python SDK

Thin client over the REST API. Typed objects, no magic methods.

pip install optikos-sdk

PyPI: optikos-sdk · Python ≥ 3.10

REST API

Base URL for all 47 endpoints:

https://euoptikos.com/api/v1/optikos

JSON envelopes ({ data, meta, error? }), tier-gated, RLS-isolated.

Authentication

Generate an API key at /account/api-keys (Professional tier or higher). Pass it as a Bearer token:

Authorization: Bearer sk_optikos_xxxxxxxxxxxxxxxx
  • Professional: 1 key, 10,000 calls/day
  • Institutional: 10 keys, 100,000 calls/day
  • Anonymous (no key): public-shared data only, rate-limited per IP

curl examples

Get Berlin's profile
curl -H "Authorization: Bearer $OPTIKOS_API_KEY" \
  https://euoptikos.com/api/v1/optikos/regions/DE300/profile
Compare Spain + Poland on the Border Intelligence layer
curl -H "Authorization: Bearer $OPTIKOS_API_KEY" \
  'https://euoptikos.com/api/v1/optikos/compare?regions=ES,PL&dataset=frontex_eastern_borders_pl'
Generate an AI briefing (institutional)
curl -X POST -H "Authorization: Bearer $OPTIKOS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"region_nuts_code":"DE300","briefing_type":"profile_summary"}' \
  https://euoptikos.com/api/v1/optikos/briefings
Bulk dataset CSV (institutional)
curl -H "Authorization: Bearer $OPTIKOS_API_KEY" \
  https://euoptikos.com/api/v1/optikos/export/bulk/demo_r_pjangrp3.csv -o berlin_pop.csv

Python SDK example

from optikos_sdk import OptikosClient

client = OptikosClient(
    base_url="https://euoptikos.com",
    api_key="sk_optikos_..."  # Generate at /account/api-keys
)

# Pull V-DEM liberal democracy for DE, FR, PL across all years
data = client.indicators.get(
    dataset_code="vdem_liberal_democracy",
    nuts_codes=["DE", "FR", "PL"],
)
for row in data.values:
    print(f"{row.period} {row.dimensions} = {row.value}")

OpenAPI specification

The backend auto-generates an OpenAPI 3 spec for all 47 endpoints. Public exposure is tracked for a follow-up release — for now, the canonical reference is this page plus the SDK source. Email admin@society-intelligence.com if you need a copy of the spec for an internal client generator (R / Stata / Go / etc.).

Higher tier, higher throughput

The API surface is the same on every tier. What changes is rate-limit + access to AI products + bulk export.