🚩 API endpoint · 🚦 Status monitor · 📖 Documentation
🚀 NEW: Substats now takes advantage of Cloudflare Workers' caching mechanism, thereby making itself faster than ever. You should see huge performance gains in terms of load time and responsiveness. Huge shout out to @chawyehsu who made this possible!
I initially wanted to combine the subscriber numbers of Feedly and Inoreader — two of the most popular RSS providers, to calculate how many people are subscribed to my blog's RSS. Then it occured to me: I could actually make this into a "Hub", where you can provide a service name, a query key, and out comes the total subscribers of all your services...Hence, I proudly introduce: Substats!
- 🧊 Serverless deployment, minimum overhead (powered by Cloudflare)
- 🚀 Ultra-fast reachablility for all services (even in mainland China!)
- 🎈 Simple integration, easy-to-use API with nice badges provided by Shields.io
📖 For a detailed documentation on the query format, please see: Docs | Substats Query format.
https://api.spencerwoo.com/substats/
You can make a single query to request your RSS subscribers on Feedly.
GET /?source=feedly&queryKey=https://blog.spencerwoo.com/posts/index.xml
Which returns:
{ "status": 200, "data": { "totalSubs": 13, "subsInEachSource": { "feedly": 13 }, "failedSources": {} } }
You can then use the numbers in data.totalSubs
in a dynamic badge:
GET /?source=feedly|inoreader|newsblur&queryKey=https://blog.spencerwoo.com/posts/index.xml
Which returns:
{
"status": 200,
"data": {
"totalSubs": 49,
"subsInEachSource": {
"feedly": 17,
"inoreader": 29,
"newsblur": 3
},
"failedSources": {}
}
}
Enter the badge! (NewsBlur is too slow to load, below is a static badge for demo purposes.)
GET /?source=telegram&queryKey=realSpencerWoo&source=sspai&queryKey=spencerwoo&source=twitter&queryKey=realSpencerWoo
Which returns:
{
"status": 200,
"data": {
"totalSubs": 1552,
"subsInEachSource": {
"telegram": 786,
"sspai": 638,
"twitter": 128
},
"failedSources": {}
}
}
And of course, our badges!
📖 For a detailed documentation on the API request rules of each service, please see: Docs | Substats API Details.
This is a serverless function deployed on Cloudflare Workers. Please check: Docs | How to contribute if you want to contribute.
This project exists thanks to all the people who contribute.
Thank you for considering donations and sponoring our project. We currently support sponsoring via Open Collective.
Backers | Sponsors |
---|---|
Support this project by becoming a backer. Thank you to all our backers! 🙏 [Become a backer] | Support this project by becoming a sponsor. Your logo will show up here with a link to your website. 🌏 [Become a sponsor] |
对于国内用户,我们支持直接通过微信和支付宝进行小额赞助!
微信支付 | 支付宝支付 |
---|---|
您也可以利用「爱发电」来对我进行支持!
All APIs used in this project are by no means in any relationship with the original content provider. APIs are subject to change. Your mileage may vary, so use this at your own risk.
📈📉 Substats ©Spencer Woo. Released under the MIT License.
Authored and maintained by Spencer Woo.
@Portfolio · @Blog · @GitHub