Pricing

Request units vs credits, monthly quotas, and the per-endpoint cost map.

The Public API uses two independent meters:

  1. Request units, bound to the per-key rate limit and the monthly request quota of the account the key acts in. Most /v1/* calls cost 1 request unit; heavier endpoints (audits, content briefs, report runs) cost up to 8, and account lookups cost 0.
  2. Credits, consumed by endpoints that hit a paid LLM or third-party search backend. Reservations come out of the same credit pool you already use inside the Rank Prompt UI.

Endpoints that do AI or search work debit credits as well: brand audits and content briefs cost 10, page audits, brand facts and AI suggestions cost 1, and report runs cost 1 per prompt for up to three AI platforms and 2 per prompt for four to six. A prompt discovery (POST /v1/brands/{brand_id}/prompt-discoveries) costs 1 credit for a research or a page read, and nothing when the same seed and mode, or the same page, country and intent, ran in the last 24 hours; the free sources on GET never debit credits. Everything else only moves the request-unit meter. The canonical, machine-readable cost for every route is the table below, derived straight from the OpenAPI spec.

Cost map

Every /v1/* endpoint, its weight in request units, and any flat credit cost it carries:

/agency

27 endpoints
Endpoint Request units Credits
GET /v1/agency/competitors
2 ·
GET /v1/agency/heatmap
2 ·
GET /v1/agency/portfolio
2 ·
GET /v1/agency/prospect-lists
1 ·
GET /v1/agency/prospect-lists/{list_id}
1 ·
GET /v1/agency/prospect-lists/{list_id}/pipeline
1 ·
POST /v1/agency/prospect-lists/{list_id}/pipeline-runs
5 ·
POST /v1/agency/prospect-lists/{list_id}/prospects
2 ·
GET /v1/agency/prospect-report-views
1 ·
POST /v1/agency/prospect-searches
5 5
GET /v1/agency/prospect-suggestions
1 ·
GET /v1/agency/prospecting-overview
1 ·
GET /v1/agency/prospects/funnel
1 ·
PATCH /v1/agency/prospects/{prospect_id}
2 ·
POST /v1/agency/prospects/{prospect_id}/contact-lookups
3 1
GET /v1/agency/prospects/{prospect_id}/outreach-preview
1 ·
POST /v1/agency/prospects/{prospect_id}/pitch
3 1
POST /v1/agency/prospects/{prospect_id}/reports
5 ·
GET /v1/agency/reviews
1 ·
GET /v1/agency/saved-prospect-searches
1 ·
POST /v1/agency/saved-prospect-searches
2 5
DELETE /v1/agency/saved-prospect-searches/{search_id}
1 ·
PATCH /v1/agency/saved-prospect-searches/{search_id}
1 ·
GET /v1/agency/saved-prospect-searches/{search_id}/runs
1 ·
GET /v1/agency/tasks
2 ·
GET /v1/agency/tasks/summary
1 ·
GET /v1/agency/undated-articles
2 ·

/brands

246 endpoints
Endpoint Request units Credits
GET /v1/brands
1 ·
POST /v1/brands
1 ·
DELETE /v1/brands/{brand_id}
1 ·
GET /v1/brands/{brand_id}
1 ·
PATCH /v1/brands/{brand_id}
1 ·
GET /v1/brands/{brand_id}/ai-crawlers
1 ·
GET /v1/brands/{brand_id}/alias-suggestions
1 ·
DELETE /v1/brands/{brand_id}/alias-suggestions/{business_name}
1 ·
POST /v1/brands/{brand_id}/alias-suggestions/{business_name}/acceptances
1 ·
GET /v1/brands/{brand_id}/analytics/ai-traffic
2 ·
GET /v1/brands/{brand_id}/analytics/connection
1 ·
PATCH /v1/brands/{brand_id}/analytics/connection
2 ·
POST /v1/brands/{brand_id}/analytics/connection-links
1 ·
GET /v1/brands/{brand_id}/analytics/pages
2 ·
GET /v1/brands/{brand_id}/analytics/properties
2 ·
POST /v1/brands/{brand_id}/analytics/refreshes
5 ·
GET /v1/brands/{brand_id}/analytics/summary
2 ·
GET /v1/brands/{brand_id}/audits
2 ·
POST /v1/brands/{brand_id}/audits
8 10
POST /v1/brands/{brand_id}/audits/runs
8 10
GET /v1/brands/{brand_id}/audits/{audit_id}
3 ·
POST /v1/brands/{brand_id}/audits/{audit_id}/citations
3 1
POST /v1/brands/{brand_id}/audits/{audit_id}/recommendations
5 3
DELETE /v1/brands/{brand_id}/audits/{audit_id}/shares
1 ·
GET /v1/brands/{brand_id}/audits/{audit_id}/shares
1 ·
POST /v1/brands/{brand_id}/audits/{audit_id}/shares
3 ·
PATCH /v1/brands/{brand_id}/audits/{audit_id}/shares/{share_id}
1 ·
GET /v1/brands/{brand_id}/campaigns
1 ·
POST /v1/brands/{brand_id}/campaigns
1 ·
GET /v1/brands/{brand_id}/campaigns/{campaign_id}
1 ·
PATCH /v1/brands/{brand_id}/campaigns/{campaign_id}
1 ·
GET /v1/brands/{brand_id}/campaigns/{campaign_id}/preview
1 ·
GET /v1/brands/{brand_id}/campaigns/{campaign_id}/timeline
1 ·
GET /v1/brands/{brand_id}/citations
2 ·
GET /v1/brands/{brand_id}/citations/authors
2 ·
GET /v1/brands/{brand_id}/citations/authors/{author_key}/pages
2 ·
GET /v1/brands/{brand_id}/citations/domains
2 ·
GET /v1/brands/{brand_id}/citations/offsite
2 ·
GET /v1/brands/{brand_id}/citations/offsite/pages
2 ·
GET /v1/brands/{brand_id}/citations/pages
2 ·
GET /v1/brands/{brand_id}/citations/series
2 ·
GET /v1/brands/{brand_id}/citations/social
2 ·
GET /v1/brands/{brand_id}/citations/social/groups
2 ·
POST /v1/brands/{brand_id}/client-report-versions/{version_id}/shares
1 ·
GET /v1/brands/{brand_id}/cms-connections
1 ·
POST /v1/brands/{brand_id}/cms-connections
2 ·
DELETE /v1/brands/{brand_id}/cms-connections/{connection_id}
1 ·
GET /v1/brands/{brand_id}/cms-connections/{connection_id}
1 ·
POST /v1/brands/{brand_id}/cms-connections/{connection_id}/checks
1 ·
POST /v1/brands/{brand_id}/community-searches
2 1
GET /v1/brands/{brand_id}/community-threads
1 ·
POST /v1/brands/{brand_id}/community-threads
1 ·
PATCH /v1/brands/{brand_id}/community-threads/{thread_id}
1 ·
PUT /v1/brands/{brand_id}/community-threads/{thread_id}/context
3 ·
PUT /v1/brands/{brand_id}/community-threads/{thread_id}/draft
3 ·
GET /v1/brands/{brand_id}/competitors
2 ·
GET /v1/brands/{brand_id}/competitors/duplicates
2 ·
POST /v1/brands/{brand_id}/competitors/merges
2 ·
GET /v1/brands/{brand_id}/competitors/summary
2 ·
DELETE /v1/brands/{brand_id}/competitors/{competitor_id}
2 ·
PATCH /v1/brands/{brand_id}/competitors/{competitor_id}
1 ·
GET /v1/brands/{brand_id}/contact-lists
1 ·
POST /v1/brands/{brand_id}/contact-lists
1 ·
POST /v1/brands/{brand_id}/contact-lists/previews
1 ·
GET /v1/brands/{brand_id}/contact-lists/{list_id}
1 ·
PATCH /v1/brands/{brand_id}/contact-lists/{list_id}
1 ·
GET /v1/brands/{brand_id}/contact-lists/{list_id}/contacts
1 ·
POST /v1/brands/{brand_id}/contact-lists/{list_id}/contacts
1 ·
DELETE /v1/brands/{brand_id}/contact-lists/{list_id}/contacts/{contact_id}
1 ·
GET /v1/brands/{brand_id}/contacts
1 ·
PATCH /v1/brands/{brand_id}/contacts
1 ·
POST /v1/brands/{brand_id}/contacts
1 ·
GET /v1/brands/{brand_id}/contacts/{contact_id}
1 ·
PATCH /v1/brands/{brand_id}/contacts/{contact_id}
1 ·
GET /v1/brands/{brand_id}/contacts/{contact_id}/citations
1 ·
GET /v1/brands/{brand_id}/content-autopilot
1 ·
PATCH /v1/brands/{brand_id}/content-autopilot
2 ·
GET /v1/brands/{brand_id}/content-briefs
2 ·
POST /v1/brands/{brand_id}/content-briefs
8 10
GET /v1/brands/{brand_id}/content-briefs/ai-traffic
3 ·
GET /v1/brands/{brand_id}/content-briefs/citation-uplift
3 ·
POST /v1/brands/{brand_id}/content-briefs/generations
8 10
POST /v1/brands/{brand_id}/content-briefs/manual
2 ·
DELETE /v1/brands/{brand_id}/content-briefs/{brief_id}
1 ·
GET /v1/brands/{brand_id}/content-briefs/{brief_id}
3 ·
PATCH /v1/brands/{brand_id}/content-briefs/{brief_id}
1 ·
PATCH /v1/brands/{brand_id}/content-briefs/{brief_id}/assets
2 ·
POST /v1/brands/{brand_id}/content-briefs/{brief_id}/generations
5 10
GET /v1/brands/{brand_id}/content-briefs/{brief_id}/interlinks
1 ·
POST /v1/brands/{brand_id}/content-briefs/{brief_id}/interlinks/{interlink_id}/applications
3 ·
POST /v1/brands/{brand_id}/content-briefs/{brief_id}/interlinks/{interlink_id}/dismissals
1 ·
POST /v1/brands/{brand_id}/content-briefs/{brief_id}/outlines
3 1
POST /v1/brands/{brand_id}/content-briefs/{brief_id}/publish
3 ·
DELETE /v1/brands/{brand_id}/content-briefs/{brief_id}/publish-schedules/{schedule_id}
1 ·
PATCH /v1/brands/{brand_id}/content-briefs/{brief_id}/publish-schedules/{schedule_id}
1 ·
GET /v1/brands/{brand_id}/content-briefs/{brief_id}/review
1 ·
POST /v1/brands/{brand_id}/content-briefs/{brief_id}/review/comments
2 ·
PATCH /v1/brands/{brand_id}/content-briefs/{brief_id}/review/comments/{comment_id}
1 ·
DELETE /v1/brands/{brand_id}/content-briefs/{brief_id}/review/share
1 ·
PUT /v1/brands/{brand_id}/content-briefs/{brief_id}/review/share
2 ·
GET /v1/brands/{brand_id}/content-calendar
2 ·
GET /v1/brands/{brand_id}/content-calendar/undated
2 ·
GET /v1/brands/{brand_id}/content-opportunities
3 ·
POST /v1/brands/{brand_id}/content-opportunities/refreshes
4 ·
POST /v1/brands/{brand_id}/content-optimizations
8 10
POST /v1/brands/{brand_id}/content-plans
10 ·
GET /v1/brands/{brand_id}/content-plans/{batch_id}
2 ·
GET /v1/brands/{brand_id}/content-preferences
1 ·
PATCH /v1/brands/{brand_id}/content-preferences
2 ·
POST /v1/brands/{brand_id}/content-preferences/voice-extractions
3 ·
GET /v1/brands/{brand_id}/email-sequences
1 ·
POST /v1/brands/{brand_id}/email-sequences
1 ·
GET /v1/brands/{brand_id}/email-sequences/{sequence_id}
1 ·
PATCH /v1/brands/{brand_id}/email-sequences/{sequence_id}
1 ·
POST /v1/brands/{brand_id}/email-sequences/{sequence_id}/steps/{step_id}/variants
1 ·
GET /v1/brands/{brand_id}/email-sequences/{sequence_id}/variants
1 ·
PATCH /v1/brands/{brand_id}/email-sequences/{sequence_id}/variants/{variant_id}
1 ·
GET /v1/brands/{brand_id}/email-templates
1 ·
POST /v1/brands/{brand_id}/email-templates
1 ·
PATCH /v1/brands/{brand_id}/email-templates/{template_id}
1 ·
GET /v1/brands/{brand_id}/emails
1 ·
POST /v1/brands/{brand_id}/emails
1 ·
POST /v1/brands/{brand_id}/emails/ai-compositions
1 1
GET /v1/brands/{brand_id}/emails/replies
1 ·
GET /v1/brands/{brand_id}/emails/summary
1 ·
GET /v1/brands/{brand_id}/emails/{email_id}
1 ·
PATCH /v1/brands/{brand_id}/emails/{email_id}
1 ·
POST /v1/brands/{brand_id}/emails/{email_id}/reply-drafts
1 ·
POST /v1/brands/{brand_id}/emails/{email_id}/sends
1 ·
GET /v1/brands/{brand_id}/emails/{email_id}/thread
1 ·
POST /v1/brands/{brand_id}/exports
2 ·
GET /v1/brands/{brand_id}/exports/{export_id}
1 ·
GET /v1/brands/{brand_id}/facts
1 ·
PATCH /v1/brands/{brand_id}/facts
1 ·
POST /v1/brands/{brand_id}/facts
2 1
GET /v1/brands/{brand_id}/fanouts
2 ·
GET /v1/brands/{brand_id}/fanouts/prompts
2 ·
GET /v1/brands/{brand_id}/gbp/locations
1 ·
GET /v1/brands/{brand_id}/gbp/locations/{location_id}/geo-scans
1 ·
POST /v1/brands/{brand_id}/gbp/locations/{location_id}/geo-scans
1 ·
GET /v1/brands/{brand_id}/gbp/locations/{location_id}/geo-scans/{scan_id}
1 ·
GET /v1/brands/{brand_id}/gbp/locations/{location_id}/performance
2 ·
POST /v1/brands/{brand_id}/gbp/locations/{location_id}/post-schedules
1 ·
GET /v1/brands/{brand_id}/gbp/locations/{location_id}/profile
2 ·
PATCH /v1/brands/{brand_id}/gbp/locations/{location_id}/profile
1 ·
GET /v1/brands/{brand_id}/gbp/locations/{location_id}/reviews
2 ·
POST /v1/brands/{brand_id}/gbp/locations/{location_id}/reviews/{review_id}/replies
1 ·
GET /v1/brands/{brand_id}/gbp/post-schedules
1 ·
POST /v1/brands/{brand_id}/github/blog-scaffolds
3 ·
GET /v1/brands/{brand_id}/github/publishing-profile
1 ·
POST /v1/brands/{brand_id}/github/publishing-profile-inferences
3 ·
GET /v1/brands/{brand_id}/knowledge-base
1 ·
POST /v1/brands/{brand_id}/knowledge-base
2 ·
POST /v1/brands/{brand_id}/knowledge-base/files
3 ·
GET /v1/brands/{brand_id}/knowledge-base/search
2 ·
DELETE /v1/brands/{brand_id}/knowledge-base/{item_id}
1 ·
PATCH /v1/brands/{brand_id}/knowledge-base/{item_id}
1 ·
GET /v1/brands/{brand_id}/openai-ads/campaigns
1 ·
GET /v1/brands/{brand_id}/openai-ads/conversions
2 ·
GET /v1/brands/{brand_id}/openai-ads/performance
2 ·
GET /v1/brands/{brand_id}/outreach/authors
1 ·
POST /v1/brands/{brand_id}/outreach/citations
1 ·
PATCH /v1/brands/{brand_id}/outreach/citations/{citation_id}
1 ·
POST /v1/brands/{brand_id}/outreach/citations/{citation_id}/backlink-verifications
1 1
POST /v1/brands/{brand_id}/outreach/processing-jobs
1 ·
GET /v1/brands/{brand_id}/prompt-discoveries
2 ·
POST /v1/brands/{brand_id}/prompt-discoveries
2 ·
GET /v1/brands/{brand_id}/prompts
2 ·
PATCH /v1/brands/{brand_id}/prompts
2 ·
GET /v1/brands/{brand_id}/prompts/answers
2 ·
GET /v1/brands/{brand_id}/prompts/answers/brands
2 ·
GET /v1/brands/{brand_id}/prompts/answers/series
2 ·
GET /v1/brands/{brand_id}/prompts/answers/{answer_id}
2 ·
GET /v1/brands/{brand_id}/prompts/{prompt_hash}/cited-pages
1 ·
GET /v1/brands/{brand_id}/prompts/{prompt_hash}/content-suggestion
2 ·
GET /v1/brands/{brand_id}/publish-targets
1 ·
GET /v1/brands/{brand_id}/schema-templates
1 ·
GET /v1/brands/{brand_id}/search-console/performance
2 ·
GET /v1/brands/{brand_id}/search-console/sitemaps
2 ·
GET /v1/brands/{brand_id}/search-console/url-inspection
2 ·
GET /v1/brands/{brand_id}/seo-pages
1 ·
POST /v1/brands/{brand_id}/seo-pages
1 ·
GET /v1/brands/{brand_id}/seo-pages/candidates
3 ·
DELETE /v1/brands/{brand_id}/seo-pages/{page_id}
1 ·
GET /v1/brands/{brand_id}/seo-pages/{page_id}
1 ·
PATCH /v1/brands/{brand_id}/seo-pages/{page_id}
1 ·
GET /v1/brands/{brand_id}/seo-pages/{page_id}/audits
1 ·
POST /v1/brands/{brand_id}/seo-pages/{page_id}/audits
3 1
DELETE /v1/brands/{brand_id}/seo-pages/{page_id}/audits/{audit_id}
1 ·
GET /v1/brands/{brand_id}/seo-pages/{page_id}/audits/{audit_id}
1 ·
GET /v1/brands/{brand_id}/seo-pages/{page_id}/crux-history
1 ·
GET /v1/brands/{brand_id}/seo-pages/{page_id}/technical-checks
1 ·
POST /v1/brands/{brand_id}/seo-pages/{page_id}/technical-checks
3 ·
POST /v1/brands/{brand_id}/seo/competitor-domains
1 ·
DELETE /v1/brands/{brand_id}/seo/competitor-domains/{domain}
1 ·
GET /v1/brands/{brand_id}/seo/domains/{domain}/ranking-keywords
1 ·
POST /v1/brands/{brand_id}/seo/domains/{domain}/ranking-keywords/refreshes
3 ·
GET /v1/brands/{brand_id}/seo/keyword-clusters
1 ·
POST /v1/brands/{brand_id}/seo/keyword-clusters/recomputes
2 ·
POST /v1/brands/{brand_id}/seo/keyword-clusters/serp-checks
2 ·
GET /v1/brands/{brand_id}/seo/keyword-gap
2 ·
POST /v1/brands/{brand_id}/seo/keyword-gap/refreshes
3 ·
POST /v1/brands/{brand_id}/seo/keyword-research
2 ·
DELETE /v1/brands/{brand_id}/seo/keywords
1 ·
GET /v1/brands/{brand_id}/seo/keywords
1 ·
POST /v1/brands/{brand_id}/seo/keywords
2 ·
GET /v1/brands/{brand_id}/seo/keywords/candidates
2 ·
POST /v1/brands/{brand_id}/seo/keywords/metric-refreshes
2 ·
POST /v1/brands/{brand_id}/seo/keywords/rank-checks
2 ·
PATCH /v1/brands/{brand_id}/seo/keywords/tracking
1 ·
DELETE /v1/brands/{brand_id}/seo/keywords/{keyword_id}
1 ·
PATCH /v1/brands/{brand_id}/seo/keywords/{keyword_id}
1 ·
GET /v1/brands/{brand_id}/seo/keywords/{keyword_id}/history
1 ·
GET /v1/brands/{brand_id}/seo/keywords/{keyword_id}/prompts
1 ·
GET /v1/brands/{brand_id}/seo/overview
2 ·
POST /v1/brands/{brand_id}/seo/overview/refreshes
3 ·
GET /v1/brands/{brand_id}/seo/prompt-insights
2 ·
PUT /v1/brands/{brand_id}/seo/prompt-insights/keyword
1 ·
POST /v1/brands/{brand_id}/seo/prompt-insights/lookups
2 ·
GET /v1/brands/{brand_id}/seo/rank-schedule
1 ·
PUT /v1/brands/{brand_id}/seo/rank-schedule
1 ·
POST /v1/brands/{brand_id}/seo/serp-snapshots
2 ·
DELETE /v1/brands/{brand_id}/shares
1 ·
GET /v1/brands/{brand_id}/shares
1 ·
POST /v1/brands/{brand_id}/shares
5 ·
PATCH /v1/brands/{brand_id}/shares/{share_id}
1 ·
GET /v1/brands/{brand_id}/site-pages
1 ·
GET /v1/brands/{brand_id}/tasks
1 ·
POST /v1/brands/{brand_id}/tasks
1 ·
GET /v1/brands/{brand_id}/tasks/summary
1 ·
DELETE /v1/brands/{brand_id}/tasks/{task_id}
1 ·
GET /v1/brands/{brand_id}/tasks/{task_id}
1 ·
PATCH /v1/brands/{brand_id}/tasks/{task_id}
1 ·
DELETE /v1/brands/{brand_id}/tracked-pages
1 ·
GET /v1/brands/{brand_id}/tracked-pages
2 ·
POST /v1/brands/{brand_id}/tracked-pages
1 ·
GET /v1/brands/{brand_id}/visibility/trends
3 ·
GET /v1/brands/{brand_id}/webhooks
1 ·
POST /v1/brands/{brand_id}/webhooks
2 ·
DELETE /v1/brands/{brand_id}/webhooks/{webhook_id}
1 ·
GET /v1/brands/{brand_id}/webhooks/{webhook_id}
1 ·
PATCH /v1/brands/{brand_id}/webhooks/{webhook_id}
1 ·
GET /v1/brands/{brand_id}/webhooks/{webhook_id}/deliveries
1 ·
POST /v1/brands/{brand_id}/webhooks/{webhook_id}/deliveries/{delivery_id}/replays
1 ·
POST /v1/brands/{brand_id}/webhooks/{webhook_id}/secret-rotations
1 ·
POST /v1/brands/{brand_id}/webhooks/{webhook_id}/test-deliveries
2 ·

/citations

2 endpoints
Endpoint Request units Credits
GET /v1/citations/{citation_id}
1 ·
GET /v1/citations/{citation_id}/backlink-checks
1 ·

/client-reports

7 endpoints
Endpoint Request units Credits
GET /v1/client-reports
1 ·
POST /v1/client-reports
1 ·
POST /v1/client-reports/versions/{version_id}/deliveries
2 ·
GET /v1/client-reports/{document_id}
1 ·
PATCH /v1/client-reports/{document_id}
1 ·
GET /v1/client-reports/{document_id}/facts
2 ·
POST /v1/client-reports/{document_id}/versions
3 ·

/jobs

3 endpoints
Endpoint Request units Credits
GET /v1/jobs
2 ·
DELETE /v1/jobs/{job_id}
1 ·
GET /v1/jobs/{job_id}
1 ·

/me

13 endpoints
Endpoint Request units Credits
GET /v1/me
0 ·
GET /v1/me/credits
0 ·
POST /v1/me/credits/purchases
1 ·
POST /v1/me/mailbox-connection-links
1 ·
GET /v1/me/mailboxes
1 ·
DELETE /v1/me/mailboxes/{mailbox_id}
1 ·
PATCH /v1/me/mailboxes/{mailbox_id}
1 ·
GET /v1/me/quota
0 ·
POST /v1/me/subscriptions
1 ·
GET /v1/me/usage
0 ·
GET /v1/me/webhooks
1 ·
POST /v1/me/webhooks
1 ·
DELETE /v1/me/webhooks/{webhook_id}
1 ·

/page-audit

1 endpoint
Endpoint Request units Credits
POST /v1/page-audit
3 1

/region-configs

10 endpoints
Endpoint Request units Credits
GET /v1/region-configs
1 ·
POST /v1/region-configs
2 ·
DELETE /v1/region-configs/{region_config_id}
1 ·
GET /v1/region-configs/{region_config_id}
1 ·
PATCH /v1/region-configs/{region_config_id}
1 ·
DELETE /v1/region-configs/{region_config_id}/prompts
2 ·
GET /v1/region-configs/{region_config_id}/prompts
1 ·
POST /v1/region-configs/{region_config_id}/prompts
2 ·
DELETE /v1/region-configs/{region_config_id}/prompts/{prompt_id}
1 ·
PATCH /v1/region-configs/{region_config_id}/prompts/{prompt_id}
1 ·

/reports

19 endpoints
Endpoint Request units Credits
GET /v1/reports
1 ·
POST /v1/reports
2 ·
DELETE /v1/reports/{report_id}
1 ·
GET /v1/reports/{report_id}
3 ·
PATCH /v1/reports/{report_id}
1 ·
GET /v1/reports/{report_id}/ai-analysis
1 ·
POST /v1/reports/{report_id}/ai-suggestions
5 1
GET /v1/reports/{report_id}/competitors
2 ·
DELETE /v1/reports/{report_id}/prompts
2 ·
GET /v1/reports/{report_id}/prompts
1 ·
POST /v1/reports/{report_id}/prompts
5 ·
DELETE /v1/reports/{report_id}/prompts/{prompt_id}
1 ·
PATCH /v1/reports/{report_id}/prompts/{prompt_id}
1 ·
POST /v1/reports/{report_id}/runs
5 ·
DELETE /v1/reports/{report_id}/shares
1 ·
GET /v1/reports/{report_id}/shares
1 ·
POST /v1/reports/{report_id}/shares
3 ·
PATCH /v1/reports/{report_id}/shares/{share_id}
1 ·
GET /v1/reports/{report_id}/summary
1 ·

/scheduled-reports

16 endpoints
Endpoint Request units Credits
GET /v1/scheduled-reports
1 ·
POST /v1/scheduled-reports
2 ·
DELETE /v1/scheduled-reports/{scheduled_report_id}
2 ·
GET /v1/scheduled-reports/{scheduled_report_id}
1 ·
PATCH /v1/scheduled-reports/{scheduled_report_id}
1 ·
GET /v1/scheduled-reports/{scheduled_report_id}/analytics
2 ·
POST /v1/scheduled-reports/{scheduled_report_id}/duplicates
2 ·
POST /v1/scheduled-reports/{scheduled_report_id}/executions
5 ·
GET /v1/scheduled-reports/{scheduled_report_id}/prompt-history/{region_config_prompt_id}
1 ·
GET /v1/scheduled-reports/{scheduled_report_id}/region-configs
1 ·
POST /v1/scheduled-reports/{scheduled_report_id}/region-configs/{region_config_id}
1 ·
GET /v1/scheduled-reports/{scheduled_report_id}/runs
1 ·
DELETE /v1/scheduled-reports/{scheduled_report_id}/shares
1 ·
GET /v1/scheduled-reports/{scheduled_report_id}/shares
1 ·
POST /v1/scheduled-reports/{scheduled_report_id}/shares
5 ·
PATCH /v1/scheduled-reports/{scheduled_report_id}/shares/{share_id}
1 ·

/shares

2 endpoints
Endpoint Request units Credits
GET /v1/shares
1 ·
DELETE /v1/shares/{share_id}
1 ·

How to read this. A 0 request-unit cost means the endpoint is free and never moves your monthly quota (today only GET /v1/me and GET /v1/me/quota qualify, so they are safe to poll). For endpoints that hit paid backends (rolling out alongside the report APIs), the credit column will reflect either a flat cost or the wording “variable” when the exact reservation depends on the request payload (number of prompts, models selected, etc.).

Quotas vs rate limits

  • Monthly request quota comes from the plan of the account the key acts in, one pool for every key made in that account, and resets on the billing anniversary. Exceeding it returns request_quota_exceeded (429). In a team account only the owner raises it, and details.upgrade_url is absent.
  • Per-minute rate limit smooths bursty traffic regardless of plan. See Rate limits for the response headers and the recommended back-off strategy.
  • Free endpoints (GET /v1/me, GET /v1/me/quota) cost 0 request units and never count against your quota, so they are safe to poll.

Inspecting your usage

GET /v1/me/quota returns the remaining request units of the account the key acts in for the current billing period plus current_period_end (Unix seconds) so you know when the counter resets. The same numbers are mirrored on every metered response via the X-RP-Quota-* headers documented in Rate limits, so you usually only need to call /v1/me/quota directly when bootstrapping a worker or building a dashboard. The endpoint itself is free (0 request units) and never counts against your quota.

curl https://api.rankprompt.com/v1/me/quota \
  -H "Authorization: Bearer rp_live_YOUR_KEY"

GET /v1/me/usage looks back instead: request units, credits and calls over a from and to window (30 days by default, up to 366), per day and per endpoint. It counts every call you made with any of your keys. Pass account_id to count only the calls made with the keys that act in that account, your own user_id or a team account you are an active member of (GET /v1/me returns the one this key acts in); any other id is 404. It is free as well.

curl "https://api.rankprompt.com/v1/me/usage?account_id=YOUR_ACCOUNT_ID" \
  -H "Authorization: Bearer rp_live_YOUR_KEY"