← back

Crustdata vs Openmart

Company Search

VS
Openmart
100
Openmart
Metric Crustdata Openmart
Category Company Search Company Search
Pricing Freemium Freemium
Auth API Key API Key
Format JSON JSON
Bot Blocking None None
OpenAPI Spec No Yes
Credit Card Not required Not required
Rate Limit Credit-based; varies by plan (contact for details) 100 results per request (pagination supported). Plan-specific rate limits — contact Openmart for details.
Score Component Crustdata Openmart
Base +50 +50
OpenAPI Spec 0 (No) +15 (Yes)
Auth +10 (API Key) +10 (API Key)
Format +10 (JSON) +10 (JSON)
Bot Blocking +10 (None) +10 (None)
No CC +5 (Yes) +5 (Yes)
Free 0 (No) 0 (No)
Total 85 100
Crustdata Openmart
Pros
  • + Extensive real-time B2B data — 250+ company firmographics and 90+ people datapoints with near-instant freshness updates
  • + Watcher API enables event-driven agent workflows via webhooks for job switches, funding rounds, and other company/people changes
  • + Simple REST API with token auth and JSON responses makes integration straightforward for LLM agents
  • + Rich data per business (40+ fields) — address, phone, email, ratings, hours, decision-maker contacts, tech stack, revenue, and social profiles in a single JSON response
  • + Simple REST API with x-api-key auth and FastAPI-generated OpenAPI spec at /openapi.json — agents can auto-discover endpoints and generate typed clients
  • + Covers local/SMB businesses specifically (30M+ in US/CA/AU), a niche most B2B data providers underserve, making it ideal for agents targeting local business outreach
Cons
  • - No public OpenAPI spec — agents must rely on manually coded endpoint definitions
  • - Credit-based pricing can be opaque; free tier is limited and paid plans require contacting sales for enterprise volumes
  • - Credit-based pricing across all tiers — agents must track credit consumption, and enriched fields (owner contacts, tech stack) cost more than basic lookups
  • - Batch people-lookup endpoint is async (poll for status), adding complexity for agents that expect synchronous responses
Badges
API KeyFreemiumJSONBot Blocking: NoneNo CCb2b-datacompany-datapeople-datafirmographicsenrichmentgrowth-metricsweb-intelligencewebhooks
OpenAPI SpecAPI KeyFreemiumJSONBot Blocking: NoneNo CClocal-businessbusiness-searchlead-generationdecision-makerstech-stackdata-enrichmentb2b-datagoogle-maps

Crustdata Integration

example.py
import requests
API_TOKEN = "your-api-token"BASE = "https://api.crustdata.com"headers = {"Authorization": f"Token {API_TOKEN}", "Accept": "application/json"}
# Enrich company by domainresp = requests.get(f"{BASE}/screener/company",    params={"company_domain": "hubspot.com"}, headers=headers)print(resp.json())
# Search peopleresp = requests.post(f"{BASE}/screener/person/search",    headers={**headers, "Content-Type": "application/json"},    json={"filters": [{"filter_type": "person_title", "type": "in", "value": ["CTO"]}]})print(resp.json())

Openmart Integration

example.py
import requests
headers = {    "x-api-key": "YOUR_API_KEY",    "Content-Type": "application/json"}
# Search for local businessesresp = requests.post(    "https://api.openmart.ai/api/v1/search",    headers=headers,    json={        "query": "plumbers",        "location": [{"city": "Los Angeles", "state": "CA"}],        "limit": 100    })businesses = resp.json()for biz in businesses.get("results", []):    print(biz["name"], biz.get("phone"), biz.get("email"))