Ghost Explore Scraper
Pricing
from $1.50 / 1,000 results
Ghost Explore Scraper
Scrape the Ghost Explore newsletter directory: publications, member counts, revenue signals and staff contacts. Keyless, HTTP-only, no login.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Aurenic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Security
Limited permissionsShare
Scrape the Ghost Explore newsletter directory: publications, member counts, revenue signals and staff contacts — keyless, HTTP-only, no login.
What does Ghost Explore Scraper do?
Ghost Explore (explore.ghost.org) is the first-party discovery directory that Ghost runs for publications built on its platform. Every listing carries a complete structured payload embedded in the page as HTML data-* attributes: publication name, description, external newsletter URL, icon, accent color, subscriber count, staff roster with social links, owner testimonial with revenue figures, and ActivityPub handle. No API key, no login, no JavaScript rendering.
This actor reads that payload, plus the public per-site RSS JSON endpoint, and returns one row per publication per ranking page.
Output fields
| Field | Type | Description |
|---|---|---|
| slug | string | Ghost Explore identifier, e.g. tangle |
| name | string | Publication display name |
| description | string | Publication description |
| newsletter_url | string | External newsletter URL (with ?ref=ghost-explore) |
| profile_url | string | Ghost Explore profile page URL |
| icon_url | string | Publication logo |
| accent_color | string | Brand accent color (hex) |
| member_count | integer | Subscriber count when published publicly |
| show_members | boolean | Whether the publication displays its member count |
| is_top_100 | boolean | Whether the publication is in Ghost Explore's top 100 |
| ap_handle | string | ActivityPub / social web handle |
| ap_follower_count | integer | ActivityPub follower count |
| ap_following_count | integer | ActivityPub following count |
| staff_users | array | Staff roster with name, role, posts, bio, profile image, Twitter, LinkedIn, Instagram, YouTube, TikTok, Mastodon, Bluesky, Threads, Facebook, website |
| staff_count | integer | Number of staff listed |
| testimonial | object | Owner quote with revenue and subscriber signals |
| category | string | Category or ranking page that produced this row |
| ranking_list | string | Source page slug |
| rank | integer | Position on the source page (1-based) |
| source_page_url | string | URL of the source page |
| rss_posts | array | Recent posts (when includeRssPosts is on): title, url, published_at, author, image |
| latest_post_date | string | Most recent post date (when RSS is on) |
| scraped_at | string | ISO timestamp |
Who is it for?
- Sponsorship sales prospecting Ghost newsletters by category, reach and revenue signal
- PR and media relations building writer contact lists from the staff roster
- Market research ranking the Ghost newsletter ecosystem by subscriber count
- Competitive intelligence tracking which publications enter the Top 100 and Trending lists
- CRM enrichment auto-filling publication contacts and social links
- AI agents and MCP users pulling structured creator data for analysis
Pricing
Pay per result: $1.00 per 1,000 publications.
Charged only for records actually written to the dataset.
How to use it
- Open the actor in Apify Console.
- Choose the categories and ranking pages to crawl. Defaults to the four main ranking pages: Top Members, Top Revenue, Trending, Recent.
- Optionally set a language filter.
- Optionally turn on Include recent RSS posts to attach the most recent posts per publication.
- Click Start and export as JSON, CSV or Excel.
Output example
{"record_type": "ghost_explore_publication","slug": "tangle","name": "Tangle","description": "Summarizing the best arguments from across the political spectrum. 100% independent, subscriber-supported, and non-partisan.","newsletter_url": "https://www.readtangle.com","profile_url": "https://explore.ghost.org/p/tangle","icon_url": "https://fls-9e7c60dc-a2b4-4b4b-872e-862c515a14da.laravel.cloud/icons/af03a256-3922-42d6-bb76-fc3bcdabf330-0fc9be73.webp","accent_color": "#951867","member_count": 881000,"show_members": true,"is_top_100": true,"ap_handle": null,"staff_users": [{"name": "Isaac Saul","role": "Owner","posts": 2307,"bio": "I'm a politics reporter who grew up in Bucks County, PA...","twitter": "https://twitter.com/Ike_Saul","linkedin": null,"website": null}],"staff_count": 5,"testimonial": {"quote": "It has now been one year since I quit my full-time job to go all in on Tangle. Today, we have [75,000] paying subscribers. That's roughly [$4M] in gross yearly revenue","author": "Isaac Saul"},"category": "top-members","ranking_list": "top-members","rank": 1,"source_page_url": "https://explore.ghost.org/top-members","rss_posts": null,"scraped_at": "2026-10-03T12:00:00.000Z"}
Technical details
- Stack: Node.js 24,
apifySDK, nativefetch,cheerio. - Source:
https://explore.ghost.org/{category}— server-rendered HTML. No JavaScript execution required. - Extraction: each publication is an
<a data-site-slug="...">anchor carrying the full payload asdata-*attributes.data-staff-usersanddata-testimonialare HTML-entity-encoded JSON objects, decoded automatically by cheerio. - RSS enrichment:
https://explore.ghost.org/api/sites/{slug}/rssreturns a JSON array of recent posts. Optional. - Categories: ranking pages (
top,top-members,top-revenue,trending,recent,social-web,personal) plus 30+ topic pages (tech,business,programming,news,finance,culture,travel,education,art,faith-spirituality,health,literature,sport,entertainment,productivity,design,food-drink,music,crypto,science,fiction,gaming,nature-outdoors,house-home,fashion-beauty,podcasts,gear-gadgets,history,parenting,climate,youtubers). - Language filter: query string
?lang=en(supports en, fr, es, de, it, pt, ja, pl, nl, ko). - Retries: 429 and 5xx responses are retried up to three times with backoff.
- Proxy: defaults to the Apify datacenter pool.
Known limits
- ~52 publications per page. Ghost Explore curates roughly 52 sites per ranking page. There is no server-side pagination on the category page. To cover more publications, crawl more categories.
- Member counts are opt-in. Publications choose whether to display their member count. When
show_membersis false,member_countis null. - The directory is curated, not exhaustive. Ghost Explore lists a curated subset of Ghost publications, not every Ghost site in existence.
- Revenue figures come from testimonials. When a publication supplies a testimonial with revenue or subscriber figures, they appear in
testimonial. This is self-reported. - Duplicate publications across categories. The same publication appears on multiple pages (e.g. Top Members and Tech). Each occurrence is written with its own
categoryandrank.
FAQ
Do I need an API key? No. The directory is public HTML and the RSS endpoint is public JSON.
How many publications are in Ghost Explore? The directory lists a curated subset of Ghost publications across its category pages. Crawling all 35+ categories yields the widest coverage.
What is the difference between top and top-members?
top is Ghost's editorial top pick. top-members ranks by subscriber count. top-revenue ranks by revenue.
Can I get the author's contact email? The staff roster carries social links but not email addresses. Ghost Explore does not publish emails.
What does the testimonial field contain?
The owner's quote, which frequently includes subscriber counts and revenue figures — for example "we have 75,000 paying subscribers, roughly $4M in gross yearly revenue".
Why does the same site appear multiple times?
Because it ranks on multiple category pages. Each row records its own category and rank. Filter by category for a deduplicated per-page view.
Support
Open an issue on the Actor's page for bugs or feature requests.
Changelog
0.1 — 2026-10-03
- Initial build. Keyless extraction of the Ghost Explore newsletter directory.
- Parses the
data-*payload embedded in eacha[data-site-slug]anchor: name, description, external URL, icon, accent color, member count, staff roster, testimonial, ActivityPub handle. - 35+ supported category and ranking pages plus a language filter.
- Optional RSS enrichment via the public
/api/sites/{slug}/rssJSON endpoint. - Rank and source page recorded per row so the same publication can be compared across rankings.
- Retries on 429 and 5xx with backoff.
- No login, no API key, no JavaScript rendering.