Files
last30days-skill/docs/plans/2026-03-04-feat-v2.8-tiktok-instagram-release-plan.md
Matt Van Horn db75f9e341 feat: v2.8 — Instagram Reels source + TikTok ScrapeCreators migration
Add Instagram Reels as the 8th research source via ScrapeCreators API.
One API key (SCRAPECREATORS_API_KEY) now covers both TikTok and Instagram.

- Add scripts/lib/instagram.py: keyword search, transcript extraction,
  relevance scoring, engagement metrics (views, likes, comments)
- Add InstagramItem to schema, normalization, scoring, dedup, rendering
- Add Instagram to orchestrator pipeline, watchlist, and UI spinners
- Update SKILL.md: stats template, citation priority, item format,
  URL-to-name extraction rules, anti-Sources instruction
- Update README and CHANGELOG for v2.8
- Fix: Instagram/TikTok not running in --search= web-only path
- Fix: web stats line showing full URLs instead of domain names
- Replace APIFY_API_TOKEN with SCRAPECREATORS_API_KEY throughout

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 07:00:51 -08:00

6.4 KiB

title, type, status, date
title type status date
feat: v2.8 Release — Instagram Reels + TikTok ScrapeCreators Migration enhancement pending 2026-03-04

feat: v2.8 Release — Instagram Reels + TikTok ScrapeCreators Migration

Summary

Ship everything from the last sprint as one combined GitHub release: TikTok's migration from Apify to ScrapeCreators (already committed) + Instagram Reels as the 8th source (uncommitted) + SKILL.md URL regression fixes. Version bump to v2.8.

What's Shipping

1. Instagram Reels — 8th source (NEW)

  • Search Instagram Reels by keyword via ScrapeCreators /v1/instagram/reels/search
  • Spoken-word transcript extraction via /v2/instagram/media/transcript
  • Full pipeline: search → normalize → score → dedupe → cross-link → render
  • Shares SCRAPECREATORS_API_KEY with TikTok (no new API key needed)
  • ~7 credits per topic at default depth

2. TikTok — Apify → ScrapeCreators migration (ALREADY COMMITTED)

  • Replaced Apify dependency with ScrapeCreators API
  • Same functionality, different backend
  • No more APIFY_API_TOKEN — uses SCRAPECREATORS_API_KEY

3. SKILL.md quality fixes

  • Instagram added to stats template, citation priority, data sections, footer
  • URL regression fix: explicit URL-to-name extraction rules, stronger anti-Sources instruction
  • Security section updated: Apify → ScrapeCreators

Release Checklist

Pre-commit: Update docs

  • README.md — Update for v2.8:

    • Change title from "v2.7" to "v2.8"
    • Add "New in v2.8" banner: Instagram Reels + ScrapeCreators migration
    • Update installation section: APIFY_API_TOKENSCRAPECREATORS_API_KEY
    • Add Instagram to the "How it works" flow description (line 132)
    • Update TikTok section: replace Apify references with ScrapeCreators
    • Add Instagram section (after TikTok section, ~line 963)
    • Update API endpoints table: api.apify.comapi.scrapecreators.com, add Instagram endpoints
    • Update closing tagline to include Instagram
    • Remove "The shared Apify client wrapper is designed for future Facebook and Instagram sources" (line 963) — Instagram is here now
  • CHANGELOG.md — Add v2.8.0 entry:

    ## [2.8.0] - 2026-03-04
    
    ### Highlights
    
    Instagram Reels as the 8th signal source, TikTok migrated from Apify to ScrapeCreators API, and SKILL.md quality improvements.
    
    ### Added
    
    - Instagram Reels as 8th research source via ScrapeCreators API — keyword search, engagement metrics (views, likes, comments), spoken-word transcript extraction
    - Instagram items in SKILL.md stats template, citation priority, and output footer
    - URL-to-name extraction examples in SKILL.md for cleaner web source display
    
    ### Changed
    
    - TikTok backend migrated from Apify to ScrapeCreators API (same key covers TikTok + Instagram)
    - `APIFY_API_TOKEN` replaced by `SCRAPECREATORS_API_KEY` in config
    - SKILL.md version bumped to v2.8
    - WebSearch citation instruction strengthened to prevent trailing Sources: blocks
    
    ### Fixed
    
    - Web stats line showing full URLs instead of plain domain names (regression from v2.7)
    - Trailing "Sources:" block appearing after invitation (WebSearch tool mandate conflict)
    - Instagram/TikTok not running in web-only mode when `--search=instagram` used without Reddit/X
    
  • SKILL.md frontmatter — Bump version from "2.7" to "2.8"

  • SKILL.md description — Add Instagram to the description field

