Built for the agentic web
Increasingly, the “user” responding to an RFP is an AI agent acting for a team. BidAuthor is built for that caller: every capability in the product is reachable through a documented, versioned API with typed errors, idempotent mutations, and honest failure states — the properties machine callers need and marketing sites rarely mention.
Extract requirements
Submit a solicitation document and receive the full structured requirement tree — every question, its section context, and the dependency edges between them.
Run answering passes
Answer one requirement, a selected subset, or the whole tree. The engine resolves dependencies automatically and reports per-question status, cost, and citations.
Audit every answer
Each generated answer carries citations resolving to specific knowledge-base passages. Retrieval failures are reported honestly as degraded status — never silently invented prose.
Export the result
Finalize a version and export polished PDF or DOCX artifacts, retrievable by URL — the same output a human gets from the dashboard.
What an API key may do
A BidAuthor API key is scoped to one organization and acts within the workspaces that organization owns. Keys can read and write proposals, documents, and chats; run extraction and answering; and export finished versions. Keys cannot touch billing configuration, other organizations, or platform administration — those surfaces are structurally separate, not merely permission-gated. Every mutation requires an Idempotency-Key, so an agent that retries after a timeout cannot double-spend or double-create.
Designed for model readers
The OpenAPI spec at /v1/openapi.json is the single source of truth — the published spec is generated from the same declarations the server enforces at runtime, so an agent reading it is never working from stale docs. Errors return a stable envelope with an enumerated error_code — branch on codes, never on message strings. Long-running work (answering passes, exports) reports progress through server-sent-event streams with typed stages, and terminal states are explicit. A machine-readable map of the site’s key pages lives at /llms.txt.
Transparent pricing for autonomous callers
Work is metered per answered question in credits, and every answering call can be preceded by a plan request that quotes the exact workset and cost before anything runs — so an agent operating under a budget can decide with real numbers, not estimates discovered after the fact. Human-readable plans are on the pricing page; the same figures are embedded there as structured data.
MCP server — @bidauthor/mcp
Eleven first-class MCP tools wrap this same API: workspace and proposal discovery, generate_response (raw RFP text → requirement tree → cited answers), answer_questions with dependency-closure semantics, run-status polling, answer and requirement readback, and PDF/DOCX export with signed download links. Run it from any MCP client over stdio (publishing to npm is in flight — the identical package also lives in the BidAuthor repository under packages/mcp):
npx -y @bidauthor/mcp # BIDAUTHOR_API_KEY + BIDAUTHOR_WORKSPACE_ID in env
Claude Desktop configuration:
{
"mcpServers": {
"bidauthor": {
"command": "npx",
"args": ["-y", "@bidauthor/mcp"],
"env": {
"BIDAUTHOR_API_KEY": "ba_live_...",
"BIDAUTHOR_WORKSPACE_ID": "your-workspace-uuid"
}
}
}
}Point your agent at a real solicitation
Mint a test-mode key and drive the full extract-answer-export loop against a sandbox workspace.