Skip to content

Latest commit

 

History

57 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Papoa icon

Papoa

Chrome Extension REST API CLI License

Programmatically prepare, publish and update posts on patreon.com.
This project is not affiliated with patreon.com


Background

I distribute several programs on patreon.com/Shynixn and use Patreon to post regular updates to my supporters. With multiple programs each needing their own updates every month, creating all those posts by hand is tedious and error-prone — copy-pasting content, attaching files, double-checking formatting, repeat.

So I built Papoa to automate it. What makes this particularly frustrating is that Patreon, a market leader in creator monetisation, still does not offer a public API for creating or publishing posts in 2026. For a platform of that size and maturity, that is honestly embarrassing. Papoa works around that gap.

How It Works

The official Patreon API does not provide POST actions for creating or publishing posts. On top of that, browser automation approaches based on Selenium, headless browsers, or other fake-browser techniques are typically blocked by Cloudflare. In practice, that means the usual server-side automation routes are not viable.

The remaining workable approach is similar to how AI agents interact with websites: a browser-resident extension operating inside a real user session. Papoa follows that model.

This API works by accepting your post metadata and files, storing that data in a repository, and then letting a Chrome extension poll for pending work. When the extension detects a job, it opens Patreon in your browser session and executes the required steps on your behalf using the browser's normal autofill and page interaction mechanisms.

To use this API, you need two parts:

  1. An integration that sends your post metadata and files to this API. You can use the provided CLI or build your own
  2. A web browser where you are already logged in to your Patreon account, with the Chrome extension installed and allowed to control the browser when patreon.com is open.

The Chrome extension is fully public in this repository, so you can inspect and verify exactly what it does before using it.

You do not send Patreon credentials to this service. Authentication stays inside your own browser session, and the extension operates locally in that session. From Patreon's point of view, this behaves like a browser automation or text autofill helper acting inside a real, logged-in browser, rather than a third-party service impersonating your account.

Install and Create Your First Post

Step 1 — Get Your API Key

Visit papoa.shynixn.com and agree to the terms of service. Your free-tier API key will be shown after acceptance.

For higher limits, subscribe to a membership at patreon.com/c/shynixn/membership and your key will be upgraded on re-login on papoa.shynixn.com.

Tier API Requests / Day Posts / Month Upload Limit / Month
Free 300 5 5 MB
Basic 300 100 500 MB
Elite 500 200 2 GB
Legendary 500 500 5 GB

Step 2 — Download the CLI

Download the latest release for your platform from GitHub Releases.

Step 3 — Configure the CLI

The CLI contains an non-interactive mode for automations and an interactive, guided mode for basic operations. The guide here uses the interactive mode, but you should consider using the non-interactive mode in most scenarious.

For the full CLI reference, non interactive, see the CLI documentation and Test examples


Open the interactive version of the CLI by just starting the downloaded CLI without any arguments.

e.g. for windows, double click the papoa-win-x64.exe file

It should prompt you for your API key.

