API Catalog

Visualize and analyze the API overlap between standards specifications and type systems within browsers.

Browser information was gathered by traversing the type system within the latest available version of the top browsers. Specification data was gathered by extracting Web IDL definitions from notable web specifications. Note that an API that is shown as detected does not necessarily mean it functions per specification; where the absence of an API under an interface could be due to the browser supporting an API in a different part of the prototype chain. This data is made publicly available to help each browser vendor work toward the goal of a more interoperable web platform. For more information, visit our FAQ page.

APIs by interface

API NameSpecificationsMicrosoft EdgeGoogle ChromeMozilla FirefoxApple Safari
Array
@@iterator 
@@toStringTag    
@@unscopables 
arguments    
caller    
concat
constructor
copyWithin
entries
every
fill
filter
find
findIndex
flatMap   
flatten   
forEach
from
includes
indexOf
isArray
join
keys
lastIndexOf
length
map
name
of
pop
prototype
push
reduce
reduceRight
reverse
shift
slice
some
sort
splice
toLocaleString
toSource    
toString
unshift
values
ArrayBuffer
@@toStringTag
arguments    
byteLength
caller    
constructor
isView
length
name
prototype
slice
Atomics
@@toStringTag    
add   
and   
arguments    
caller    
compareExchange   
exchange   
isLockFree   
load   
name    
or   
store   
sub   
wait   
wake   
xor   
Attr
@@toStringTag   
arguments   
caller   
constructor 
isId    
length 
localName
name
namespaceURI
ownerElement
prefix
prototype 
schemaTypeInfo    
specified
value
Audio
@@toStringTag    
arguments    
caller    
constructor 
length 
name 
prototype 
AudioBuffer
@@toStringTag   
arguments   
caller   
constructor
copyFromChannel 
copyToChannel 
duration
gain    
getChannelData
length
name
numberOfChannels
prototype
sampleRate
AudioBufferSourceNode
@@toStringTag   
arguments   
buffer
caller   
constructor
detune 
FINISHED_STATE    
gain    
length
loop
loopEnd
loopStart
name
onended  
playbackRate
playbackState    
PLAYING_STATE    
prototype
SCHEDULED_STATE    
start
stop  
UNSCHEDULED_STATE    
AudioContext
@@toStringTag   
arguments   
baseLatency   
caller   
close 
constructor 
createAnalyser    
createBiquadFilter    
createBuffer    
createBufferSource    
createChannelMerger    
createChannelSplitter    
createConvolver    
createDelay    
createDynamicsCompressor    
createGain    
createIIRFilter    
createMediaElementSource  
createMediaStreamDestination   
createMediaStreamSource  
createMediaStreamTrackSource    
createOscillator    
createPanner    
createPeriodicWave    
createScriptProcessor    
createStereoPanner    
createWaveShaper    
currentTime    
decodeAudioData    
destination    
getOutputTimestamp   
length 
listener    
name 
onstatechange    
outputLatency    
prototype 
resume    
sampleRate    
state    
suspend 
AudioDestinationNode
@@toStringTag   
arguments   
caller   
constructor 
length 
maxChannelCount
name
prototype 
AudioListener
@@toStringTag   
arguments   
caller   
constructor 
dopplerFactor  
forwardX   
forwardY   
forwardZ   
length 
name
positionX   
positionY   
positionZ   
prototype 
setOrientation
setPosition
setVelocity  
speedOfSound  
upX   
upY   
upZ