List proposals
List the workspace's proposals and their status, newest first.
https://api.rankparse.com/v1/proposalsFreeAPI keyReturns the workspace's proposals, newest first, including the ones RankParse created itself (rank-drop investigations, pages not confirmed as indexed, sending changes). Use it to see what the user approved, skipped or let expire, and how each run ended.
Query parameters
statusstringOnly proposals with this status: pending, approved, executing, succeeded, partially_succeeded, failed, skipped, expired, superseded or cancelled. Any other value returns 400 invalid_proposal_input. Omit for every status.
site_idstringOnly this website's proposals. A website of another workspace returns 404 site_not_found. Archived websites of your own workspace are accepted.
limitintegerdefault 251 to 100. Larger values are clamped to 100. A value below 1 or not a number falls back to 25. There is no cursor: to see older items, filter by status or site_id.
Response
proposalsarrayProposal summaries, newest first.
Show propertiesHide properties
idstringProposal id (prp_...).
kindstringindexnow_submit, outreach_send, investigate_drop or outreach_sending_change.
statusstringSee Statuses.
titlestringServer-built summary, for example Send 12 outreach emails to 12 domains.
site_idstring | nullThe website the proposal belongs to, or null for a workspace-level item.
sourcestringagent (created through the API or MCP), system (created by RankParse) or user (a button in the web app).
estimated_creditsintegerCredits the action costs when it runs: 1 for IndexNow, 0 otherwise.
created_atintegerUnix time in milliseconds.
expires_atintegerWhen a pending proposal expires, in Unix milliseconds.
decided_atinteger | nullWhen it was approved or skipped, in Unix milliseconds.
decided_viastring | nullweb (a person decided in the app), policy (the website's Automatic setting) or system.
resultobject | nullOutcome details once it has run. IndexNow: host, url_count, key_location. Outreach: queued, suppressed, changed, already_queued, removed, changed_since_review (the ids of emails that changed after review and were not sent).
error_codestring | nullWhy it failed, or null. See Failure codes.
The summary never contains the URLs, email addresses, subjects or bodies. Those stay in the proposal and are shown only to reviewers in the app.
Errors
| HTTP | Code | When |
|---|---|---|
| 400 | invalid_proposal_input | status is not a valid status. |
| 401 | invalid_api_key | Missing, invalid or revoked API key. |
| 404 | site_not_found | site_id is not a website of your workspace. |
| 429 | rate_limited | More than 60 requests in a minute. |
Related
MCP tool: list_proposals (accepts site_id, status, limit), on the API-key MCP endpoint and the OAuth connector.