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
Element
after 
append 
assignedSlot  
attachShadow  
attributes 
before 
childElementCount
children 
classList
className
closest 
constructor
firstElementChild
getAttribute
getAttributeNames  
getAttributeNode
getAttributeNodeNS
getAttributeNS
getElementsByClassName 
getElementsByTagName
getElementsByTagNameNS
hasAttribute
hasAttributeNS
hasAttributes 
id
insertAdjacentElement 
insertAdjacentText 
lastElementChild
length 
localName 
matches 
name
namespaceURI 
nextElementSibling
prefix
prepend 
previousElementSibling
prototype
querySelector
querySelectorAll
remove
removeAttribute
removeAttributeNode
removeAttributeNS
replaceWith 
setAttribute
setAttributeNode
setAttributeNodeNS
setAttributeNS
shadowRoot 
slot  
tagName
webkitMatchesSelector
Event
AT_TARGET
bubbles
BUBBLING_PHASE
cancelable
cancelBubble
CAPTURING_PHASE
composed 
composedPath  
constructor
currentTarget
defaultPrevented
eventPhase
initEvent
isTrusted
length 
name
NONE 
preventDefault
prototype
stopImmediatePropagation
stopPropagation
target
timeStamp
type
EventListener
constructor    
handleEvent    
length    
name    
prototype    
EventTarget
addEventListener
constructor
dispatchEvent
length 
name
prototype
removeEventListener
HTMLCollection
constructor
item
length
name
namedItem
prototype
MutationObserver
constructor
disconnect
length 
name
observe
prototype
takeRecords
MutationRecord
addedNodes
attributeName
attributeNamespace
constructor
length 
name
nextSibling
oldValue
previousSibling
prototype
removedNodes
target
type
NamedNodeMap
constructor
getNamedItem
getNamedItemNS
item
length
name
prototype
removeNamedItem
removeNamedItemNS
setNamedItem
setNamedItemNS
Node
appendChild
ATTRIBUTE_NODE
baseURI
CDATA_SECTION_NODE
childNodes
cloneNode
COMMENT_NODE
compareDocumentPosition
constructor
contains
DOCUMENT_FRAGMENT_NODE
DOCUMENT_NODE
DOCUMENT_POSITION_CONTAINED_BY
DOCUMENT_POSITION_CONTAINS
DOCUMENT_POSITION_DISCONNECTED
DOCUMENT_POSITION_FOLLOWING
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
DOCUMENT_POSITION_PRECEDING
DOCUMENT_TYPE_NODE
ELEMENT_NODE
ENTITY_NODE
ENTITY_REFERENCE_NODE
firstChild
getRootNode  
hasChildNodes
insertBefore
isConnected 
isDefaultNamespace
isEqualNode
isSameNode
lastChild
length 
lookupNamespaceURI
lookupPrefix
name
nextSibling
nodeName
nodeType
nodeValue
normalize
NOTATION_NODE
ownerDocument
parentElement
parentNode
previousSibling
PROCESSING_INSTRUCTION_NODE
prototype
removeChild
replaceChild
TEXT_NODE
textContent
NodeFilter
acceptNode   
constructor   
FILTER_ACCEPT
FILTER_REJECT
FILTER_SKIP
length 
name
prototype   
SHOW_ALL
SHOW_ATTRIBUTE
SHOW_CDATA_SECTION
SHOW_COMMENT
SHOW_DOCUMENT
SHOW_DOCUMENT_FRAGMENT
SHOW_DOCUMENT_TYPE
SHOW_ELEMENT
SHOW_ENTITY
SHOW_ENTITY_REFERENCE
SHOW_NOTATION
SHOW_PROCESSING_INSTRUCTION
SHOW_TEXT