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
Attr
constructor
length 
localName 
name
namespaceURI 
ownerElement
prefix
prototype
specified
value
CDATASection
constructor
length 
name
prototype
CharacterData
after 
appendData
before 
constructor
data
deleteData
insertData
length
name
nextElementSibling 
previousElementSibling 
prototype
remove
replaceData
replaceWith 
substringData
Comment
constructor
length 
name
prototype
CustomEvent
constructor
detail
initCustomEvent
length 
name
prototype
DOMImplementation
constructor
createDocument
createDocumentType
createHTMLDocument
hasFeature
length 
name
prototype
DOMTokenList
add
constructor
contains
item
length
name
prototype
remove
replace  
supports 
toggle
toString
value 
Document
adoptNode
append 
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
append 
childElementCount 
children 
constructor
firstElementChild 
getElementById 
lastElementChild 
length 
name
prepend 
prototype
querySelector
querySelectorAll
DocumentType
after 
before 
constructor
length 
name
prototype
publicId
remove
replaceWith 
systemId