Skip to content

mirakoz/basecamp-api-extractor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Basecamp API Extractor

Export your Basecamp 3 data to Markdown files using the official Basecamp CLI.

Requirements

Installation

1. Install Basecamp CLI

# macOS / Linux
curl -fsSL https://basecamp.com/install-cli | bash

# Or via Homebrew
brew install --cask basecamp/tap/basecamp-cli

2. Authenticate

basecamp auth login

3. Install Python dependencies

pip install -r requirements.txt

Usage

# Export all projects
python extractor.py --all

# Export specific project
python extractor.py --project 12345678

# Export to custom directory
python extractor.py --all --output ~/MyExports

# Export only messages and todos (skip docs and campfire)
python extractor.py --all --tools messages,todos

Output Structure

~/Downloads/Basecamp-Exports/
├── Project Name 1/
│   ├── Messages/
│   │   ├── Message Title 1.md
│   │   └── Message Title 2.md
│   ├── To-dos/
│   │   ├── To-do Title 1.md
│   │   └── To-do Title 2.md
│   ├── Docs/
│   │   └── Document Title.md
│   └── Campfire/
│       └── Chat.md
└── Project Name 2/
    └── ...

Features

  • ✅ Uses official Basecamp API (no scraping)
  • ✅ Exports Messages, To-dos, Docs, and Campfire
  • ✅ Markdown output with YAML frontmatter
  • ✅ Incremental sync (only new/updated items)
  • ✅ Project-specific or full export modes
  • ✅ Configurable output directory
  • ✅ Dry-run mode for testing

Configuration

Create a config.json in the project root or use environment variables:

{
  "output_dir": "~/Downloads/Basecamp-Exports",
  "tools": ["messages", "todos", "docs", "campfire"],
  "include_completed_todos": true
}

License

MIT

About

Export Basecamp 3 data to Markdown using official API

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages