Crawdar Search API

The Search API from Crawdar — 1 operation(s) for search.

GitHub OpenAPI

Operations 1

POST /api/v1/search Find businesses and their source evidence #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/crawdar-com:crawdar-com-search-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

crawdar-com-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Crawdar Com Search API
  version: 1.10.0
  description: 'Operations tagged Search across 2 of this provider''s published API definitions: crawdar-com-openapi.json, crawdar-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://crawdar.com
tags:
- name: Search
paths:
  /api/v1/search:
    post:
      operationId: searchBusinesses
      summary: Find businesses and their source evidence
      security:
      - {}
      - AgentKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchRequest'
      responses:
        '200':
          description: Completed search
          headers:
            x-request-id:
              schema:
                type: string
            ratelimit-limit:
              schema:
                type: integer
            ratelimit-remaining:
              schema:
                type: integer
            ratelimit-reset:
              schema:
                type: integer
              description: Seconds until reset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResponse'
        '400':
          description: Invalid search brief
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Free usage or provider capacity reached
          headers:
            x-request-id:
              schema:
                type: string
            ratelimit-limit:
              schema:
                type: integer
            ratelimit-remaining:
              schema:
                type: integer
            ratelimit-reset:
              schema:
                type: integer
              description: Seconds until reset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: A public web source did not respond
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Search
    servers:
    - url: https://crawdar.com
components:
  schemas:
    Result:
      type: object
      required:
      - name
      - prospectStatus
      - whyMatch
      - criteria
      - contactRoute
      - fitStatus
      - entityConfidence
      - qualificationConfidence
      - evidence
      - qualificationChecks
      properties:
        name:
          type: string
        website:
          type: string
        websiteUrl:
          type: string
        city:
          type: string
        email:
          type: string
        phone:
          type: string
        prospectStatus:
          enum:
          - qualified
          - possible
          description: Qualified means all retained criteria are confirmed. Possible means one or more criteria remain unknown.
        whyMatch:
          type: array
          items:
            type: string
        criteria:
          type: array
          items:
            $ref: '#/components/schemas/ProspectCriterion'
        contactRoute:
          $ref: '#/components/schemas/ContactRoute'
        fitStatus:
          enum:
          - verified
          - likely
          description: Verified means every requested qualification check passed. Likely means at least one check is open or unverified.
        confidence:
          type: integer
          minimum: 0
          maximum: 100
        entityConfidence:
          type: integer
          minimum: 0
          maximum: 100
        qualificationConfidence:
          type: integer
          minimum: 0
          maximum: 100
        evidenceQuality:
          enum:
          - strong
          - moderate
          - weak
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/Evidence'
        qualificationChecks:
          type: array
          items:
            $ref: '#/components/schemas/QualificationCheck'
    QualificationCheck:
      type: object
      required:
      - requirement
      - status
      - excerpt
      - sourceUrl
      properties:
        requirement:
          type: string
        status:
          enum:
          - passed
          - failed
          - unverified
        excerpt:
          type: string
        sourceUrl:
          type: string
    SearchRequest:
      type: object
      required:
      - target
      - geography
      additionalProperties: false
      properties:
        target:
          type: string
          minLength: 3
          maxLength: 220
        geography:
          type: string
          minLength: 2
          maxLength: 140
        limit:
          type: integer
          minimum: 1
          maximum: 50
          default: 50
          description: Maximum number of results retained and returned.
        qualifier:
          type: string
          maxLength: 900
          description: Optional public-evidence requirements. Missing evidence remains unverified.
        fields:
          type: array
          items:
            enum:
            - Website
            - Business email
            - Phone
            - Location
            - Owner type
            - Description
            - Source links
    Evidence:
      type: object
      required:
      - label
      - url
      - kind
      properties:
        label:
          type: string
        url:
          type: string
          format: uri
        kind:
          type: string
    Diagnostics:
      type: object
      required:
      - discoveredCandidates
      - inspectedCandidates
      - acceptedResults
      - verifiedResults
      - likelyResults
      - rejectedCandidates
      - sourceStatus
      properties:
        discoveredCandidates:
          type: integer
        inspectedCandidates:
          type: integer
        acceptedResults:
          type: integer
        verifiedResults:
          type: integer
        likelyResults:
          type: integer
        rejectedCandidates:
          type: array
          items:
            type: object
            required:
            - name
            - url
            - reason
            properties:
              name:
                type: string
              url:
                type: string
              reason:
                type: string
        sourceStatus:
          type: array
          items:
            type: object
            required:
            - source
            - status
            - detail
            properties:
              source:
                type: string
              status:
                enum:
                - complete
                - partial
                - failed
              detail:
                type: string
        providerRequests:
          type: object
          required:
          - attempted
          - succeeded
          - failed
          - denied
          properties:
            attempted:
              type: integer
            succeeded:
              type: integer
            failed:
              type: integer
            denied:
              type: integer
    ErrorResponse:
      type: object
      required:
      - schemaVersion
      - requestId
      - error
      - errorCode
      properties:
        schemaVersion:
          type: string
        requestId:
          type: string
        error:
          type: string
        errorCode:
          type: string
    ProspectCriterion:
      type: object
      required:
      - criterion
      - status
      - evidence
      - sourceUrl
      properties:
        criterion:
          type: string
        status:
          enum:
          - confirmed
          - unknown
          - contradicted
        evidence:
          type: string
        sourceUrl:
          type: string
    SearchResponse:
      type: object
      required:
      - schemaVersion
      - requestId
      - results
      - resultCount
      - searchedSources
      - warnings
      - diagnostics
      properties:
        schemaVersion:
          type: string
          example: '2026-08-26'
        requestId:
          type: string
        resultCount:
          type: integer
        durationMs:
          type: integer
        remainingFreeSearches:
          type: integer
        searchedSources:
          type: array
          items:
            type: string
        warnings:
          type: array
          items:
            type: string
        diagnostics:
          $ref: '#/components/schemas/Diagnostics'
        results:
          type: array
          items:
            $ref: '#/components/schemas/Result'
    ContactRoute:
      type: object
      required:
      - status
      - type
      - value
      - sourceUrl
      - confidence
      - reason
      properties:
        status:
          enum:
          - confirmed
          - route_available
          - not_found
        type:
          enum:
          - public_role_email
          - public_phone
          - website
          - none
        value:
          type: string
        sourceUrl:
          type: string
        confidence:
          type: integer
          minimum: 0
          maximum: 100
        reason:
          type: string
  securitySchemes:
    AgentKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Account key created while signed in at /account; all keys share account limits.
    BearerKey:
      type: http
      scheme: bearer
      description: 'The same account API key may be sent as Authorization: Bearer YOUR_KEY.'
    JobToken:
      type: apiKey
      in: header
      name: x-job-token
      description: Capability token returned once with a search job.
x-refined-from:
- crawdar-com-openapi.json
- crawdar-com-openapi.yml