Two places to prepare before signup
Prepare a place for the server's secret and a separate place for the response you will inspect. The PostgreSQL example needs both, but only the latter belongs in a mapping fixture. Decide which process will make the first request before copying the key into its configuration.
Register with email and a password of 12–72 bytes in UTF-8. Characters can occupy more than one byte, so character count alone is not the password limit. No Google login, wallet connection or wallet-address entry is required. Successful signup displays the API key immediately, before payment, and only once. Save it securely then; it is not emailed later or redisplayed on ordinary login.
The account panel is on this key page. Sign in to view the redditextract.com balance and manage your key. A signed-in user can generate a replacement after confirming the password; this immediately invalidates the previous key. Update the secret used by your extraction worker before resuming its requests. There is no password-reset or reset-email feature. The optional 100-credit trial is conditional on network-wide anti-abuse eligibility, not guaranteed by signup.
Give the extraction worker its credential
Your worker authenticates with the domain key through X-API-Key or Authorization: Bearer. Keep that secret in your server configuration, not in a browser bundle or a saved PostgreSQL extraction fixture. The website uses a Secure HttpOnly session cookie. Browser localStorage keeps the invoice and user identifiers per host for invoice recovery; it does not persist the raw API key.
Decide whether the first run needs a retry
Start with the documented PostgreSQL request and inspect available fields before committing to a destination schema. Missing values, record types and incomplete references should be handled by your own mapper. HTTP 401 means the retrieval credential is missing or invalid; 402 means insufficient credit and 429 a rate limit. /v1/status is public and uncharged, but it cannot confirm your key, balance, extraction result or archive completeness.
After the first attempt, distinguish three outcomes: a received page you can inspect, a local conversion error on that page, and no usable response at the client. Fix a conversion against saved input. A lost response can still have consumed a credit if the server succeeded; a successful retry costs another. Keep that uncertainty in your request log instead of treating a timeout as proof of a free call.
Add retrieval credits when the field check needs more input
The price is $1 per 1000 successful retrievals, including empty results. One request costs one credit; a $50 minimum paid top-up adds 50000 paid credits. Paid credits do not expire and there is no subscription. The key and balance are tied to this domain, not shared across the network. Plan for billed page retrieval separately from repeated local parsing of the same saved response.
After login, choose supported USDT TRC20 or USDC ERC20 on Ethereum mainnet and create a server invoice. Follow that invoice’s receiving address, exact amount, token and network. After the transfer, paste its transaction hash to request verification and consult the returned status. Do not infer an address-rotation policy from invoice uniqueness or expect a guaranteed confirmation time. An unsuccessful local transformation is not a payment or credit-refund event.
The invoice expires one hour after creation. Verify its current recipient and exact amount before sending; an old note is not a payment instruction. Submit the transaction hash after transfer. A provider outage can leave verification pending, so wait for the reported result rather than assuming the balance changed.