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
CustomEvent
@@toStringTag   
arguments   
caller   
constructor
detail
initCustomEvent
length
name
prototype
DOMImplementation
@@toStringTag   
arguments   
caller   
createDocument
createDocumentType
createHTMLDocument
hasFeature
name
DOMTokenList
@@iterator
@@toStringTag   
add
arguments   
caller   
contains
entries
item
keys
length
name
remove
replace
supports
toggle
value
values
Document
@@toStringTag   
@@unscopables
adoptNode
append
arguments   
caller   
characterSet
charset
childElementCount
children
compatMode
constructor
contentType
createAttribute
createAttributeNS
createCDATASection
createComment
createDocumentFragment
createElement
createElementNS
createEvent
createNodeIterator
createProcessingInstruction
createRange
createTextNode
createTreeWalker
doctype
documentElement
documentURI
firstElementChild
getElementById
getElementsByClassName
getElementsByTagName
getElementsByTagNameNS
implementation
importNode
inputEncoding
lastElementChild
length
name
origin  
prepend
prototype
querySelector
querySelectorAll
URL
DocumentFragment
@@toStringTag   
@@unscopables
append
arguments   
caller   
childElementCount
children
constructor
firstElementChild
getElementById
lastElementChild
length
name
prepend
prototype
querySelector
querySelectorAll
DocumentType
@@toStringTag   
@@unscopables
after
arguments   
before
caller   
name
publicId
remove
replaceWith
systemId
Element
@@toStringTag   
@@unscopables
after
append
arguments   
assignedSlot  
attachShadow  
attributes
before
caller   
childElementCount
children
classList
className
closest
firstElementChild
getAttribute
getAttributeNames 
getAttributeNode
getAttributeNodeNS
getAttributeNS
getElementsByClassName
getElementsByTagName
getElementsByTagNameNS
hasAttribute
hasAttributeNS
hasAttributes
id
insertAdjacentElement
insertAdjacentText
lastElementChild
localName
name
namespaceURI
nextElementSibling
prefix
prepend
previousElementSibling
querySelector
querySelectorAll
remove
removeAttribute
removeAttributeNode
removeAttributeNS
replaceWith
setAttribute
setAttributeNode
setAttributeNodeNS
setAttributeNS
shadowRoot  
slot  
tagName
webkitMatchesSelector
Event
@@toStringTag   
arguments   
AT_TARGET
bubbles
BUBBLING_PHASE
caller   
cancelable
cancelBubble
CAPTURING_PHASE
composed 
composedPath 
constructor
currentTarget
defaultPrevented
eventPhase
initEvent
isTrusted
length
name
NONE
preventDefault
prototype
stopImmediatePropagation
stopPropagation
target
timeStamp
type
EventTarget
@@toStringTag   
addEventListener
arguments   
caller   
constructor
dispatchEvent
length
name
prototype
removeEventListener
FontFaceSet
@@iterator  
@@toStringTag    
arguments    
caller    
constructor  
length  
name  
prototype