rfp.ai REST API Documentation
Integrate RFP automation into your workflows with the rfp.ai REST API. Generate AI-powered answers, manage projects, and export responses programmatically.
⚡ TL;DR — Quick Facts
Base URL
https://rfp.ai/apiAuthentication
Bearer Token
Format
JSON
Rate Limits
10-unlimited req/min
What You Can Do With the API
The rfp.ai REST API enables programmatic access to all core RFP automation features:
AI Answer Generation
Generate answers to RFP questions using your knowledge base with source citations and confidence scores.
Project Management
Create, list, and retrieve RFP projects programmatically.
File Management
Upload and manage knowledge base files, RFP documents, and supporting materials.
Multi-Format Export
Export responses to Word, PDF, Excel, CSV, or PowerPoint formats.
Authentication
The rfp.ai API uses Bearer token authentication. All requests must include your API token in the Authorization header.
📌 Requirements
- Starter plan or higher (API access not available on Free tier)
- API token created in Settings → API & Extensions → API Tokens
- Token must be kept secure (treat like a password)
- Pick token scopes (default
read; addprojects.write,qa.write,qa.approve,kb.writeas needed)
Creating an API Token
- Log in to your rfp.ai dashboard
- Go to Settings → API & Extensions → API Tokens
- Click Create Token
- Name your token (e.g., "Production Server")
- Copy and save the token securely (you won't see it again!)
Using the Token
Authorization: Bearer YOUR_API_TOKEN
Example Request
curl -X GET https://rfp.ai/api/projects \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json"
Base URL
All API endpoints are relative to the base URL:
https://rfp.ai/apiOpenAPI Contract and Versioning
The machine-readable API contract is available as OpenAPI 3.1 JSON. Use it to generate clients, validate integrations, or inspect request and response schemas.
Spec URL
https://rfp.ai/openapi.jsonCompatibility
Additive fields may appear over time. Breaking changes will be documented before rollout and reflected in the OpenAPI version.
API Endpoints
Projects
/api/projectsList all projects in your organization with pagination support.
curl -X GET https://rfp.ai/api/projects \ -H "Authorization: Bearer YOUR_API_TOKEN"
[
{
"id": "proj_123",
"name": "Q4 Enterprise RFP",
"status": "active",
"created_at": "2025-10-01T10:00:00Z"
}
]/api/projectsCreate a new RFP project.
{
"name": "Q4 Enterprise RFP",
"deadline": "2025-12-31"
}/api/projects/:projectIdGet details for a specific project including metadata and statistics.
AI Answer Generation
/api/askGenerate an AI-powered answer to an RFP question using your project's knowledge base. Returns answer with trust score, source citations, and confidence level.
{
"projectId": "proj_123",
"question": "What is your HIPAA compliance status?",
"wordLimit": 200,
"tone": "professional"
}{
"answer": "Our organization maintains HIPAA compliance through...",
"trustScore": 85,
"sources": [
{
"filename": "hipaa-compliance.pdf",
"page": 2,
"excerpt": "..."
}
],
"confidence": "high",
"wordCount": 187
}File Management
/api/projects/:projectId/filesList all files in a project's knowledge base with metadata.
Export
Export your RFP responses in multiple formats:
/api/export/docx— Microsoft Word/api/export/pdf— PDF Document/api/export/xlsx— Excel Spreadsheet/api/export/csv— CSV Data/api/export/ppt— PowerPoint PresentationRate Limits
API rate limits are based on your subscription plan. Exceeding your limit returns a 429 (Too Many Requests) error.
| Plan | Rate Limit | Monthly Requests |
|---|---|---|
| Free | 10 req/minute | Limited |
| Starter | 30 req/minute | ~43,000 |
| Professional | 60 req/minute | ~86,000 |
| Enterprise | Unlimited | Unlimited |
HTTP Status Codes
The API returns standard HTTP status codes to indicate success or failure:
| Code | Meaning | Description |
|---|---|---|
200 | Success | Request completed successfully |
201 | Created | Resource created successfully |
400 | Bad Request | Invalid request parameters |
401 | Unauthorized | Invalid or missing API token |
402 | Payment Required | Usage limit exceeded - upgrade required |
403 | Forbidden | Access denied to resource |
404 | Not Found | Resource not found |
429 | Rate Limited | Rate limit exceeded - retry after wait period |
500 | Server Error | Internal server error - contact support |
Response and Error Model
Successful JSON responses return endpoint-specific objects. Failed JSON responses use a stable public error code and, when useful, a short public message. Internal exception details, provider responses, file paths, and environment names are logged server-side, not returned to API clients.
{
"error": "export_failed",
"message": "Unable to generate the filled XLSX export right now."
}Frequently Asked Questions
How do I authenticate with the rfp.ai API?
Use Bearer token authentication. Include your API token in the Authorization header: Authorization: Bearer YOUR_TOKEN. Create tokens in Settings → API Tokens (requires Starter plan or higher).
What are the API rate limits?
Rate limits depend on your plan: Free (10 req/min), Starter (30 req/min), Professional (60 req/min), Enterprise (unlimited). Exceeding limits returns a 429 error with a retry-after header.
Can I generate AI answers via the API?
Yes. POST to /api/ask with projectId, question, and optional wordLimit. Returns AI-generated answer with trust score, source citations, and confidence level.
What export formats does the API support?
The API supports exporting to Word (DOCX), PDF, Excel (XLSX), CSV, and PowerPoint (PPT). Use POST /api/export/{format} endpoints.
Is there a sandbox or test environment?
Use the main API with a test project. Create a project specifically for testing, upload test documents, and experiment with API calls without affecting production data. All plans include project creation.
Can I use the API for batch processing?
Yes. You can make multiple API calls within your rate limit to process questions in bulk. For large volumes, consider Enterprise plan for unlimited rate limits or contact us for batch processing options.
How are API tokens secured?
Tokens are hashed and stored securely. You can view token metadata but never the actual token value after creation. Tokens are org-scoped (can only access your organization's data), carry one or more scopes (read, projects.write, qa.write, qa.approve, kb.write), and can be revoked anytime from Settings. New tokens default to read.
Can MCP agents (Claude, Cursor) write data, not just read?
Yes — at /api/mcp we expose 18 MCP tools (9 read + 9 write). Write tools require an explicit token scope, hit per-scope rate sub-caps, and every call is recorded in a per-org MCP audit log (with sensitive payloads redacted). See the Agents on rfp.ai page or the full MCP integration docs.
Does the API include source citations?
Yes. All AI-generated answers via /api/ask include source citations showing which documents and pages were used, plus confidence scores for transparency.
Code Examples
Python
import requests
API_TOKEN = "your_api_token_here"
BASE_URL = "https://rfp.ai/api"
headers = {
"Authorization": f"Bearer {API_TOKEN}",
"Content-Type": "application/json"
}
# Generate an answer
response = requests.post(
f"{BASE_URL}/ask",
headers=headers,
json={
"projectId": "proj_123",
"question": "What is your HIPAA compliance status?",
"wordLimit": 200
}
)
data = response.json()
print(f"Answer: {data['answer']}")
print(f"Trust Score: {data['trustScore']}")JavaScript/Node.js
const API_TOKEN = "your_api_token_here";
const BASE_URL = "https://rfp.ai/api";
// Generate an answer
const response = await fetch(`${BASE_URL}/ask`, {
method: "POST",
headers: {
"Authorization": `Bearer ${API_TOKEN}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
projectId: "proj_123",
question: "What is your HIPAA compliance status?",
wordLimit: 200
})
});
const data = await response.json();
// Use the answer and trust score
// const answer = data.answer;
// const trustScore = data.trustScore;Related Documentation
Browser Extension
The Chrome extension uses the same API. Learn how to set it up for answering RFP questions directly in web forms.
Extension DocsClaude Desktop Integration
Connect Claude Desktop to rfp.ai via Model Context Protocol for AI-powered knowledge base access.
MCP DocsNeed Help with the API?
Questions about the API? Our support team is here to help with integration, troubleshooting, and best practices.
Related Pages
Browser Extension Installation
Install the rfp.ai extension for Chrome and Edge to answer RFP questions directly in web forms.
DocumentationClaude Desktop & Cursor MCP Integration
Connect Claude Desktop or Cursor to rfp.ai using Model Context Protocol — 18 read + write tools, scoped tokens, audit log.
ProductAgents on rfp.ai
How AI agents can read, write, and approve on rfp.ai through scoped tokens and an audit trail.
PricingView Pricing Plans
See API rate limits and features for each pricing tier.