OrbTop

Raycast Store Scraper - Extension Catalog Export

DEVELOPER TOOLSBUSINESSOTHER

Raycast Store Scraper - Extension Catalog Export

Scrapes the full extension catalog from the Raycast Store — the public marketplace for Raycast extensions on macOS and Windows. Returns flat JSON records for every extension, including commands, AI tools, author profiles, download counts, and source-repo URLs.

No auth required. The Raycast backend exposes a public JSON API that returns the complete catalog with all metadata in a single paginated feed.


Raycast Store Scraper Features

  • Pulls all 2,800+ extensions in the catalog with a single run.
  • Filter by platform (macOS only, Windows only, or both) and search by keyword.
  • Returns 30+ fields per extension: title, description, platforms, categories, commands, AI tools, author handle/bio/social links, download count, source URL, and icon URLs.
  • Flattens nested commands and tools into readable strings ("command-name: Command Title — description") for easy CSV/spreadsheet use.
  • Hits Raycast's public JSON API directly — no browser, no proxies, no captchas.
  • Configurable maxItems cap — test with 10 records or pull the full catalog.

Who Uses Raycast Store Data?

  • Developer tool analysts — track which extensions are growing fastest, which categories are underserved, which authors dominate which verticals.
  • VC scouts — identify high-download extensions whose authors might be building a standalone product.
  • AI extension builders — survey existing AI prompt sets and tool definitions before building a competitor or complement.
  • Productivity tool SaaS — find which apps already have Raycast integrations (and which are missing one).
  • Technical recruiters — authors of popular extensions are often strong candidates for developer-experience or DevOps roles.
  • Market research — catalog the macOS + Windows productivity extension landscape across platforms.

How the Scraper Works

  1. Pick a mode: catalog streams the full Raycast Store (all 2,800+ extensions in popularity order), or search finds extensions matching a keyword.
  2. Optionally filter by platform (macOS, Windows, or leave blank for both).
  3. The scraper paginates Raycast's backend API at 100 records per page with a 200ms delay between pages.
  4. Records stream into the dataset as flat JSON — commands and tools are flattened to string arrays.

Input

{
    "mode": "catalog",
    "platform": "",
    "maxItems": 100
}
Field Type Default Description
mode string "catalog" catalog = full store, search = keyword search
query string "" Keyword to search for. Required when mode is search.
platform string "" Filter by platform: "" (all), "macOS", or "Windows".
maxItems integer 10 Cap on records returned. Set to 0 for no limit (full catalog).

Search example (find all GitHub-related extensions):

{
    "mode": "search",
    "query": "github",
    "maxItems": 50
}

Windows-only filter:

{
    "mode": "catalog",
    "platform": "Windows",
    "maxItems": 0
}

Output

Each record is a flat JSON object. Array fields (platforms, categories, seo_categories, commands, tools) contain plain strings.

{
    "extension_id": "a9696c4c-a4e8-4ff1-bf49-c9015f796200",
    "name": "linear",
    "title": "Linear",
    "description": "Bring Linear to every corner of your Mac. Create, search, and modify your issues.",
    "platforms": ["macOS", "Windows"],
    "categories": ["Developer Tools", "Productivity", "AI Extensions"],
    "seo_categories": ["productivity", "project-management", "developer-tools"],
    "access_status": "public",
    "status": "active",
    "download_count": 285334,
    "created_at": 1658413349,
    "updated_at": 1777036189,
    "extension_url": "https://www.raycast.com/linear/linear",
    "source_url": "https://github.com/raycast/extensions/tree/...extensions/linear/",
    "icon_url": "https://files.raycast.com/8xxyzqx1xuryvgovan2zp8ac5fzc",
    "author_handle": "thomaslombart",
    "author_name": "Thomas Lombart",
    "author_github": "thomaslombart",
    "author_twitter": "thomas_lombart",
    "commands": [
        "create-issue: Create Issue — Create and assign new issues.",
        "my-issues: My Issues — Browse issues assigned to you.",
        "search-issues: Search Issues — Search across all your Linear issues."
    ],
    "tools": [
        "create_issue: Create Issue — Creates a new issue in Linear",
        "get_issues: Get Issues — Retrieves issues from Linear"
    ],
    "api_version": "1.104.10",
    "commit_sha": "186d955eda64f9e956b25a3fdf5566b1d38f57f2"
}

Output Fields

Field Type Description
extension_id string Raycast extension UUID
name string Extension slug (e.g. linear)
title string Display title
description string Short description
platforms string[] Supported platforms (macOS, Windows)
categories string[] Display category names
seo_categories string[] URL-friendly category slugs
access_status string public or private
status string active or archived
download_count number Total installs
created_at number Creation timestamp (Unix epoch)
updated_at number Last update timestamp (Unix epoch)
extension_url string Raycast Store page URL
source_url string GitHub source URL
readme_url string README file URL on GitHub
icon_url string Light-theme icon URL
icon_dark_url string Dark-theme icon URL
author_handle string Author username
author_name string Author display name
author_bio string Author bio
author_github string GitHub handle
author_twitter string Twitter/X handle
author_location string Author location
author_website string Author website
author_avatar_url string Author avatar URL
commands string[] Commands as "name: title — description"
tools string[] AI tools as "name: title — description"
api_version string Raycast API version targeted
commit_sha string Published git commit SHA

Pricing

Pay-per-record: $0.001 per extension + $0.10 per run start. Full catalog of 2,800+ extensions costs approximately $3.


Notes

  • The Raycast Store API does not return a total count field. Pagination stops automatically on the first empty page.
  • Commands and tools are flattened to strings for spreadsheet compatibility. The raw structure (name, title, description) is encoded as "name: title — description".
  • The download_count field reflects cumulative installs at scrape time — useful for ranking extensions by popularity.