-- Auto-generated BigQuery query for Blink UseCounter features -- Generated: 2026-02-18 -- Queries pre-aggregated usage percentages from httparchive.blink_features.usage -- For API-type BCD keys mapped from web-features DECLARE crawl_date DATE DEFAULT '2026-01-01'; -- Map of BCD API names to web-feature IDs (for reference) -- Total unique API interfaces: 389 SELECT uf.feature, uf.pct_urls AS pct, uf.client FROM `httparchive.blink_features.usage` uf WHERE uf.date = crawl_date AND uf.client = 'desktop' AND ( uf.feature = 'AbortController' OR uf.feature = 'AbortSignal' OR uf.feature = 'Accelerometer' OR uf.feature = 'AnalyserNode' OR uf.feature = 'Animation' OR uf.feature = 'AnimationEffect' OR uf.feature = 'AnimationPlaybackEvent' OR uf.feature = 'AnimationTimeline' OR uf.feature = 'AudioBuffer' OR uf.feature = 'AudioBufferSourceNode' OR uf.feature = 'AudioContext' OR uf.feature = 'AudioData' OR uf.feature = 'AudioDecoder' OR uf.feature = 'AudioDestinationNode' OR uf.feature = 'AudioEncoder' OR uf.feature = 'AudioListener' OR uf.feature = 'AudioNode' OR uf.feature = 'AudioParam' OR uf.feature = 'AudioParamMap' OR uf.feature = 'AudioScheduledSourceNode' OR uf.feature = 'AudioSinkInfo' OR uf.feature = 'AudioWorklet' OR uf.feature = 'AudioWorkletGlobalScope' OR uf.feature = 'AudioWorkletNode' OR uf.feature = 'AudioWorkletProcessor' OR uf.feature = 'AuthenticatorAttestationResponse' OR uf.feature = 'BarProp' OR uf.feature = 'BaseAudioContext' OR uf.feature = 'BeforeInstallPromptEvent' OR uf.feature = 'BeforeUnloadEvent' OR uf.feature = 'BiquadFilterNode' OR uf.feature = 'Bluetooth' OR uf.feature = 'BluetoothCharacteristicProperties' OR uf.feature = 'BluetoothDevice' OR uf.feature = 'BluetoothRemoteGATTCharacteristic' OR uf.feature = 'BluetoothRemoteGATTDescriptor' OR uf.feature = 'BluetoothRemoteGATTServer' OR uf.feature = 'BluetoothRemoteGATTService' OR uf.feature = 'BluetoothUUID' OR uf.feature = 'BroadcastChannel' OR uf.feature = 'BrowserCaptureMediaStreamTrack' OR uf.feature = 'CSS' OR uf.feature = 'CSSContainerRule' OR uf.feature = 'CSSCounterStyleRule' OR uf.feature = 'CSSFontFeatureValuesMap' OR uf.feature = 'CSSFontFeatureValuesRule' OR uf.feature = 'CSSFontPaletteValuesRule' OR uf.feature = 'CSSImportRule' OR uf.feature = 'CSSLayerBlockRule' OR uf.feature = 'CSSLayerStatementRule' OR uf.feature = 'CSSNestedDeclarations' OR uf.feature = 'CSSPositionTryDescriptors' OR uf.feature = 'CSSPositionTryRule' OR uf.feature = 'CSSPropertyRule' OR uf.feature = 'CSSScopeRule' OR uf.feature = 'CSSStartingStyleRule' OR uf.feature = 'CSSStyleRule' OR uf.feature = 'CSSStyleSheet' OR uf.feature = 'CSSViewTransitionRule' OR uf.feature = 'CanvasGradient' OR uf.feature = 'CanvasPattern' OR uf.feature = 'CanvasRenderingContext2D' OR uf.feature = 'CaretPosition' OR uf.feature = 'ChannelMergerNode' OR uf.feature = 'ChannelSplitterNode' OR uf.feature = 'ChapterInformation' OR uf.feature = 'CharacterBoundsUpdateEvent' OR uf.feature = 'Clipboard' OR uf.feature = 'ClipboardItem' OR uf.feature = 'CloseWatcher' OR uf.feature = 'CompressionStream' OR uf.feature = 'ConstantSourceNode' OR uf.feature = 'ContentVisibilityAutoStateChangeEvent' OR uf.feature = 'ConvolverNode' OR uf.feature = 'CookieChangeEvent' OR uf.feature = 'CookieStore' OR uf.feature = 'CookieStoreManager' OR uf.feature = 'CredentialsContainer' OR uf.feature = 'CropTarget' OR uf.feature = 'CustomElementRegistry' OR uf.feature = 'CustomStateSet' OR uf.feature = 'DecompressionStream' OR uf.feature = 'DedicatedWorkerGlobalScope' OR uf.feature = 'DelayNode' OR uf.feature = 'DelegatedInkTrailPresenter' OR uf.feature = 'DeprecationReportBody' OR uf.feature = 'DeviceMotionEvent' OR uf.feature = 'DeviceMotionEventAcceleration' OR uf.feature = 'DeviceMotionEventRotationRate' OR uf.feature = 'DeviceOrientationEvent' OR uf.feature = 'DevicePosture' OR uf.feature = 'Document' OR uf.feature = 'DocumentFragment' OR uf.feature = 'DocumentPictureInPicture' OR uf.feature = 'DocumentPictureInPictureEvent' OR uf.feature = 'DocumentTimeline' OR uf.feature = 'DynamicsCompressorNode' OR uf.feature = 'EXT_texture_compression_bptc' OR uf.feature = 'EXT_texture_compression_rgtc' OR uf.feature = 'EXT_texture_norm16' OR uf.feature = 'EditContext' OR uf.feature = 'Element' OR uf.feature = 'ElementInternals' OR uf.feature = 'EncodedAudioChunk' OR uf.feature = 'EncodedVideoChunk' OR uf.feature = 'EventTarget' OR uf.feature = 'ExtendableCookieChangeEvent' OR uf.feature = 'EyeDropper' OR uf.feature = 'Fence' OR uf.feature = 'FencedFrameConfig' OR uf.feature = 'FetchLaterResult' OR uf.feature = 'FileSystemDirectoryHandle' OR uf.feature = 'FileSystemFileHandle' OR uf.feature = 'FileSystemHandle' OR uf.feature = 'FileSystemSyncAccessHandle' OR uf.feature = 'FileSystemWritableFileStream' OR uf.feature = 'FontData' OR uf.feature = 'FontFace' OR uf.feature = 'FragmentDirective' OR uf.feature = 'GPU' OR uf.feature = 'GPUAdapter' OR uf.feature = 'GPUAdapterInfo' OR uf.feature = 'GPUBindGroup' OR uf.feature = 'GPUBindGroupLayout' OR uf.feature = 'GPUBuffer' OR uf.feature = 'GPUCanvasContext' OR uf.feature = 'GPUCommandBuffer' OR uf.feature = 'GPUCommandEncoder' OR uf.feature = 'GPUCompilationInfo' OR uf.feature = 'GPUCompilationMessage' OR uf.feature = 'GPUComputePassEncoder' OR uf.feature = 'GPUComputePipeline' OR uf.feature = 'GPUDevice' OR uf.feature = 'GPUDeviceLostInfo' OR uf.feature = 'GPUError' OR uf.feature = 'GPUExternalTexture' OR uf.feature = 'GPUInternalError' OR uf.feature = 'GPUOutOfMemoryError' OR uf.feature = 'GPUPipelineError' OR uf.feature = 'GPUPipelineLayout' OR uf.feature = 'GPUQuerySet' OR uf.feature = 'GPUQueue' OR uf.feature = 'GPURenderBundle' OR uf.feature = 'GPURenderBundleEncoder' OR uf.feature = 'GPURenderPassEncoder' OR uf.feature = 'GPURenderPipeline' OR uf.feature = 'GPUSampler' OR uf.feature = 'GPUShaderModule' OR uf.feature = 'GPUSupportedFeatures' OR uf.feature = 'GPUSupportedLimits' OR uf.feature = 'GPUTexture' OR uf.feature = 'GPUTextureView' OR uf.feature = 'GPUUncapturedErrorEvent' OR uf.feature = 'GPUValidationError' OR uf.feature = 'GainNode' OR uf.feature = 'Gamepad' OR uf.feature = 'GamepadButton' OR uf.feature = 'GamepadEvent' OR uf.feature = 'GravitySensor' OR uf.feature = 'HID' OR uf.feature = 'HIDConnectionEvent' OR uf.feature = 'HIDDevice' OR uf.feature = 'HIDInputReportEvent' OR uf.feature = 'HTMLAnchorElement' OR uf.feature = 'HTMLAreaElement' OR uf.feature = 'HTMLButtonElement' OR uf.feature = 'HTMLCanvasElement' OR uf.feature = 'HTMLDataListElement' OR uf.feature = 'HTMLDetailsElement' OR uf.feature = 'HTMLDialogElement' OR uf.feature = 'HTMLElement' OR uf.feature = 'HTMLFencedFrameElement' OR uf.feature = 'HTMLIFrameElement' OR uf.feature = 'HTMLImageElement' OR uf.feature = 'HTMLInputElement' OR uf.feature = 'HTMLLinkElement' OR uf.feature = 'HTMLMediaElement' OR uf.feature = 'HTMLScriptElement' OR uf.feature = 'HTMLSelectElement' OR uf.feature = 'HTMLSlotElement' OR uf.feature = 'HTMLStyleElement' OR uf.feature = 'HTMLTemplateElement' OR uf.feature = 'HTMLVideoElement' OR uf.feature = 'Highlight' OR uf.feature = 'HighlightRegistry' OR uf.feature = 'IIRFilterNode' OR uf.feature = 'IdentityCredential' OR uf.feature = 'IdleDeadline' OR uf.feature = 'IdleDetector' OR uf.feature = 'ImageData' OR uf.feature = 'ImageDecoder' OR uf.feature = 'ImageTrack' OR uf.feature = 'ImageTrackList' OR uf.feature = 'Ink' OR uf.feature = 'IntersectionObserver' OR uf.feature = 'IntersectionObserverEntry' OR uf.feature = 'InterventionReportBody' OR uf.feature = 'Keyboard' OR uf.feature = 'KeyboardLayoutMap' OR uf.feature = 'KeyframeEffect' OR uf.feature = 'LaunchParams' OR uf.feature = 'LaunchQueue' OR uf.feature = 'LayoutShift' OR uf.feature = 'LayoutShiftAttribution' OR uf.feature = 'LinearAccelerationSensor' OR uf.feature = 'Lock' OR uf.feature = 'LockManager' OR uf.feature = 'MIDIAccess' OR uf.feature = 'MIDIConnectionEvent' OR uf.feature = 'MIDIInput' OR uf.feature = 'MIDIInputMap' OR uf.feature = 'MIDIMessageEvent' OR uf.feature = 'MIDIOutput' OR uf.feature = 'MIDIOutputMap' OR uf.feature = 'MIDIPort' OR uf.feature = 'ML' OR uf.feature = 'MLContext' OR uf.feature = 'MLGraph' OR uf.feature = 'MLGraphBuilder' OR uf.feature = 'MLOperand' OR uf.feature = 'MathMLElement' OR uf.feature = 'MediaElementAudioSourceNode' OR uf.feature = 'MediaMetadata' OR uf.feature = 'MediaSession' OR uf.feature = 'MediaStreamAudioDestinationNode' OR uf.feature = 'MediaStreamAudioSourceNode' OR uf.feature = 'MediaStreamTrackAudioSourceNode' OR uf.feature = 'NDEFMessage' OR uf.feature = 'NDEFReader' OR uf.feature = 'NDEFReadingEvent' OR uf.feature = 'NDEFRecord' OR uf.feature = 'NavigateEvent' OR uf.feature = 'Navigation' OR uf.feature = 'NavigationActivation' OR uf.feature = 'NavigationCurrentEntryChangeEvent' OR uf.feature = 'NavigationDestination' OR uf.feature = 'NavigationHistoryEntry' OR uf.feature = 'NavigationTransition' OR uf.feature = 'Navigator' OR uf.feature = 'NavigatorUAData' OR uf.feature = 'NotRestoredReasonDetails' OR uf.feature = 'NotRestoredReasons' OR uf.feature = 'OES_draw_buffers_indexed' OR uf.feature = 'OES_fbo_render_mipmap' OR uf.feature = 'OTPCredential' OR uf.feature = 'Observable' OR uf.feature = 'OfflineAudioCompletionEvent' OR uf.feature = 'OfflineAudioContext' OR uf.feature = 'OffscreenCanvas' OR uf.feature = 'OffscreenCanvasRenderingContext2D' OR uf.feature = 'OscillatorNode' OR uf.feature = 'PageRevealEvent' OR uf.feature = 'PageSwapEvent' OR uf.feature = 'PannerNode' OR uf.feature = 'Path2D' OR uf.feature = 'Performance' OR uf.feature = 'PerformanceLongAnimationFrameTiming' OR uf.feature = 'PerformanceNavigationTiming' OR uf.feature = 'PerformanceScriptTiming' OR uf.feature = 'PeriodicWave' OR uf.feature = 'Permissions' OR uf.feature = 'PictureInPictureEvent' OR uf.feature = 'PictureInPictureWindow' OR uf.feature = 'PressureObserver' OR uf.feature = 'PressureRecord' OR uf.feature = 'Profiler' OR uf.feature = 'ReadableByteStreamController' OR uf.feature = 'ReadableStream' OR uf.feature = 'ReadableStreamBYOBReader' OR uf.feature = 'ReadableStreamBYOBRequest' OR uf.feature = 'RemotePlayback' OR uf.feature = 'ReportingObserver' OR uf.feature = 'Request' OR uf.feature = 'RestrictionTarget' OR uf.feature = 'SVGClipPathElement' OR uf.feature = 'Scheduler' OR uf.feature = 'Screen' OR uf.feature = 'ScreenDetailed' OR uf.feature = 'ScreenDetails' OR uf.feature = 'ScrollTimeline' OR uf.feature = 'Selection' OR uf.feature = 'Serial' OR uf.feature = 'SerialPort' OR uf.feature = 'ServiceWorkerGlobalScope' OR uf.feature = 'ServiceWorkerRegistration' OR uf.feature = 'ShadowRoot' OR uf.feature = 'SharedWorker' OR uf.feature = 'SnapEvent' OR uf.feature = 'SpeechRecognition' OR uf.feature = 'SpeechRecognitionAlternative' OR uf.feature = 'SpeechRecognitionErrorEvent' OR uf.feature = 'SpeechRecognitionEvent' OR uf.feature = 'SpeechRecognitionResult' OR uf.feature = 'SpeechRecognitionResultList' OR uf.feature = 'SpeechSynthesis' OR uf.feature = 'SpeechSynthesisErrorEvent' OR uf.feature = 'SpeechSynthesisEvent' OR uf.feature = 'SpeechSynthesisUtterance' OR uf.feature = 'SpeechSynthesisVoice' OR uf.feature = 'StereoPannerNode' OR uf.feature = 'StorageAccessHandle' OR uf.feature = 'StorageBucket' OR uf.feature = 'StorageBucketManager' OR uf.feature = 'StorageManager' OR uf.feature = 'Subscriber' OR uf.feature = 'Summarizer' OR uf.feature = 'TaskController' OR uf.feature = 'TaskPriorityChangeEvent' OR uf.feature = 'TaskSignal' OR uf.feature = 'Text' OR uf.feature = 'TextFormat' OR uf.feature = 'TextFormatUpdateEvent' OR uf.feature = 'TextMetrics' OR uf.feature = 'TextUpdateEvent' OR uf.feature = 'ToggleEvent' OR uf.feature = 'TransformStream' OR uf.feature = 'URL' OR uf.feature = 'URLPattern' OR uf.feature = 'USB' OR uf.feature = 'USBAlternateInterface' OR uf.feature = 'USBConfiguration' OR uf.feature = 'USBConnectionEvent' OR uf.feature = 'USBDevice' OR uf.feature = 'USBEndpoint' OR uf.feature = 'USBInTransferResult' OR uf.feature = 'USBInterface' OR uf.feature = 'USBIsochronousInTransferPacket' OR uf.feature = 'USBIsochronousInTransferResult' OR uf.feature = 'USBIsochronousOutTransferPacket' OR uf.feature = 'USBIsochronousOutTransferResult' OR uf.feature = 'USBOutTransferResult' OR uf.feature = 'VTTCue' OR uf.feature = 'VideoColorSpace' OR uf.feature = 'VideoDecoder' OR uf.feature = 'VideoEncoder' OR uf.feature = 'VideoFrame' OR uf.feature = 'VideoPlaybackQuality' OR uf.feature = 'ViewTimeline' OR uf.feature = 'ViewTransition' OR uf.feature = 'ViewTransitionTypeSet' OR uf.feature = 'VirtualKeyboard' OR uf.feature = 'VisibilityStateEntry' OR uf.feature = 'WEBGL_compressed_texture_pvrtc' OR uf.feature = 'WEBGL_multi_draw' OR uf.feature = 'WGSLLanguageFeatures' OR uf.feature = 'WakeLock' OR uf.feature = 'WakeLockSentinel' OR uf.feature = 'WaveShaperNode' OR uf.feature = 'WebGL2RenderingContext' OR uf.feature = 'WebGLRenderingContext' OR uf.feature = 'WebTransport' OR uf.feature = 'WebTransportBidirectionalStream' OR uf.feature = 'WebTransportDatagramDuplexStream' OR uf.feature = 'WebTransportError' OR uf.feature = 'WebTransportReceiveStream' OR uf.feature = 'WebTransportSendStream' OR uf.feature = 'Window' OR uf.feature = 'WindowControlsOverlay' OR uf.feature = 'WindowControlsOverlayGeometryChangeEvent' OR uf.feature = 'Worker' OR uf.feature = 'WorkerNavigator' OR uf.feature = 'Worklet' OR uf.feature = 'WorkletGlobalScope' OR uf.feature = 'WritableStream' OR uf.feature = 'XMLHttpRequest' OR uf.feature = 'XRAnchor' OR uf.feature = 'XRAnchorSet' OR uf.feature = 'XRCPUDepthInformation' OR uf.feature = 'XRCamera' OR uf.feature = 'XRDepthInformation' OR uf.feature = 'XRFrame' OR uf.feature = 'XRHand' OR uf.feature = 'XRHitTestResult' OR uf.feature = 'XRHitTestSource' OR uf.feature = 'XRInputSource' OR uf.feature = 'XRJointPose' OR uf.feature = 'XRJointSpace' OR uf.feature = 'XRLightEstimate' OR uf.feature = 'XRLightProbe' OR uf.feature = 'XRRay' OR uf.feature = 'XRSession' OR uf.feature = 'XRTransientInputHitTestResult' OR uf.feature = 'XRTransientInputHitTestSource' OR uf.feature = 'XRView' OR uf.feature = 'XRWebGLBinding' OR uf.feature = 'XRWebGLDepthInformation' OR uf.feature = 'fetch' OR uf.feature = 'scheduler' OR uf.feature = 'structuredClone' ) ORDER BY pct DESC;