Reddit App API · 04 / APP
Create your key, then decide how to fund requests
Create an email/password account, save your API key before payment, and manage request credits through a server-created USDT or USDC invoice on this page.
Register and save the key before leaving
Create an account with your email address and a password of 12–72 bytes in UTF-8. Bytes are not always the same as visible characters. Signup uses email and password; Google login and wallet connection are not available. A password-reset feature is not currently provided, so retain your password securely.
Successful signup displays the API key immediately, before any payment. Save it in your backend’s secret configuration while it is visible. It is a reusable request credential, not a single-use key. The full key cannot be redisplayed on a later account visit; the account view shows its prefix. The server stores a key hash and prefix, not the recoverable raw key.
A key and balance for this domain
Use the saved key with https://api.redditapp.com through X-API-Key or Authorization: Bearer. Do not include it in a mobile binary, browser bundle, URL or public error report. Your own backend makes authenticated archive requests for your app. The account session used on this page is separate from those request headers.
Accounts, balances and keys belong to this domain. A key from another network site does not work here. An eligible registration may receive 100 trial credits, subject to network-wide anti-abuse checks on email and source IP. This trial is conditional, not a promise of free access or an addition included in every paid top-up.
Count requests, not records
One credit pays for one successful retrieval request, including a successful response containing no records. $1 corresponds to 1,000 paid credits; the minimum $50 top-up provides 50,000 paid credits. Returning three records or 100 records does not change the one-credit request price. There is no subscription, and paid credits do not expire.
Invalid requests rejected before a reservation do not debit a credit. A failed upstream request releases its reserved credit, although a refund can remain pending reconciliation. The public /v1/status response is uncharged and does not test the search backend. Review the account balance and successful, pending and refunded request counts when reconciling usage.
Create an invoice before sending funds
Sign in here and create an invoice for the amount you intend to add. Supported choices are USDT on TRON TRC20 and USDC on Ethereum mainnet ERC20. Use the receiving address, exact payable amount, token and network displayed by that server-created invoice. Preserve all displayed decimal places; the payable amount can include a small matching suffix.
Do not send funds using a remembered address or substitute a token contract address for the displayed recipient. A unique invoice does not mean its receiving address changes each time. The invoice displays its expiry, normally one hour after creation. Follow that invoice’s instructions; no fixed confirmation or crediting time is promised.
Verify the transfer and read the actual state
After sending the specified transfer, paste its transaction hash into the invoice verification field. Only a genuine eligible transfer confirmed by the server changes the invoice to paid and adds credits. A pending state, an unavailable verification provider or a transaction hash alone is not payment confirmation. Do not send a second transfer simply because verification is temporarily unavailable.
The widget can retain the latest invoice reference with your user identifier in this browser and retrieve its state when the same user signs in. This is latest-invoice recovery, not a complete transaction-history browser. It does not store the API key there, and a missing or paid invoice does not automatically create a replacement.
If the key is lost, replace it deliberately
A signed-in user can enter the account password and regenerate the API key. Regeneration immediately invalidates the old key, so prepare to update every backend deployment that uses it. Save the new full key when displayed, replace the old secret and check a deliberate request. Regeneration does not recover or email the previous key.
Use Build the feature for the first illustrative request and Budget an app search feature in Field notes to estimate your own usage. Those examples do not confirm a working integration or any particular archive contents.