Company Research with Reports
Reports allow you to research specific data points about any company using AI agents. Each report focuses on a single company, with each column representing a specific piece of information you want to find.
Understanding Reports
A report consists of:
- Company Inputs - Basic company identifiers (name, website)
- Data Points - What you want to know about the company (agent columns)
- Results - The researched information with sources
Creating Your First Report
Let’s create a simple report to get a company description:
curl -X POST "https://api.extruct.ai/v1/reports" \
-H "accept: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"column_configs": [
{
"kind": "agent",
"name": "Company Description",
"key": "description",
"value": {
"agent_type": "research_pro",
"prompt": "Research the company {company_name} ({company_website}) and provide a short description.",
"output_format": "text"
}
}
],
"inputs": {
"company_name": "Extruct",
"company_website": "https://extruct.ai"
}
}'
The response will include the report ID and initial status:
{
"id": "report_id",
"status": "created",
"column_configs": [
{
"kind": "agent",
"name": "Company Description",
"key": "description",
"value": {
"agent_type": "research_pro",
"prompt": "Research the company {company_name} ({company_website}) and provide a short description.",
"output_format": "text"
}
},
{
"kind": "input",
"name": "Company Name",
"key": "company_name"
},
{
"kind": "input",
"name": "Company Website",
"key": "company_website"
}
],
"inputs": {
"company_name": "Extruct",
"company_website": "https://extruct.ai"
}
}
Reports support three main output formats:
1. Text Output
Best for descriptive information:
{
"kind": "agent",
"key": "company_description",
"name": "Company Description",
"value": {
"agent_type": "research_pro",
"prompt": "Provide a brief overview of {company_name}.",
"output_format": "text"
}
}
2. Number Output
Perfect for metrics and financial data:
{
"kind": "agent",
"key": "employee_count",
"name": "Number of Employees",
"value": {
"agent_type": "research_pro",
"prompt": "How many employees does {company_name} have? Return just the number.",
"output_format": "number"
}
}
3. URL Output
For finding specific links:
{
"kind": "agent",
"key": "twitter_url",
"name": "Twitter Profile",
"value": {
"agent_type": "research_pro",
"prompt": "Find the official Twitter profile URL for {company_name}.",
"output_format": "url"
}
}
4. Simple JSON Output
For structured data with multiple fields:
{
"kind": "agent",
"key": "social_media",
"name": "Social Media Profiles",
"value": {
"agent_type": "research_pro",
"prompt": "Find the social media profiles for {company_name}.",
"output_format": "json",
"output_schema": {
"type": "object",
"properties": {
"twitter": { "type": "string" },
"linkedin": { "type": "string" },
"facebook": { "type": "string" }
}
}
}
}
Common Research Tasks
Company Overview
{
"column_configs": [
{
"kind": "agent",
"key": "description",
"name": "Description",
"value": {
"agent_type": "research_pro",
"prompt": "Provide a brief description of {company_name}.",
"output_format": "text"
}
},
{
"kind": "agent",
"key": "founded_year",
"name": "Founded Year",
"value": {
"agent_type": "research_pro",
"prompt": "In what year was {company_name} founded? Return just the number.",
"output_format": "number"
}
},
{
"kind": "agent",
"key": "linkedin",
"name": "LinkedIn URL",
"value": {
"agent_type": "research_pro",
"prompt": "Find the LinkedIn company page URL for {company_name}.",
"output_format": "url"
}
}
],
"inputs": {
"company_name": "Stripe",
"company_website": "https://stripe.com"
}
}
Leadership Research
{
"column_configs": [
{
"kind": "agent",
"key": "ceo",
"name": "CEO Name",
"value": {
"agent_type": "research_pro",
"prompt": "Who is the current CEO of {company_name}?",
"output_format": "text"
}
},
{
"kind": "agent",
"key": "leadership",
"name": "Leadership Team",
"value": {
"agent_type": "research_pro",
"prompt": "List the key members of {company_name}'s leadership team with their titles.",
"output_format": "json",
"output_schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"title": { "type": "string" }
}
}
}
}
}
],
"inputs": {
"company_name": "Stripe",
"company_website": "https://stripe.com"
}
}
Best Practices
-
Clear Prompts
- Ask for specific information
- Specify the format you want (e.g., “Return just the number”)
- Include website in prompt for better accuracy:
{company_name} ({company_website})
-
Choose the Right Output Format
- Use
text
for descriptions and complex answers
- Use
number
for metrics and counts
- Use
url
for web links
- Use
json
for simple structured data
-
Keep JSON Schemas Simple
- Stick to basic types (string, number)
- Use arrays of objects for lists
- Avoid deeply nested structures
Monitoring Progress
Track your report’s progress:
- Create the report:
curl -X POST "https://api.extruct.ai/v1/reports" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d @report.json
- Check status and get results:
curl -X GET "https://api.extruct.ai/v1/reports/{report_id}" \
-H "Authorization: Bearer YOUR_API_TOKEN"
The completed report will include results with answers and sources:
{
"id": "report_id",
"status": "done",
"created_at": "2025-03-17T21:05:01.469817",
"updated_at": "2025-03-17T21:05:21.588184",
"column_configs": [...],
"inputs": {
"company_name": "Extruct",
"company_website": "https://extruct.ai"
},
"results": {
"description": {
"answer": "Extruct AI is an advanced platform that utilizes artificial intelligence to enhance business research. It assists users in discovering new companies, enriching existing data, and monitoring market changes in real-time.",
"sources": [
"https://extruct.ai"
]
}
}
}
Next Steps
- Try creating a report with different data points
- Experiment with different output formats
- Check out the API Reference for more details