Documentation Index
Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Carnot Search provides powerful company search capabilities to find detailed business information. With both standard and Pro versions, you can access comprehensive company databases for market research, lead generation, and business intelligence.
Key Features
CARNOT_SEARCH_CORP
- Basic company search functionality
- Find company information by name or criteria
- Retrieve company URLs and addresses
- Configurable result count
CARNOT_SEARCH_CORP_PRO
- Enhanced search capabilities
- More detailed company information
- Advanced filtering options
- Higher accuracy and coverage
Authentication
Carnot Search requires API keys from both Perplexity and OpenAI for enhanced search capabilities.
Required credentials:
- Perplexity API Key
- OpenAI API Key
Note: Treat API keys as sensitive information and never commit them to public repositories.
Example: Basic Company Search
- id: search_companies
name: search_companies
tool: CARNOT_SEARCH_CORP
config:
- name: perplexity_api_key
value: "{{secrets.PERPLEXITY_API_KEY}}"
- name: openai_api_key
value: "{{secrets.OPENAI_API_KEY}}"
input:
- name: query
value: "software companies in San Francisco"
- name: num_results
value: 10
- id: process_search_results
name: process_search_results
tool: PYTHON_SANDBOX_RUN
input:
- name: code
value: |
import json
# Process search results
results = {{steps.search_companies.result.companies}}
print("Company Search Results:")
print("=" * 50)
for i, company in enumerate(results, 1):
print(f"{i}. {company.get('name', 'Unknown')}")
print(f" URL: {company.get('url', 'N/A')}")
print(f" Address: {company.get('address', 'N/A')}")
print()
print(f"Total companies found: {len(results)}")
Example: Enhanced Pro Search
- id: advanced_company_search
name: advanced_company_search
tool: CARNOT_SEARCH_CORP_PRO
config:
- name: perplexity_api_key
value: "{{secrets.PERPLEXITY_API_KEY}}"
- name: openai_api_key
value: "{{secrets.OPENAI_API_KEY}}"
input:
- name: query
value: "fintech startups with Series A funding in New York"
- name: num_results
value: 20
- id: analyze_competitive_landscape
name: analyze_competitive_landscape
tool: OPENAI_INVOKE
config:
- name: version
value: gpt-4
input:
- name: prompt
value: |
Analyze the following company search results and provide insights:
{{steps.advanced_company_search.result.companies | json}}
Please provide:
1. Market trends analysis
2. Geographic distribution
3. Company size patterns
4. Key players identification
5. Competitive landscape overview
- id: export_company_data
name: export_company_data
tool: CONVERTER_ARRAY_TO_CSV
input:
- name: array
value: |
[
["Company Name", "Website", "Address", "Search Score"],
{% for company in steps.advanced_company_search.result.companies %}
["{{company.name}}", "{{company.url}}", "{{company.address}}", "High"]{% if not loop.last %},{% endif %}
{% endfor %}
]
Example: Market Research Workflow
- id: search_competitors
name: search_competitors
tool: CARNOT_SEARCH_CORP_PRO
config:
- name: perplexity_api_key
value: "{{secrets.PERPLEXITY_API_KEY}}"
- name: openai_api_key
value: "{{secrets.OPENAI_API_KEY}}"
input:
- name: query
value: "{{input.industry}} companies in {{input.target_region}}"
- name: num_results
value: 50
- id: enrich_company_data
name: enrich_company_data
tool: PYTHON_SANDBOX_RUN
input:
- name: code
value: |
import json
import re
from urllib.parse import urlparse
companies = {{steps.search_competitors.result.companies}}
enriched_data = []
for company in companies:
# Extract domain from URL
domain = ""
if company.get('url'):
try:
domain = urlparse(company['url']).netloc
except:
domain = company['url']
# Analyze company size based on address/description
size_indicator = "Unknown"
address = company.get('address', '').lower()
if any(term in address for term in ['suite', 'floor', 'building']):
size_indicator = "Medium-Large"
elif any(term in address for term in ['street', 'ave', 'road']):
size_indicator = "Small-Medium"
enriched = {
"name": company.get('name', ''),
"url": company.get('url', ''),
"domain": domain,
"address": company.get('address', ''),
"estimated_size": size_indicator
}
enriched_data.append(enriched)
print(json.dumps(enriched_data, indent=2))
- id: create_market_report
name: create_market_report
tool: OPENAI_INVOKE
config:
- name: version
value: gpt-4
input:
- name: prompt
value: |
Create a comprehensive market research report based on this company data:
{{steps.enrich_company_data.result.stdout}}
Include:
1. Executive Summary
2. Market Size Assessment
3. Key Players Analysis
4. Geographic Distribution
5. Competitive Landscape
6. Market Opportunities
7. Recommendations
Format as a professional business report.
- id: save_market_report
name: save_market_report
tool: OUTPUT_FILE
input:
- name: content
value: "{{steps.create_market_report.result.content}}"
- name: filename
value: "market_research_report_{{date | format('YYYY-MM-DD')}}.txt"
- name: fileType
value: "txt"
Example: Lead Generation Pipeline
- id: find_potential_leads
name: find_potential_leads
tool: CARNOT_SEARCH_CORP
config:
- name: perplexity_api_key
value: "{{secrets.PERPLEXITY_API_KEY}}"
- name: openai_api_key
value: "{{secrets.OPENAI_API_KEY}}"
input:
- name: query
value: "{{input.target_industry}} companies with 10-100 employees"
- name: num_results
value: 25
- id: qualify_leads
name: qualify_leads
tool: OPENAI_INVOKE
config:
- name: version
value: gpt-4
input:
- name: prompt
value: |
Analyze these potential leads and score them for sales qualification:
{{steps.find_potential_leads.result.companies | json}}
Scoring criteria:
- Company size and growth potential (1-10)
- Industry fit (1-10)
- Geographic accessibility (1-10)
- Technology alignment (1-10)
Return a scored list with recommendations for follow-up.
- id: export_qualified_leads
name: export_qualified_leads
tool: CONVERTER_ARRAY_TO_CSV
input:
- name: array
value: |
[
["Company", "Website", "Address", "Qualification Score", "Priority", "Notes"],
{% for company in steps.find_potential_leads.result.companies %}
["{{company.name}}", "{{company.url}}", "{{company.address}}", "TBD", "Medium", "Follow up required"]{% if not loop.last %},{% endif %}
{% endfor %}
]
Search Parameters
Query Optimization
- Use specific industry terms
- Include geographic qualifiers
- Specify company size when relevant
- Use boolean operators for complex searches
Result Management
- Start with smaller result sets (10-20)
- Increase for comprehensive research (50+)
- Consider API rate limits
- Balance accuracy vs coverage
Use Cases
- Market Research: Identify competitors and market players
- Lead Generation: Find potential customers and partners
- Investment Research: Analyze market sectors and opportunities
- Competitive Intelligence: Monitor competitor landscape
- Partnership Development: Discover potential business partners
- Sales Prospecting: Build targeted prospect lists
- Due Diligence: Research companies for business decisions
Data Structure
Search results include:
{
"name": "Company Name",
"url": "https://company-website.com",
"address": "123 Business St, City, State, ZIP"
}
Best Practices
- Query Design: Use specific, targeted search terms
- Result Processing: Always validate and enrich search results
- Rate Limiting: Respect API limits and implement delays
- Data Quality: Clean and verify company information
- Privacy: Handle company data responsibly and legally