Tools & Utilities
Network-enabled tools for web access, geocoding, and search
ColabHive Tools are specialized endpoints that give agents and LLMs access to external services like web fetching, scraping, search, and geocoding. All tools run with controlled egress and are billed per request in USD.
The authoritative, always-current list of tool endpoints (names, status, and pricing) is available from the live catalog โ no hardcoded list needed:
GET /api/builder/v1/actions?visibility=public
# or
GET /api/builder/v1/endpoints?visibility=public
๐ง Available Toolsโ
web.fetchโ
- Purpose: Fetch and extract clean text from URLs
- Capabilities: HTML parsing, markdown conversion, link extraction
- Use case: Reading documentation, articles, web pages
- Full Documentation โ
geo.geocodeโ
- Purpose: Convert addresses to coordinates (and reverse)
- Capabilities: Forward geocoding, reverse geocoding
- Use case: Location-based queries, mapping
- Full Documentation โ
web.searchโ
- Purpose: Search the web and return structured results
- Capabilities: Search engine integration, result ranking
- Use case: Information retrieval, research
- Full Documentation โ
web.scrapeโ
- Purpose: Extract structured data with CSS selectors
- Capabilities: Custom selectors, pagination, structured extraction
- Use case: Data collection, monitoring
- Full Documentation โ
Public Endpoints (Ready to Use)โ
All tools are available as public endpoints โ no setup required. Each is billed per request in USD; the endpoint name doubles as the action slug (endpoint_name).
| Tool | Endpoint Name | Relative cost |
|---|---|---|
| web.fetch | web-fetch-public | ๐ฐ |
| geo.geocode | geo-geocode-public | ๐ฐ |
| web.search | web-search-public | ๐ฐ๐ฐ |
| web.scrape | web-scrape-public | ๐ฐ๐ฐ |
The exact, current price and status are dynamic โ always read them from the live catalog rather than a hardcoded number:
GET /api/builder/v1/actions?visibility=public(orGET /api/builder/v1/endpoints?visibility=public).
๐ Quick Start (Use Public Endpoints)โ
Discover Toolsโ
# List all public tools
curl -X GET "https://api.colabhive.com/api/builder/v1/endpoints?visibility=public&task_type=tool" \
-H "X-Account-ID: YOUR_ACCOUNT_ID" \
-H "Content-Type: application/json"
Python SDK (Recommended)โ
from colabhive import ColabHive
client = ColabHive(
api_key="your_api_key_here",
account_id="your_account_id_here",
base_url="https://api.colabhive.com"
)
# Use any public tool directly (no setup needed!)
result = client.endpoints.infer(
endpoint_id="web-fetch-public", # SDK auto-resolves name
input_data={
"url": "https://example.com/article",
"extract_text": True
}
)
print(result)
cURL (Alternative)โ
curl -X POST "https://api.colabhive.com/api/builder/v1/endpoints/{ENDPOINT_ID}/infer" \
-H "X-Account-ID: YOUR_ACCOUNT_ID" \
-H "Content-Type: application/json" \
-d '{
"input": {
"url": "https://example.com/article",
"extract_text": true
}
}'
๐ Tool Comparisonโ
| Tool | Egress | Speed | Cost | Use Case |
|---|---|---|---|---|
| web.fetch | โ | โกโกโก | ๐ฐ | Read web pages |
| geo.geocode | โ | โกโกโก | ๐ฐ | Address โ coordinates |
| web.search | โ | โกโก | ๐ฐ๐ฐ | Find information |
| web.scrape | โ | โกโก | ๐ฐ๐ฐ | Extract data |
๐ Securityโ
All tools run with:
- Network isolation by default
- Controlled egress via proxy
- Domain allowlists (configurable)
- Rate limiting to prevent abuse
- Resource limits (timeout, bandwidth)
Pricingโ
Tools are billed per request in USD. The relative cost is shown above (๐ฐ vs ๐ฐ๐ฐ); the exact, authoritative per-tool price comes from the live actions catalog (GET /api/builder/v1/actions?visibility=public) โ there is a single source of truth for pricing and it is not hardcoded here. There is no separate bandwidth/egress line item.
๐ฏ Use Casesโ
LLM with Web Accessโ
# Manual orchestration (today):
# 1) Call the tool endpoint
tool_result = client.endpoints.infer(
endpoint_id="web-fetch-public",
input_data={"url": "https://example.com", "extract_text": True},
)
# 2) Feed the extracted text into an LLM endpoint
llm_result = client.endpoints.infer(
endpoint_id="deepseek-distilled-7b-public",
input_data={
"messages": [
{"role": "user", "content": "Summarize the following content:\n\n<TOOL_TEXT_HERE>"}
]
},
)
print(llm_result)
Automated Web Monitoringโ
# Scrape product fields โ `selectors` is a LIST of rules
result = client.endpoints.infer(
endpoint_id="web-scrape-public",
input_data={
"url": "https://shop.com/product/123",
"selectors": [
{"name": "price", "selector": ".product-price"},
{"name": "stock", "selector": ".stock-status"}
]
}
)
print(result)