No API key found. Set the PAPOA_API_KEY environment variable, or enter one now.
API key:
  ____
 |  _ \    __ _   _ __     ___     __ _
 | |_) |  / _` | | '_ \   / _ \   / _` |
 |  __/  | (_| | | |_) | | (_) | | (_| |
 |_|      \__,_| | .__/   \___/   \__,_|
                 |_|

Main Menu

> Posts
  Exit

Try the "list" command to see if the connection works as expected.

  ____
 |  _ \    __ _   _ __     ___     __ _
 | |_) |  / _` | | '_ \   / _ \   / _` |
 |  __/  | (_| | | |_) | | (_) | | (_| |
 |_|      \__,_| | .__/   \___/   \__,_|
                 |_|


No posts found.

Press any key to continue...

Step 4 — Install the Chrome Extension

The CLI queues posts for the Chrome extension to publish on your behalf. Follow the Chrome Extension Installation Guide to download, load, and configure the extension.

Step 5 — Create Your First Post

Download these two sample files to get started:

Place both files in the same folder, then open the Papoa interactive GUI (double-click the executable or run it without arguments). Use Posts → Create.

  1. Enter a title and select Text file
Create Post

Title: My first Papoa post
Post text:

  None
  Inline text
> Text file
  1. Navigate to and select the post.md file — the browser closes immediately after selection

  2. Select text format markdown

Content format:

  text/plain
> text/markdown
  1. Set other optional fields or leave them empty
Is the post public (available to everyone)?
No = restricted to paying Patreons only [y/n] (n): n
Tier names (which tiers can access this post) (enter value, leave blank to finish)
Value (blank = done):
Collection names (collections this post belongs to) (enter value, leave blank to finish)
Value (blank = done):
  1. Browse to and add the icon.png file, then choose ✓ Done
Add files to attach: (arrows to navigate, enter to open/select, choose ✓ Done when finished)
Current: /home/myuser
Selected: none
Current: /home/myuser/git
Selected: none
Current: /home/myuser/git/PatreonPostApi
Selected: none
Current: /home/myuser/git/PatreonPostApi/papoa.resources
Selected: none
Added: icon.png
Add another file? [y/n] (n): n
  1. Select which files should be photo attachments (spacebar to toggle, enter to confirm)
Which files should be photo attachments? (space to toggle, enter to confirm)
> [x] icon.png
  1. Select which files should be regular attachments
Which files should be regular attachments? (space to toggle, enter to confirm)
> [x] icon.png
  1. Encrypt with password and add a personal password. You should use the same password for all of your posts.
Encrypt with password? [y/n] (n): y
Password: ****
  1. Success — all post fields are printed
  Uploaded icon.png.
Post created!
  Id:                    017ef6005bf8435b8f0f541a81e3cef3
  Title:                 My first Papoa post
  Content:               # April Update — New Chapter & Behind-the-S…
  Content Format:        text/markdown
  Status:                pending
  Is Public:             False
  Encrypted:             True
  Files:                 [icon.png]
  ...
  1. Use Post List to see all of your already created posts
  Id:                    017ef6005bf8435b8f0f541a81e3cef3
  Title:                 My first Papoa post
  Content:               # April Update — New Chapter & Behind-the-S…
  Content Format:        text/markdown
  Status:                pending
  Is Public:             False
  Encrypted:             True
  Files:                 [icon.png]
  Photo Attachments:     icon.png
  Attachments:           icon.png
  Created At:            2026-05-09T18:05:56.977Z
  Patreon Updated At:    -

  • This post has not been posted to patreon.com yet. You can see that the Patreon Updated At timestamp is not a valid value yet.
  • Posts automatically vanish after 30 days from Papoa. They stay available in patreon.com but are no longer managed by Papoa.

Step 7 — Automated posting to patreon.com

  1. Click on the refresh button on the top right in the Papoa ChromeExtension to load your posts.
Screenshot — load posts

Extension active and polling for pending posts

  1. Open the settings page and go through each of this points.
Screenshot — settings page

Extension settings page

Patreon checklist

Before continuing, make sure:

  • You are logged into patreon.com in this browser.
  • Your Patreon language is set to English (United States) — you can check this at https://www.patreon.com/settings/account.
  • You accept that the extension cannot be held responsible if a post is published with incorrect settings (e.g. wrong tier permissions).

Settings explained

Setting What it does
Decryption password If you encrypted your files with a password in the CLI, enter that same password here so the extension can decrypt them before attaching.
Background fetch The extension automatically opens a new Patreon tab, fills in the post, and waits. You still need to click Post yourself. Use this for semi-automation.
Auto-submit The extension fills in the post and clicks Post automatically — no user input needed. Combine with Background fetch for fully autonomous posting.

Note: Patreon can change their website at any time, which may temporarily break auto-submit. Always check your posts after publishing.

For this first test post, leave both Background fetch and Auto-submit disabled. This lets you review the filled-in post before submitting it yourself.

  1. Click Post to patreon.com to queue the post for publishing.

Helpful Links

Questions and Answers

The Chromeextension does not fill in anything?

Make sure your Patreon language is set to English (United States) — you can check this at https://www.patreon.com/settings/account.


How long do I have to publish the post after sending it to Papoa?

You have 24 hours. After that, any files attached to the post are permanently deleted from Papoa. The post metadata may remain accessible depending on your TTL setting, but the uploaded files are gone. Make sure the Chrome extension processes the post promptly after creation.


How long can I update a post?

The default TTL (time-to-live) for post metadata in Papoa is 30 days. You can reduce this to as few as 1 day or extend it to up to 90 days using the --ttl-days option on post create. Within the TTL window you can update metadata — visibility, tiers, tags, content — but you cannot change the attached files. Those are fixed at creation time.


What if patreon.com updates their website? Will this extension break?

Yes, expect it to break in the future, potentially multiple times. Patreon can change their page structure, element names, or interaction flows at any time, and the Chrome extension relies on those details to automate the form. When that happens, wait until this app is updated, download the new files, and rerun your post. Do not enable Auto-submit if your business depends on reliable automation — instead, review the filled-in draft manually and click Post yourself.


Final Notes

Thank you for using Papoa — I hope it saves you as much time as it saves me. If you run into issues or have ideas, feel free to open an issue on GitHub. You can also message me via private message on https://patreon.com/c/Shynixn

About

PatreonPost API (Papoa) allows you to programmatically prepare and publish posts on patreon.com. This project is not affiliated with Patreon.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages