Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aviz85 avatar

X Bookmarks Fetcher

  • 13 installs
  • 44 repo stars
  • Updated July 8, 2026
  • aviz85/claude-skills-library

x-bookmarks-fetcher is a Claude skill that downloads X/Twitter bookmarks via the official X API v2 with OAuth 2.0, saving text and media locally.

About

x-bookmarks-fetcher downloads X/Twitter bookmarks through the official X API v2 with OAuth 2.0 user-context auth, requiring a one-time browser consent and then a refresh token. A developer uses it to export or save bookmarked tweets, with the text, images, and videos written to a local folder. It filters by a time window on tweet created_at and works on the X API Free tier.

  • Fetches X/Twitter bookmarks via the official X API v2, no scraping
  • OAuth 2.0 user-context auth: one-time browser consent, then refresh-token forever
  • Saves tweet text, metadata, images, and videos to a local folder

X Bookmarks Fetcher by the numbers

  • 13 all-time installs (skills.sh)
  • Ranked #1,438 of 2,719 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

x-bookmarks-fetcher capabilities & compatibility

Requires an X developer app with OAuth 2.0 credentials; available on the X API Free tier (rate limited).

Capabilities
youtube downloader · whatsapp
Use cases
web scraping · research
Pricing
Bring your own API key
From the docs

What x-bookmarks-fetcher says it does

Download X/Twitter bookmarks via the official X API v2 (no scraping, no Chrome session).
SKILL.md
Available on Free tier (rate limited — currently ~10 requests per 15 min)
SKILL.md
Auth: OAuth 2.0 User Context with `bookmark.read` scope
SKILL.md
npx skills add https://github.com/aviz85/claude-skills-library --skill x-bookmarks-fetcher

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs13
repo stars44
Last updatedJuly 8, 2026
Repositoryaviz85/claude-skills-library

What it does

Export or download recent X/Twitter bookmarks with media to a local folder via the official X API v2.

Who is it for?

Exporting or saving recent X bookmarks with their images and videos to a local folder.

Skip if: Scraping X or using a Chrome session; it uses the official API, not scraping.

When should I use this skill?

User asks to grab, download, or export their X bookmarks or pull recent saved posts from X/Twitter.

What you get

A local folder of bookmarked tweets with text, metadata, images, and videos.

  • bookmarks-raw.json
  • index.json / index.md
  • Per-bookmark text files

By the numbers

  • Default 48-hour window
  • 20 max API pages, 100 bookmarks each
  • Free tier ~10 requests per 15 min

Files

SKILL.mdMarkdownGitHub ↗

X Bookmarks Fetcher

Download X/Twitter bookmarks via the official X API v2 (no scraping, no Chrome session). Saves tweet text, metadata, images, and videos to a local folder.

First-time setup

If scripts/.env does not yet exist, follow SETUP.md in this skill folder. It walks through: 1. Creating an X developer app with OAuth 2.0 enabled 2. Setting the callback URL to http://127.0.0.1:8765/callback 3. Copying client ID/secret into .env 4. Running npm run auth (one-time browser consent → saves refresh token)

Once scripts/.env and scripts/.tokens.json exist, fetching is pure API.

Quick Start

cd ~/.claude/skills/x-bookmarks-fetcher/scripts

# One-time auth (opens browser for consent, saves tokens)
node auth.mjs

# Fetch bookmarks from the last 48 hours (default)
node fetch.mjs

# Custom hours window
node fetch.mjs --hours 24

# Custom output folder
node fetch.mjs --hours 48 --out /tmp/my-bookmarks

# Specific time range (ISO timestamps)
node fetch.mjs --since 2026-05-19T00:00:00Z

Options for fetch.mjs

OptionDefaultDescription
--hours <N>48Filter to tweets created within last N hours
--since <iso>derived from --hoursLower bound (ISO 8601 timestamp). Overrides --hours
--out <dir>/tmp/x-bookmarks-YYYYMMDDOutput directory
--max-pages <N>20Stop after N API pages (100 bookmarks each)
--no-mediaoffSkip downloading images/videos

What gets saved

<out>/
├── bookmarks-raw.json    # Full API response (incl. includes for users, media, referenced tweets)
├── index.json            # Parsed/flattened items
├── index.md              # Human-readable summary
├── <handle>_<id>.txt     # One file per bookmark with text + URL + media list
└── media/
    ├── <media_key>.jpg   # Photos
    ├── <media_key>.mp4   # Highest-bitrate MP4 for videos/GIFs
    └── <media_key>_poster.jpg  # Video thumbnails

Filtering note

The X API returns bookmarks in bookmarking-order (most recently saved first), but doesn't expose the bookmark timestamp. The --hours / --since filter is applied to tweet created_at (when the post was published). For most uses this approximates "what I saved recently" — but if you bookmarked an old tweet today, it will be excluded.

API tier requirements

  • Endpoint: GET /2/users/:id/bookmarks
  • Auth: OAuth 2.0 User Context with bookmark.read scope
  • Available on Free tier (rate limited — currently ~10 requests per 15 min)

Files in this skill

  • SKILL.md — this file
  • README.md — same content as SKILL.md, for non-Claude readers
  • SETUP.md — first-time setup walkthrough
  • scripts/auth.mjs — OAuth 2.0 PKCE flow (opens browser once)
  • scripts/fetch.mjs — bookmark fetcher + media downloader
  • scripts/.env.example — credential template
  • scripts/.gitignore — ignores .env and .tokens.json

Related skills

FAQ

Does x-bookmarks-fetcher scrape X?

No. It uses the official X API v2 with OAuth 2.0 user-context auth, not scraping or a Chrome session.

What time filter does it apply?

The --hours / --since filter applies to the tweet's created_at, since the API does not expose the bookmark timestamp.

Automation & Workflowsdistributioncontent

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.