Skip to content

Instantly share code, notes, and snippets.

@andre3k1
Created November 6, 2024 14:48
Show Gist options
  • Save andre3k1/56d5b07cd82fd7bbe6f047599326e362 to your computer and use it in GitHub Desktop.
Save andre3k1/56d5b07cd82fd7bbe6f047599326e362 to your computer and use it in GitHub Desktop.
How to export your Omnivore app data, including all of your saved links, their page content, and your highlights into a single zip file.

Exporting your Omnivore data

Source: Exporting your data | Omnivore Docs
docs.omnivore.app/using/exporting.html
archive.today link

You can use Omnivore's export tool to export all of your links, highlights, and saved page content.

Exporting with the exporter tool

To use Omnivore's export tool:

  1. First, login to your Omnivore account here:
    https://omnivore.app/login

  2. Then, navigate to your Account Settings here:
    https://omnivore.app/settings/account

  3. On the account page, click the Export Data button.
    This will gather all of your saved links, their page content,
    and your highlights into a single zip file.

  4. You will receive a confirmation email once the process has started,
    usually within 30 minutes of clicking the Export button.

The entire process takes about 1 hour per 1000 saved items.

Once completed, you will receive an email a containing a download link, which is valid for 24 hours and can be used to download all your data.

Export archives

The zip archive will contain a few items:

  1. ./contents/*.html:
    This is all of the content of your saved pages.

  2. ./highlights/*.md:
    This is all of your highlights saved in markdown format. The slug attribute from your metadata is used as the filename.

  3. metadata_*.json:
    Metadata files for all your saved items.
    These are provided in batches of 20 items.
    So items 0-20, 20-40, etc.

Converting exported data to CSV

You can use the jq tool to convert the JSON files to CSV.

To create a single column CSV with all your urls, in the directory with your json files:

jq -r '.[].url' *.json

To create a CSV that also contains your labels, you can use this command:

jq -r '[.[] | {url: .url, labels: (.labels | join(","))} | "\(.url),\"\(.labels)\""] | @csv' *.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment