Vellumine: Full-Text Search & Analytics for Ghost: Open Beta

Hi everyone,

I’ve been building a search and analytics tool for Ghost blogs and I’m excited to open it up for beta testing. It’s called Vellumine and it’s free to use until May 1st with all features unlocked!

What it does

Vellumine replaces Ghost’s native search with a full-text search powered by Typesense. Instead of matching only titles and excerpts, it searches the entire content of your posts and pages. It also gives you analytics on what your readers are searching for!

Search features:

  • Full-text search across all post and page content
  • Typo tolerance (e.g. “javscript” still finds JavaScript posts)
  • You can add custom synonyms (e.g. “JS” = “JavaScript” = “ECMAScript”)
  • Stopwords to filter noise
  • Semantic/hybrid search using AI embeddings
  • Full Unicode/UTF-8 support that works with any language including CJK, Arabic, Cyrillic and more

Members-only content

Vellumine indexes members-only and paid posts so they appear in search results, without exposing the full content. Readers see that a relevant gated post exists and may be motivated to subscribe. It turns your search bar into a lead conversion for paid subscriptions.

Analytics*:

  • Popular search queries (with trends)
  • No-hits queries: content your readers are searching with no results
  • Click-through rates: ratio of searches to article clicks
  • Geographic distribution
  • Popular tags and most-clicked posts
  • Weekly email summaries of your analytics

* All analytics are GDPR-compliant. No Personally Identifiable Information (PII), no cookies, no fingerprinting.

Customization:

  • Two search bar templates: Native and Grid
  • Full color customisation for light and dark modes
  • Every label is customizable for internationalization
  • Dynamic (analytics-based) or manual search suggestions

How Vellumine works

  1. Sign up at vellumine.com and create a collection with your Ghost Admin API URL and key.
  2. Vellumine indexes your content automatically.
  3. Paste a single script tag into Settings > Code injection.

That’s it. The script automatically replaces Ghost’s native search. The content stays in sync via webhooks whenever you publish, update or delete posts.

It works with any Ghost hosting setup, whether you self-host, use Ghost(Pro), or any other hosting provider like Magic Pages or Synaps Media. As long as your Ghost Admin API is accessible, Vellumine can connect to it.

On API key security: Your Admin API key is encrypted at rest and only used server-side in read-only mode. It’s never included in client-side code. Vellumine only reads your content for indexing. It never modifies anything on your site.

Beta details

The beta runs until May 1st, 2026. Everything is free during this period, no credit card required. After that, Vellumine will move to paid plans. Early adopters who share feedback will receive exclusive discounts as a thank-you!

Links

I’m building this as a solo developer and I will be actively shaping the product based on feedback. I’d love to hear what you think (what works, what’s missing, what you’d want from a Ghost search tool).

Happy to answer any questions in this thread.

3 Likes

What is the expected price for this once it leaves beta?

2 Likes

This looks great. I tried the beta signup, but the collection would not sync. I’ve sent you an email about it. Please advise as to possible issues. Thanks!

I have a tiered pricing structure in mind that would start from 5$/month for small blogs and higher priced tiers for growing and large publications, but I am also evaluating a more pay-as-you-go strategy that would take the number of indexed posts and pages into account. This partly depends on the feedback received during the beta.

1 Like

Hi @jrunning,

thanks for signing up and sorry for the hiccup. I fixed a minor bug that was causing one of your pages to not be processed properly. It’s working now.

Thanks for the quick reply. Working great!

So easy to use and implement!!

Thanks again!

P.S. If anyone wants to see the implementation my site is at https://www.runningrestaurants.com/

3 Likes

I am currently on a free plan using Algolia, and there are deficiencies it looks like Vellumine addresses. I am reluctant to switch without knowing more about the pricing structure. $5/mo seems reasonable to me but I don’t want to enter into a volume pricing structure without knowing where it might end up.

There are currently over 1700 articles in the database and those are added to at the rate of about 10-20/month. I don’t know how many searches are performed each month through I could look through my Algolia logs to get a sense of that.

Hi @TheChocolateLife,

there is a big range of sizes for blogs and I want to make sure the prices are fair and sustainable. To be transparent, in the price tiers I have in mind currently, with 1,700 articles you’d fall into the Pro tier ($15/mo billed yearly), which supports up to 5,000 posts. This gives you breathing room for years of growth at that same price.

Since the infrastructure for Semantic/Hybrid search is more expensive, I currently see this feature in the Growth tier at $30/mo. However, for early adopters during the beta, I’m looking at ways to make these advanced features more accessible.

In contrast to Algolia I don’t want to put a limit on searches. I plan to offer predictable, flat-rate pricing regardless of how much traffic your search bar gets.

I would like to discuss this in more detail with you. I’ll send you a DM if that`s alright.

Which features of the Admin API key does this use? Accessing the non-public content in read-only mode?

It would be great if Ghost offered a separate API key for that.

Yes, the Admin API key is needed to access and index non-public posts and pages. Other than that, Vellumine fetches the authors and tags from your blog, since these are also indexed. The only write operation it performs is to register webhooks, so your posts, pages and tags stay in sync (unfortunately there are no webhooks for authors). Nothing else is ever modified or deleted.

I agree it would be great to have more granular control over the permission set for API keys.

Thanks for the explanation. I opened an “Idea” thread to request a more granular key. It would help integration vendors like you in a couple of valuable ways:

  • Customers might be more likely to sign up because they would be taking on less risk by sharing less access.
  • You would have less risk exposure as a vendor because the impact of keys becoming compromised through your service is reduced.

I was just looking at a local new site today running on Ghost and noticing it didn’t have full-text search, so I understand the value of your service!

https://forum.ghost.org/t/read-only-admin-api-key-or-content-api-key-that-can-access-private-content

3 Likes

+1 for scoped keys! :)

Using Brave on my MCB, I couldn’t type in anything on your search bar, @jrunning.

That’s curious. On my Linux machine it works fine with the Brave browser. Thank you for reporting this, I’ll investigate it.