¿Puede un sitio invocar una extensión de navegador?

Soy un novato en el desarrollo de extensiones de navegador y entiendo el concepto de extensiones de navegador que alteran la página e insertan códigos en ella.

¿Hay alguna manera de girar esta dirección? Escribo una extensión que proporciona un conjunto de API, y los sitios web que desean usar mi extensión pueden detectar su presencia y, si está presente, el sitio web puede llamar a mis métodos API comovar extension = Extenion(foo, bar). ¿Es esto posible en Chrome, Firefox y Safari?

Ejemplo:

Google creó una nueva extensión llamada BeautifierExtension. Tiene un conjunto de APIs como objetos JS.

El usuario va a reddit.com. Reddit.com detecta BeautifierExtension e invoca la API llamandobeautifer = Beautifier();

Ver # 2 - normalmente es la extensión que detecta los sitios coincidentes y altera las páginas. Lo que me interesa saber es si el # 2 es posible.