Possible to create a Ghost member or MRR counter for this awesome LED display? Tidbyt

Hey all!

I stumbled upon this awesome product recently: Tidbyt LED Display. It was a successful kickstarter and has solid reviews. They have an app store with community submitted apps. They are viewable in this github repo. I saw apps with Shopify integrations that show sales made that day, monthly revenue, number of customers, etc. Also YouTube subscriber counters, Stripe daily sales, etc…

It got me thinking that an app for Ghost would be awesome. Showing number of free members, paid members, monthly growth, MRR, etc…

I don’t have much dev experience, but their documentation on how to create and publish and app seems “simple” enough.

Reading through the docs, how to display the data makes sense to me. But how to get the Ghost data is the first step and is also where I’m lost.

I’ve been browsing Ghost’s Admin API docs, but don’t see a simple way to pull stats like number of paid members or MRR. Is it possible to pull those numbers from the Ghost API?

Is this possible? Anyone else interested in having a fun display to show your Ghost numbers?

I’m not sure if it’s documented, but there are several /ghost/api/admin/stats/* endpoints that respond with the associated statistics - I think that’s what you’re looking for. You can see the request URL and response by using the network tab of your browser’s developer tools when you visit your Ghost dashboard

Thanks @vikaspotluri123 I’ll look into that! I didn’t see it right away but I’m probably looking in the wrong area.

I also found a really simple service that may be perfect for this: Tolta

They have a Ghost integration for tracking members and MRR. Each tracker can be displayed in a few ways, including as this incredibly basic webpage for embedding purposes. It may work to scrape for a Tidbyt app.

Here’s an example of a webpage that displays my number of Ghost blog members:

I think the next step is using the Starlib HTML module to scrape the number either from the page title or the body of this page.

Also I need to make sure I can pass in a user variable to the URL so I can make this app public and people can enter their own embed code. If I go this route it should work with any app that integrates with Tolta, not just Ghost!

Thanks for pointing me in the right direction!
This should be more native than the Tolta route I was going.
I found the following endpoints that should be perfect for what I need:

/ghost/api/admin/stats/member_count/
/ghost/api/admin/stats/mrr/
/ghost/api/admin/stats/subscriptions/ (I think # of Stripe subscriptions? Not as useful for me but cool)

Super rad to see I have access to these numbers dating back to my Ghost site’s very first day!

I bought a Tidbyt that should arrive in a few weeks.
Hoping to have a few Ghost apps launched on their marketplace by then!

Will share updates and pictures if things go according to plan :cowboy_hat_face:

2 Likes

Getting this error when trying to pass a token to retrieve the stats:

    "errors": [
        {
            "message": "The server does not support the functionality required to fulfill the request.",
            "context": null,
            "type": "NotImplementedError",
            "details": null,
            "property": null,
            "help": null,
            "code": null,
            "id": "0397dcb0-c3e3-11ed-8ace-af04ae60eda0",
            "ghostErrorCode": null
        }
    ]
}

Is it possible to pull /stats using a single session auth token? Am I doing something wrong?

I don’t see /stats on this list of Ghost’s API endpoints. But I know I can access when logged in.

I think this is the case - from my understanding, session auth has access to all admin endpoints, while token auth has access to only a subset.

I have a buddy helping me with the Ghost endpoint. I’ll have to ask how what auth method he’s using. Token auth only has access to a subset of endpoints? Maybe that’s the error he’s running into.

On the flipside, I’m making a lot of progress using tolta.co as a middleman to move the needed data from Ghost to my Tidbyt app. Looking like that will be the simpler route for my end goal.

Abracadabra!

Got my Tidbyt in the mail yesterday :cowboy_hat_face:

My app is working and can track the following Ghost data points:

  • Total members
  • Paid members
  • Free members
  • MRR

Planning on sending it to the Tidbyt app store this week and hopefully it will be approved and available for everyone!

I built in 3 different layouts, a bunch of icons including the sexy purple Ghost logo, and a handful of font sizes.

PS I ended up using a third party tool to do the heavy lifting to get the data, not the Ghost API directly (for now)

Integration works with: Ghost, Twitter, YouTube, ChartMogul, Paddle, Gumroad, and Clubhouse!

Final update coming when app is approved.