↩️ Topics header demo

This site is part of a Topics API demo that shows how topics can be marked as observed, and then accessed, by using a fetch() request.

This demo isn't anything like a real-world implementation: it only serves to show how topics can be included in request headers.

Run the demo

Follow the instructions at topics-fetch-demo.glitch.me.

That page also provides a troubleshooting checklist and explains how to get support.

How it works

Once this page has been opened, code in js/main.js makes a request to topics-server.glitch.me every two seconds:

            {browsingTopics: true});

In browsers that support the API, the fetch() request will include a Sec-Browsing-Topics header that lists topics observed for the request URL hostname: for this demo, that will be topics-server.glitch.me.

The service running at topics-server.glitch.me responds with the headers from the fetch() request (as the reponse body) and sets an Observe-Browsing-Topics: ?1 header. This header instructs the browser that the topics provided in the fetch() request Sec-Browsing-Topics header should be used for topics calculation.

If the fetch() request made from this site includes topics (which will happen if topics have been observed by code in requests to topics-server.glitch.me) the topics will be displayed below.

Topics will be displayed here

Comments and suggestions

If you find bugs with this demo or would like to suggest changes, please message @sw12.


Copyright 2023 Google, Inc.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Please note: this is not a Google product.