Skip to content

Notion API importer, with Databases to Bases conversion bounty - $5,000 #421

@kepano

Description

@kepano

Currently Importer supports converting Notion's HTML exports to Markdown via #14.

Unfortunately Notion's file-based export options don't include necessary data to recreate Databases.

This new importer would use the Notion API to download files progressively, and convert Databases to Bases as .base files using the YAML syntax.

Closes #415

Bounty

See the Contribution guidelines for how to claim this bounty.

Bounty: $5,000 USD
Timeframe: 30 days

⚠️ Please only apply if you have taken time to explore the Importer codebase, as well as the Notion API. Provide detail about how you would approach solving it within the constraints of this Obsidian plugin.

Requirements

  • Uses Notion API (integration token) incorporating changes from new data source object introduced 2025-09.
  • Converts Databases to Bases, using the Bases syntax in a way that preserves the dynamic data. Formulas should be converted from Notion functions to Obsidian functions.
  • Properly converts files to Obsidian-flavored Markdown, including tables, to-do lists, etc
  • Support for images and attachments. Embed links converted to Markdown format !()[image.png] and placed in the user's defined attachment location (Settings → File & links)
  • Provide working test cases, ideally a reproducible data import that can be used on Notion. Alternatively a test account you can share with us via DM.
  • Review the contribution guidelines regarding code standards and limiting dependencies.

Other considerations:

  • Keep Importer UI as simple as possible, mirror the current Notion (.zip) but adding the Notion integration token field.
  • Handle Notion's rate limits

Databases to Bases

Some exploration is required before implementation because Databases and Bases work a bit differently. Notion's Databases start out as empty, whereas a Base starts out with all of the user's files, then narrows down using filters.

  • Determine an approach for importing databases and files
  • Determine what database features can be imported: views, columns, groups, summaries, formulas, etc.
  • Determine what can't be imported, and what fallbacks might be appropriate, for example calendar views, kanban, etc.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions