Exporting to CSV

Every note as a CSV file, with one request to your own notes index.

Your notes index is an ordinary Opensolr Index, so you can query it yourself. One request with wt=csv gives every note as a CSV file you can open in a spreadsheet or keep as a backup.

01 · What you need
  • The index name: notes_<install id>__dense, shown in Settings → Account in the app.
  • The host of the index: open the index in the control panel; it is on the Overview, under Host.
  • The user and password of the index: Index password and security in the app’s Settings opens the place to see or change them. See Default HTTP Auth Credentials.
02 · The export

Replace USER, PASSWORD, HOST and INDEX, then run it in a terminal:

curl -G -u 'USER:PASSWORD' 'https://HOST/solr/INDEX/select' \
  --data-urlencode 'q=source_s:opensolr-notes' \
  --data-urlencode 'fl=id,note_title_s,title,text,creation_date,updated_l' \
  --data-urlencode 'sort=creation_date desc' \
  --data-urlencode 'start=0' \
  --data-urlencode 'rows=1000' \
  --data-urlencode 'wt=csv' \
  -o notes.csv

The first line of notes.csv holds the field names, then one note per row, newest first. A text with commas or line breaks is put in double quotes, as spreadsheets expect.

03 · The fields
FieldWhat it holds
idThe note’s own id.
note_title_sThe title you gave the note; empty when you gave none.
titleThe title shown in the list: yours, or the first sentence of the text.
textThe text of the note, without its formatting.
textraw_tThe text with its formatting: bold, italic, underline and links as HTML tags.
creation_dateWhen the note was written, in UTC (2026-10-23T03:31:24Z).
updated_lWhen the note was last saved, in milliseconds since 1970.
04 · Page by page
  • rows is how many notes one request returns; start is how many to skip. The next thousand: start=1000, then start=2000, until a page comes back with no rows.
  • Add csv.header=false to every page after the first, so the field names are written once, and append each page to the same file (>> notes.csv instead of -o notes.csv).
  • csv.separator=; writes semicolons instead of commas, for spreadsheets set to a language that uses the comma in numbers.
  • For a very large index, read it with wt=json and cursorMark instead: a CSV answer carries no nextCursorMark to continue from.
05 · What it costs

An export is a search like any other: it counts against the bandwidth of the index, on your plan. It uses no AI requests.

Your notes index

Opensolr Notes is open source and MIT licensed. Questions about your Opensolr account, index or plan go to opensolr.com/contact; questions about the app itself belong on GitHub.

Opensolr Notes Documentation