DEV Community

Michael Salaverry
Michael Salaverry

Posted on

5

Chrome Reading List export

The easiest way to export the chrome reading list is to use takeout.google.com and to export the Chrome details. On my Google workspace account, this wasn't possible.

Instead, I navigated to chrome://sync-internals/ on the sync node browser tab and ran this javascript code in the console:



[
  ...$("#sync-node-tree")
    .shadowRoot.querySelector("#tree-item-autogen-id-17")
    .shadowRoot.querySelectorAll(".leaf"),
].map((row) => row.detail.payload);


Enter fullscreen mode Exit fullscreen mode

(The shadowRoot has its own query selector function separate from the window of the console.)

Then, I right clicked the result to paste it into a text editor and save as a json file

Here's a sample of what you can expect to get:

Chrome reading list as json

The following is one particular chrome reading list item



{
    "CLIENT_TAG_HASH": "xxxxbEkAs=",
    "CTIME": "2022-07-25 14:41:44 +03",
    "ID": "sZ:ADqtAZw/jKp+WHaGmzqqSHy/YRNDZvdUo0doOqiQFaIMf0Yo59vheTu0WKfrimEtw+TaNyZJxSpEzC1wpOhS6r5qtfZP1kywYw==",
    "MTIME": "2022-07-25 14:41:44 +03",
    "NAME": "https://developer.mozilla.org/en-US/docs/Web/API/Reporting_API",
    "NON_UNIQUE_NAME": "https://developer.mozilla.org/en-US/docs/Web/API/Reporting_API",
    "ORIGINATOR_CACHE_GUID": "",
    "ORIGINATOR_CLIENT_ITEM_ID": "",
    "PARENT_ID": "",
    "SERVER_DEFINED_UNIQUE_TAG": "",
    "SPECIFICS": {
        "reading_list": {
            "creation_time_us": "1658749304297842",
            "entry_id": "https://developer.mozilla.org/en-US/docs/Web/API/Reporting_API",
            "estimated_read_time_seconds": "0",
            "first_read_time_us": "0",
            "status": "UNREAD",
            "title": "Reporting API - Web APIs | MDN",
            "update_time_us": "1658749304297842",
            "update_title_time_us": "1658749304297842",
            "url": "https://developer.mozilla.org/en-US/docs/Web/API/Reporting_API"
        }
    },
    "metadata": {
        "acked_sequence_number": "2",
        "client_tag_hash": "3ewNy9zDJ7HvgpPTJfkN1DbEkAs=",
        "creation_time": "1658749304297",
        "is_deleted": false,
        "modification_time": "1658749304299",
        "sequence_number": "2",
        "server_id": "Z:ADqtAZw/jKp+WHaGmzqqSHy/YRNDZvdUo0doOqiQFaIMf0Yo59vheTu0WKfrimEtw+TaNyZJxSpEzC1wpOhS6r5qtfZP1kywYw==",
        "server_version": "1658749304544398",
        "specifics_hash": "eb+IzTHvIE0GMJ0az8W4a1nUlis="
    },
    "modelType": "Reading List"
}


Enter fullscreen mode Exit fullscreen mode

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more →

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up