Crawdar Searches API

The Searches API from Crawdar — 6 operation(s) for searches.

GitHub OpenAPI

Operations 6

POST /api/v1/searches Create a resumable lead-search job from one brief #
GET /api/v1/searches/{id} Page through compact or full search-job results #
POST /api/v1/searches/{id}/refine Create a new job by changing an existing search brief #
POST /api/v1/searches/{id}/retry Create a replacement for a failed or expired search job #
POST /api/v1/searches/{id}/cancel Cancel a queued or running search job #
GET /api/v1/searches/{id}/export Download all job results as CSV or JSON #

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-searches-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-searches-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Crawdar Com Searches API
  version: 1.10.0
  description: 'Operations tagged Searches 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: Searches
paths:
  /api/v1/searches:
    post:
      operationId: startLeadSearch
      summary: Create a resumable lead-search job from one brief
      description: At most ten queued or running jobs per account, with two concurrent executions. Poll the same queued job and honor Retry-After. Do not create replacement jobs while work is queued.
      security:
      - {}
      - AgentKey: []
      parameters:
      - name: Idempotency-Key
        in: header
        required: false
        schema:
          type: string
          minLength: 8
          maxLength: 128
        description: Deduplicates retries for the same agent identity for 24 hours.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchJobRequest'
      responses:
        '201':
          description: Search job completed from cache
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchJobEnvelope'
        '202':
          description: Search job accepted and running asynchronously
          headers:
            retry-after:
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchJobEnvelope'
        '400':
          description: Invalid lead 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'
      tags:
      - Searches
    servers:
    - url: https://crawdar.com
  /api/v1/searches/{id}:
    get:
      operationId: getLeadSearch
      summary: Page through compact or full search-job results
      security:
      - JobToken: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: cursor
        in: query
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 50
          default: 10
      - name: view
        in: query
        schema:
          enum:
          - compact
          - full
          default: compact
      responses:
        '200':
          description: A page of results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchJobPage'
        '202':
          description: Job is not complete yet
          headers:
            retry-after:
              schema:
                type: integer
        '404':
          description: Job or capability token not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - Searches
    servers:
    - url: https://crawdar.com
  /api/v1/searches/{id}/refine:
    post:
      operationId: refineLeadSearch
      summary: Create a new job by changing an existing search brief
      security:
      - JobToken: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchJobRefinement'
      responses:
        '201':
          description: Refined search job completed from cache
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchJobEnvelope'
        '202':
          description: Refined search job accepted and running asynchronously
          headers:
            retry-after:
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchJobEnvelope'
      tags:
      - Searches
    servers:
    - url: https://crawdar.com
  /api/v1/searches/{id}/retry:
    post:
      operationId: retryLeadSearch
      summary: Create a replacement for a failed or expired search job
      security:
      - JobToken: []
        AgentKey: []
      - JobToken: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '201':
          description: Replacement completed from cache
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchJobEnvelope'
        '202':
          description: Replacement accepted and running
          headers:
            retry-after:
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchJobEnvelope'
        '409':
          description: The original job is completed or still running
      tags:
      - Searches
    servers:
    - url: https://crawdar.com
  /api/v1/searches/{id}/cancel:
    post:
      operationId: cancelLeadSearch
      summary: Cancel a queued or running search job
      security:
      - JobToken: []
      - AgentKey: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Job canceled
        '409':
          description: Job is already terminal
      tags:
      - Searches
    servers:
    - url: https://crawdar.com
  /api/v1/searches/{id}/export:
    get:
      operationId: exportLeadSearch
      summary: Download all job results as CSV or JSON
      security:
      - JobToken: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: format
        in: query
        schema:
          enum:
          - csv
          - json
          default: csv
      responses:
        '200':
          description: Complete result export
        '404':
          description: Completed job not found
      tags:
      - Searches
    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
    SearchJobEnvelope:
      type: object
      required:
      - id
      - status
      - statusUrl
      - exportUrl
      - retryUrl
      - cancelUrl
      - expiresInSeconds
      properties:
        id:
          type: string
          format: uuid
        status:
          enum:
          - queued
          - running
          - completed
          - failed
          - canceled
        jobToken:
          type: string
          description: Shown once. Send it in x-job-token for subsequent requests.
        statusUrl:
          type: string
          format: uri
        exportUrl:
          type: string
          format: uri
        retryUrl:
          type: string
          format: uri
        cancelUrl:
          type: string
          format: uri
        progress:
          type: object
          additionalProperties: true
        expiresInSeconds:
          type: integer
        cacheHit:
          type: boolean
        resultCount:
          type: integer
    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
    SearchJobPage:
      type: object
      required:
      - id
      - status
      - resultCount
      - returned
      - results
      properties:
        id:
          type: string
          format: uuid
        status:
          enum:
          - queued
          - running
          - completed
          - failed
          - canceled
        progress:
          type: object
          additionalProperties: true
        schemaVersion:
          type: string
        resultCount:
          type: integer
        returned:
          type: integer
        results:
          type: array
          items:
            $ref: '#/components/schemas/Result'
        nextCursor:
          type:
          - string
          - 'null'
        diagnostics:
          $ref: '#/components/schemas/Diagnostics'
        warnings:
          type: array
          items:
            type: string
        searchedSources:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
        completedAt:
          type:
          - string
          - 'null'
          format: date-time
    ProspectCriterion:
      type: object
      required:
      - criterion
      - status
      - evidence
      - sourceUrl
      properties:
        criterion:
          type: string
        status:
          enum:
          - confirmed
          - unknown
          - contradicted
        evidence:
          type: string
        sourceUrl:
          type: string
    SearchJobRefinement:
      type: object
      additionalProperties: false
      properties:
        brief:
          type: string
          minLength: 8
          maxLength: 500
        target:
          type: string
          minLength: 3
          maxLength: 220
        geography:
          type: string
          minLength: 2
          maxLength: 140
        qualifier:
          type: string
          maxLength: 900
        fields:
          type: array
          items:
            type: string
        limit:
          type: integer
          minimum: 1
          maximum: 50
    ErrorResponse:
      type: object
      required:
      - schemaVersion
      - requestId
      - error
      - errorCode
      properties:
        schemaVersion:
          type: string
        requestId:
          type: string
        error:
          type: string
        errorCode:
          type: string
    SearchJobRequest:
      type: object
      additionalProperties: false
      properties:
        brief:
          type: string
          minLength: 8
          maxLength: 500
          description: One natural-language lead brief. Geography and public-evidence requirements may be included.
        target:
          type: string
          minLength: 3
          maxLength: 220
        geography:
          type: string
          minLength: 2
          maxLength: 140
        qualifier:
          type: string
          maxLength: 900
        fields:
          type: array
          items:
            enum:
            - Website
            - Business email
            - Phone
            - Location
            - Owner type
            - Description
            - Source links
        sources:
          type: array
          items:
            type: string
        limit:
          type: integer
          minimum: 1
          maximum: 50
          default: 50
      anyOf:
      - required:
        - brief
      - required:
        - target
        - geography
    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