Commit & tag

  • Stage all changes: modified files + 4 new files (scripts/lib/instagram.py, 3 plan docs)
  • Commit with message:
    feat: v2.8 — Instagram Reels source + TikTok ScrapeCreators migration
    
    - Add Instagram Reels as 8th research source via ScrapeCreators API
    - Migrate TikTok from Apify to ScrapeCreators (same API key)
    - Add SCRAPECREATORS_API_KEY config (replaces APIFY_API_TOKEN)
    - Fix web stats URL regression and trailing Sources: block
    - Fix Instagram/TikTok not running in --search=instagram web-only path
    - Update SKILL.md with Instagram stats, citations, URL formatting rules
    
  • Create tag: git tag -a v2.8.0 -m "v2.8.0: Instagram Reels + ScrapeCreators"
  • Push: git push origin main --tags

Post-push: GitHub release

  • Create GitHub release via gh release create v2.8.0:

    ## What's New in v2.8
    
    **Instagram Reels** is now the 8th signal source. Search any topic and get trending Instagram Reels with views, likes, and spoken-word transcripts — scored and ranked alongside Reddit, X, YouTube, TikTok, HN, Polymarket, and the web.
    
    **TikTok migrated to ScrapeCreators API.** Same functionality, new backend. Replace `APIFY_API_TOKEN` with `SCRAPECREATORS_API_KEY` in your config. One key now covers both TikTok and Instagram.
    
    ### Setup
    
    Sign up at [scrapecreators.com](https://scrapecreators.com) (100 free credits, then PAYG) and add your key:
    
    ```bash
    echo 'SCRAPECREATORS_API_KEY=your_key' >> ~/.config/last30days/.env
    

    Breaking Change

    • APIFY_API_TOKEN is no longer used. Replace with SCRAPECREATORS_API_KEY.

    Bug Fixes

    • Fixed web source URLs leaking into stats display
    • Fixed Instagram/TikTok not running when used with --search= flag
    
    

Post-release: Sync

  • Run bash scripts/sync.sh to deploy to all 4 skill destinations
  • Verify Instagram works in a fresh /last30days session

Files Modified (this release)

File Status Description
scripts/lib/instagram.py NEW Instagram search + transcript via ScrapeCreators
scripts/lib/schema.py MODIFIED InstagramItem dataclass, Report.instagram field
scripts/lib/normalize.py MODIFIED normalize_instagram_items()
scripts/lib/score.py MODIFIED score_instagram_items(), engagement formula
scripts/lib/dedupe.py MODIFIED dedupe_instagram(), cross-source linking
scripts/lib/render.py MODIFIED Instagram render section, stats
scripts/lib/env.py MODIFIED is_instagram_available(), get_instagram_token()
scripts/lib/ui.py MODIFIED Instagram spinner messages
scripts/last30days.py MODIFIED Instagram in orchestrator pipeline
scripts/watchlist.py MODIFIED Instagram findings extraction
SKILL.md MODIFIED Instagram in stats/citations/footer, URL fixes
README.md TO UPDATE Instagram section, ScrapeCreators migration
CHANGELOG.md TO UPDATE v2.8.0 entry
docs/plans/*.md NEW (3) Plan documents for this work