Authentication
Authenticated endpoints require an API key passed via the Authorization header:
curl -H "Authorization: Bearer prnow_abc123..." \
https://prnow.io/api/v1/status/<press_release_id>Generate API keys from your PRNow account, or via POST /api/v1/keys while logged in. Keys are prefixed with prnow_ and shown in full only once at creation.
Test Your API Key
Before making any other requests, verify your key is valid and see your account details with this endpoint. It returns your account email, name, company, and current credit balance.
curl -H "Authorization: Bearer prnow_your_key_here" \
https://prnow.io/api/v1/test{
"success": true,
"data": {
"message": "API key is valid",
"account": {
"id": "...",
"email": "office@profitlabs.net",
"name": "Your Name",
"company": "Profit Labs",
"credits": 5
}
}
}401 Unauthorized means the key is invalid, revoked, or missing the Bearer prefix.
Reference Values
When submitting a press release, categories must use values from the list below, and country must use a country name from the countries list. Both lists are also available via API at GET /api/v1/categories and GET /api/v1/countries.
Content Limits
- title — 5–200 chars, min 5 words
- summary — max 500 chars
- content — max 1,250 words
- links in content — max 5
- inline images — max 3
- YouTube embeds — max 1
- Google Maps embeds — max 1
- categories — 1 to 5 from list below
- metaTitle — max 60 chars
- metaDescription — max 200 chars
- metaKeywords — max 250 chars
- imageAlt — max 125 chars (SEO)
- imageCaption — max 300 chars
- city + country — both required
Valid Categories
GET /api/v1/categoriesPass one or more of these exact strings in the categories array. Values are case-sensitive.
Valid Countries
GET /api/v1/countriesUse the name value (not the code) in the country field. Example: "country": "United States"
AFALDZADAOARAMAUATAZInteractive API Explorer
Test the endpoints directly below. To use secured endpoints, click "Authorize" on the right and input your API key (e.g. prnow_xxxxx).
Error Codes
| Code | Meaning |
|---|---|
200 | Success |
400 | Bad request — missing or invalid fields |
401 | Unauthorized — invalid or missing API key |
402 | Payment required — insufficient credits |
404 | Not found — press release doesn't exist or not owned by you |
500 | Internal server error |
All responses follow the same shape: { "success": bool, "data": ..., "error": "..." }. Check success first, then read data on success or error on failure.