Skip to main content

Anonymous Analytics

Frigate can send one anonymous usage report a day. The reports show the maintainers which hardware to support, which features people use, and how releases perform. Sharing is off until you turn it on.

Turning it on​

Enable Share anonymous analytics at Settings→System→Telemetry, or set it in your config:

telemetry:
analytics: true

The same page has a Preview the report button that shows exactly what the next report contains.

How it's sent​

  • Once a day, as a JSON POST to https://analytics.frigate.video/report
  • The server looks up your country and region from your IP address and never stores the address
  • Raw reports are kept for 60 days; only aggregate totals are published
  • A random install ID, stored in /config/.analytics.json, keeps your install from being counted twice. Turning sharing off deletes it

What's never sent​

  • Camera, zone, group, profile, or user names
  • Object labels, face names, or license plate text
  • IP addresses, hostnames, URLs, or stream paths
  • Credentials or API keys
  • Events, recordings, or anything from them

Every field​

Fields marked public appear in the published totals. The machine-readable schema is frigate-analytics-schema.json.

FieldDescriptionPublic
camerasCameras, null if its collector failedYes
cameras.audioCameras with audio detection onYes
cameras.audio_transcriptionCameras with audio detection and transcription onYes
cameras.autotrackingCameras with PTZ autotracking onYes
cameras.birdseyeCameras in birdseyeYes
cameras.cameras_with_zonesCameras with at least one zoneYes
cameras.connection_qualityCameras by connection quality at send timeYes
cameras.detectCameras with detection onYes
cameras.detect_fpsCameras by detect fpsYes
cameras.detect_heightCameras by detect resolution heightYes
cameras.enabledCameras enabled in config; every count below covers only theseYes
cameras.face_recognitionCameras with face recognition onYes
cameras.go2rtc_restreamCameras with an input from the go2rtc restreamYes
cameras.hwaccelCameras by the resolved hwaccel preset of the detect inputYes
cameras.input_presetCameras by the input preset of the detect inputYes
cameras.lprCameras with license plate recognition onYes
cameras.motion_masksMotion masks across camerasYes
cameras.notificationsCameras with notifications onYes
cameras.object_genaiCameras with GenAI object descriptions onYes
cameras.object_masksObject masks across camerasYes
cameras.onvifCameras with an ONVIF hostYes
cameras.recordCameras with recording onYes
cameras.retain_daysRecording retentionYes
cameras.retain_days.alertsRecording cameras by alert retention in daysYes
cameras.retain_days.continuousRecording cameras by continuous retention in daysYes
cameras.retain_days.detectionsRecording cameras by detection retention in daysYes
cameras.retain_days.motionRecording cameras by motion retention in daysYes
cameras.review_genaiCameras with GenAI review summaries onYes
cameras.separate_detect_streamCameras whose detect input differs from their record inputYes
cameras.snapshotsCameras with snapshots onYes
cameras.sub_stream_recordCameras with sub stream recording onYes
cameras.totalConfigured camerasYes
cameras.typesCameras by typeYes
cameras.zonesZones across camerasYes
detectionObject detection, null if its collector failedYes
detection.detection_fpsDetections per second across camerasYes
detection.modelsDetection modelsYes
detection.models[].defaultWhether the model serves cameras that set no sceneYes
detection.models[].detectorDetector type the model runs onYes
detection.models[].devicesDevices the model runs onYes
detection.models[].inference_msMean inference time across the model's detector processes, null before the first statsYes
detection.models[].inputModel input size as WxHYes
detection.models[].model_typeModel architectureYes
detection.models[].sourceWhere the model came fromNo
detection.skipped_fpsFrames per second skipped across camerasYes
featuresFeatures, null if its collector failedYes
features.audio_transcriptionAudio transcriptionYes
features.audio_transcription.enabledWhether audio transcription is onYes
features.audio_transcription.modelTranscription model, genai for a GenAI providerYes
features.audio_transcription.model_sizeConfigured model sizeYes
features.authWhether authentication is onYes
features.birdseyeBirdseyeYes
features.birdseye.enabledWhether birdseye is onYes
features.birdseye.modesBirdseye modesYes
features.birdseye.restreamWhether birdseye is restreamedYes
features.camera_groupsCamera groupsYes
features.classification_modelsCustom classification modelsYes
features.classification_models.objectCustom object classification modelsYes
features.classification_models.stateCustom state classification modelsYes
features.face_recognitionFace recognitionYes
features.face_recognition.deviceDevice the model loaded on, null when it isn't loadedYes
features.face_recognition.enabledWhether the enrichment is onYes
features.face_recognition.model_sizeConfigured model sizeYes
features.genaiGenerative AI providersYes
features.genai.providersConfigured GenAI providers by typeYes
features.genai.rolesConfigured GenAI providers by roleYes
features.lprLicense plate recognitionYes
features.lpr.deviceDevice the model loaded on, null when it isn't loadedYes
features.lpr.enabledWhether the enrichment is onYes
features.lpr.model_sizeConfigured model sizeYes
features.mqttWhether MQTT is onYes
features.notificationsWhether web push notifications are onYes
features.plus_api_keyWhether a Frigate+ API key is setNo
features.profilesProfilesYes
features.proxy_authWhether a proxy supplies the user headerYes
features.semantic_searchSemantic searchYes
features.semantic_search.deviceDevice the model loaded on, null when it isn't loadedYes
features.semantic_search.enabledWhether semantic search is onYes
features.semantic_search.modelEmbedding model, genai for a GenAI providerYes
features.semantic_search.model_sizeConfigured model sizeYes
features.semantic_search.triggersSemantic search triggers across camerasYes
features.tlsWhether TLS is onYes
features.usersUsers by roleYes
hardwareHardware, null if its collector failedYes
hardware.cpu_coresLogical CPU countYes
hardware.cpu_modelCPU or board model as the hardware reports itYes
hardware.decode_familiesHardware decode families this system can useYes
hardware.detection_hardwareDetection hardware found, as unit counts by kindYes
hardware.gpusGPUs the stats collector foundYes
hardware.gpus[].nameGPU name as the hardware reports itYes
hardware.gpus[].vendorGPU vendorYes
hardware.memory_gbTotal memory in GBYes
hardware.storageRecordings storageYes
hardware.storage.record_fsFilesystem of the recordings volumeYes
hardware.storage.record_total_gbSize of the recordings volume in GBYes
hardware.storage.record_used_pctPercent of the recordings volume in useYes
healthHealth, null if its collector failedYes
health.cpu_percentSystem CPU use at send timeYes
health.enrichment_msMean enrichment inference times in millisecondsYes
health.noticesCumulative notice counts by kind since the install ID was createdNo
health.notices.<key>.acknowledgementsAcknowledgements since the install ID was createdYes
health.notices.<key>.mutesMutes since the install ID was createdYes
health.notices.<key>.occurrencesOccurrences since the install ID was createdYes
health.retention_unmetWhether storage can't keep the configured retentionYes
health.uptime_hoursHours since Frigate startedYes
installInstall, null if its collector failedYes
install.archCPU architectureYes
install.image_variantPublished image the install runsYes
install.install_typeHow Frigate is installedYes
install.kernelHost kernel as major.minorYes
install.run_as_rootWhether the main process runs as rootYes
install.versionFrigate version stringYes
install_idRandom install identifierNo
report_idRandom identifier of this reportNo
schema_versionReport format versionYes
sent_atUnix time the report was builtYes