Documentation Index
Fetch the complete documentation index at: https://docs.wokelo.ai/llms.txt
Use this file to discover all available pages before exploring further.
1. Overview
The Company Research API generates an in-depth intelligence report on any company, covering firmographics, financial signals, executive commentary, product portfolio, product launches, and M&A history. The report is fully source-cited and delivered as structured JSON or as a formatted document (PDF, DOCX, or PPT). This is an asynchronous POST API — submitting a request returns areport_id immediately. You then poll for completion using the Report Status endpoint and retrieve the finished report using the Download Report endpoint.
The three-step workflow:
- Quick Snapshot — firmographic card with financials, headcount, funding stage, HQ, and product summary
- Executive Summary — multi-paragraph narrative covering strategy, recent developments, competitive dynamics, and key capabilities; fully source-cited
- Key Insights — 8–10 analyst-style insight cards, each with a headline metric, supporting data paragraph, multi-point commentary, and source citations
- Product Insights — product overview narrative, categorised product/service list, product launch timeline with summaries, and a screenshot
- Transaction Highlights — M&A and investment map as structured data, plus a detailed acquisition timeline with deal amounts and strategic commentary
- Pre-meeting company briefings — generate a sourced, structured brief on any target or prospect before a call, in minutes rather than hours
- Deal screening packages — run Company Research on a shortlist of acquisition targets and export as PDF or PPT for IC review
- Portfolio company monitoring — schedule quarterly runs on portfolio companies and diff the Key Insights across periods to track strategic shifts
- Competitive intelligence — run against a set of competitors and compare product portfolios and M&A timelines side by side
- CRM enrichment — ingest the JSON output and push firmographic and financial fields into Salesforce, HubSpot, or DealCloud records automatically
- Custom report augmentation — supply
custom_filesto layer proprietary internal data (CIM, management presentation, diligence notes) on top of Wokelo’s synthesis
This API is asynchronous. The initial POST returns a
report_id only — not the report content. Report generation typically completes in 2–5 minutes. See How Async APIs work for a full explanation of the polling lifecycle.2. Quick Start
Step 1 — Submit the report request3. Authentication
All requests must include a Bearer token in theAuthorization HTTP header.
4. Request Reference
Endpoint| Parameter | Type | Required | Description |
|---|---|---|---|
workflow | string | Required | Must always be "company_primer". This fixed value tells Wokelo’s workflow engine to run the Company Research report. |
permalink | string | Required* | Wokelo/Crunchbase permalink of the company (e.g. "salesforce", "tesla-motors"). Use the Company Search API to look up a company’s permalink by name. |
website | string | Required* | Full URL of the company’s website (e.g. "https://www.salesforce.com"). Accepted as an alternative to permalink when the permalink is unknown. |
industry | string | Optional | Company’s industry vertical. If omitted, Wokelo auto-detects the industry from its knowledge base. Providing this speeds up processing and can improve industry-specific framing in the report. |
workbook_name | string | Optional | Label for the generated report workbook. Defaults to the company name if omitted. |
custom_files | object[] | Optional | Array of file references to include in the report alongside Wokelo’s synthesis. Each object should use the fileName value returned by the File Upload API. Use this to incorporate CIMs, management presentations, or internal diligence notes. |
Either
permalink or website is required — at least one must be provided. If both are supplied, permalink takes precedence. If you cannot find a company’s permalink via Company Search, pass the full company website URL instead.5. Response
Submission response
The initial POST returns immediately with a single field:| Field | Type | Description |
|---|---|---|
report_id | integer | Unique identifier for this report job. Use it with the Report Status and Download Report endpoints to track and retrieve the completed report. Store this value — it is the only handle to your report. |
Report status response
PollGET /api/assets/get_notebook_status/?report_id={report_id} until the status field is "Completed".
| Status value | Meaning |
|---|---|
"Pending" | Report is queued and waiting to start. |
"Processing" | Report generation is in progress. |
"Completed" | Report is ready to download. |
"Failed" | Report generation encountered an error. Retry the submission. |
Downloaded report structure
When you call Download Report with"file_type": "json", the response is a deeply nested JSON object. Each top-level key is a named report section. The five sections produced by Company Research are:
Quick Snapshot
Contains a quick_snapshot object with two sub-objects:
company_firmographics— organisation name, logo, dashboard URL, and adetailsobject covering:industry,founded_year,website,hq,operating_status,company_type,employees_in_crunchbase,employees_in_linkedin,last_funding_round,ticker, and afinancialsobject withrevenue,ebitda,pat, andmarket_cap(each withcurrency,value, andperiodfields)product_details—product_category(short label) andsummary(one-paragraph product description)
summary field with a full markdown-formatted multi-section narrative (Overview, Strategic Positioning, Recent Developments, Competitive Dynamics, Key Capabilities), plus a source array of citation objects, each with id, title, url, publisher, and date.
Key Insights
Contains a key_insights array of 8–10 insight card objects. Each card has:
insight— object withtitle(bold headline with key metric),paragraph(supporting data sentence), andsourcesarraycommentary— array of 2–3 commentary paragraph objects, each withparagraph(analyst interpretation) andsourcesarray
Product and services—product_overview(summary narrative +screenshot_url) andproducts_and_services(array of product area objects, each withproduct_arealabel,detailsarray of{title, summary}objects, andsourcescitation range)Product launches and initiatives—released_productsarray of launch objects, each withdate,initiative,summary(bullet array), andsourcesarray of{url, title, publisher, publishedDate}objects; andfuture_announcementsarray
M&A and Investments map—m_andn_a_mapwith achartsobject containingm_and_a_investment_map, which has adataarray of deal objects (year,company_name,product_category,headquarters,permalink,website,typeas"mna"or"investment", plus parent company fields), asourceattribution string, and aurlto the chart imageM&A Strategy—acquisitionswithm_and_a_timelinearray of detailed acquisition objects, each with a nestedcompanycard (firmographics + description),acquisition_date,acquisition_amount(numeric USD or empty string), andcommentary
The
acquisition_amount field is a raw numeric USD value (e.g. 1900000000.0 for $1.9B) or an empty string when the deal value was not publicly disclosed. Always check for empty string before converting to currency.Download format options
Thefile_type parameter in the Download Report request controls the output format.
file_type | Description |
|---|---|
"json" | Fully structured JSON — all sections, fields, and source citations. Best for programmatic processing, CRM ingestion, or downstream pipelines. |
"pdf" | Formatted PDF report with charts, tables, and narrative sections. Best for sharing with stakeholders. |
"docx" | Editable Word document. Best for teams that customise reports before distribution. |
"ppt" | PowerPoint presentation with section slides. Best for IC presentations and LP updates. |
6. Examples
Basic company research — by permalink
The most common pattern: look up the permalink, submit, poll, and download JSON.Using a website URL instead of a permalink
When the company’s permalink is unknown or unavailable, pass the full website URL.Resolving a permalink via Company Search before submitting
Use the Company Search API to find a company’s permalink by name, then pass it to Company Research.Batch research on a watchlist
Submit Company Research for multiple companies concurrently, then collect all reports once completed.Research with a custom file (CIM or management deck)
Upload a proprietary file and attach it to the report so Wokelo synthesises it alongside its own research.Extracting specific sections from the JSON report
Work with individual sections of the downloaded JSON for targeted downstream processing.Exporting a PPT for IC review
7. Error Handling
The API uses standard HTTP status codes. The submission endpoint returns errors synchronously; processing errors appear as a"Failed" status when polling.
| Status | Meaning | Cause & Resolution |
|---|---|---|
200 OK | Request accepted | report_id returned. Proceed to polling. |
400 Bad Request | Invalid parameters | Missing workflow value, missing both permalink and website, or an unrecognised workflow string. Check the detail field. |
401 Unauthorized | Auth failed | The Authorization header is missing or contains an invalid token. Verify your key in Settings → API Keys. |
403 Forbidden | Insufficient access | Your plan does not include access to this endpoint or to this company. Contact support@wokelo.ai. |
404 Not Found | Company not found | The permalink could not be resolved. Use the Company Search API to verify, or switch to website. |
429 Too Many Requests | Rate limit exceeded | Implement exponential back-off on submission. The response includes a Retry-After header. |
500 Internal Server Error | Server error | Retry the submission after a brief delay. If the issue persists, contact support@wokelo.ai. |
"Failed" report status:
8. Best Practices
Always usepermalink over website when available
Permalinks resolve faster and more reliably than website URLs, particularly for companies with complex domain structures or redirects. Use the Company Search API to resolve a company name to its permalink before submitting:
workflow must always be "company_primer" — this field is not optional
The /api/workflow_manager/start/ endpoint is shared across all Workflow APIs (Company Research, Industry Research, Peer Comparison, Custom). The workflow parameter is what distinguishes between them. For Company Research, it must be exactly "company_primer". Omitting it or misspelling it returns a 400 error.
Store report_id immediately and durably
The submission response contains only report_id. If this value is lost before the report is downloaded, there is no API endpoint to list or retrieve past report_id values. Store it to a database, log, or queue entry as soon as the submission response is received.
Use 15–20 second polling intervals — not tight loops
Reports typically complete in 2–5 minutes. Polling more frequently than every 15 seconds wastes rate limit budget without meaningfully reducing latency. Use a back-off strategy for batch workloads:
industry to improve report framing for niche companies
Wokelo auto-detects industry from its knowledge base, but for newer companies, international companies, or firms in niche verticals, providing the industry string directly improves the accuracy of competitive framing and peer positioning within the Executive Summary and Key Insights:
custom_files to layer internal data on public synthesis
The custom_files parameter is the most differentiated capability of this API for investment workflows. Uploading a CIM, management presentation, or prior diligence memo alongside the request causes Wokelo to synthesise both the public web research and your internal documents into a unified report. Upload files via the File Upload API first, then reference the returned fileName in your request.
Parse acquisition_amount defensively — it can be an empty string or a float
The acquisition_amount field in the M&A timeline is either a numeric float (raw USD) or an empty string "" for undisclosed deals. Never assume it is numeric:
"json" output for pipelines; "ppt" or "pdf" for human deliverables
The JSON output contains every field, source citation, and structured data object. Use it for any downstream processing — CRM ingestion, comparison tools, alerting. The PDF, DOCX, and PPT outputs are rendered for human consumption and strip much of the structured metadata. Request only the format you need — a single report_id supports all four formats.
9. Related APIs
Company Instant Enrichment
Synchronous firmographic enrichment — returns structured company data immediately without a report generation step.
Company Deep Intelligence
Deeper async intelligence on strategy, financials, and competitive positioning — more granular than Company Research.
Industry Research
Run the same async workflow pattern against an industry or sector instead of a specific company.
Peer Comparison
Generate a structured comparison of two or more companies across key dimensions in a single report.
Company News Monitoring
Fetch real-time, source-cited news articles for any company — synchronous, no polling required.
Supporting APIs
Company Search, File Upload, Report Status, and Download Report — all used alongside Company Research.