{
  "openapi": "3.0.1",
  "info": {
    "title": "B2B Account Research Tool — Cognism Alternative",
    "description": "Research known B2B company domains using public company pages. Collect account context, published business emails, role-keyword evidence, LinkedIn company links, and source URLs for account-review workflows.",
    "version": "0.8",
    "x-build-id": "Vc5z4TKfdGs0uQtAX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~cognism-alternative/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-cognism-alternative",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/khadinakbar~cognism-alternative/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-cognism-alternative",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/khadinakbar~cognism-alternative/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-cognism-alternative",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "accounts"
        ],
        "properties": {
          "accounts": {
            "title": "Known B2B accounts",
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "description": "Provide one to 20 known B2B company records to research from their public website. Each item needs companyDomain such as example.com and can retain a caller label, record ID, and up to five role keywords. The default is one stable public example and maxAccounts applies after validation. This is not a company-name search, contact-database lookup, or permission to submit private network targets.",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "companyDomain": {
                  "title": "Company domain",
                  "type": "string",
                  "description": "Public company website hostname or homepage URL to read, such as example.com or https://example.com. Private, local, IP-address, credentialed, non-HTTP(S), and non-standard-port targets are rejected. A hostname is normalized before collection. This is not a LinkedIn URL, a person profile, or an internal CRM address.",
                  "maxLength": 253,
                  "example": "example.com"
                },
                "accountName": {
                  "title": "Your account label",
                  "type": "string",
                  "description": "Optional company label returned unchanged so the record can reconnect to your account list. Use concise text such as Example Organization. It is limited to 200 characters and may be omitted. This is not a claim that the Actor verified the legal company name.",
                  "maxLength": 200,
                  "example": "Example Organization"
                },
                "externalId": {
                  "title": "Your record ID",
                  "type": "string",
                  "description": "Optional caller-owned ID returned unchanged for matching to a permitted workflow. Use a stable non-secret value such as crm-account-001. It is limited to 200 characters and is optional. This is not an Apify run ID, a credential, or a source-derived identifier.",
                  "maxLength": 200,
                  "example": "crm-account-001"
                },
                "targetRoleKeywords": {
                  "title": "Role keywords to check",
                  "type": "array",
                  "description": "Optional role phrases to look for in public page text, such as VP Sales or Founder. Provide up to five phrases; each is matched literally without identity inference. Omit this field when company context alone is enough. This is not person discovery, title verification, or a contact-data filter.",
                  "maxItems": 5,
                  "items": {
                    "type": "string",
                    "maxLength": 80
                  },
                  "example": [
                    "VP Sales",
                    "Founder"
                  ]
                }
              },
              "required": [
                "companyDomain"
              ]
            }
          },
          "maxAccounts": {
            "title": "Maximum accounts to process",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Safety cap for valid account records after normalization and duplicate removal. Enter an integer such as 5; values range from 1 to 20. The default 5 keeps first runs bounded. This is not the number of pages or an instruction to discover additional companies.",
            "default": 5
          },
          "maxPagesPerAccount": {
            "title": "Maximum public pages per account",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Bound the fixed public-page set checked for each account: homepage, contact, about, team, then leadership. Enter 1 through 5; the default is 3 pages. Lower values reduce runtime and event-charge exposure. This is not a site-wide crawl depth or a request to follow arbitrary links.",
            "default": 3
          },
          "requestTimeoutSecs": {
            "title": "Per-page request timeout",
            "minimum": 5,
            "maximum": 30,
            "type": "integer",
            "description": "Maximum time allowed for one public-page HTTP request before it is classified for retry or a truthful source outcome. Enter seconds such as 15; supported values are 5 through 30. The default balances first-run reliability and bounded compute. This is not the total Actor timeout or an unlimited retry setting.",
            "default": 15
          },
          "useApifyUnblockerFallback": {
            "title": "Use Apify Unblocker after a classified direct failure",
            "type": "boolean",
            "description": "Enable one Apify Unblocker recovery attempt only when a direct public-page request is blocked or transiently unavailable. The default is false, preserving direct collection as the primary route. Apify proxy usage may add platform charges when this option runs. This is not a guarantee of access or a bypass for authenticated or restricted pages.",
            "default": false
          },
          "preferApifyUnblocker": {
            "title": "Prefer Apify Unblocker before direct collection",
            "type": "boolean",
            "description": "Start with Apify Unblocker when a permitted public website has repeatedly blocked direct requests. It only applies when the fallback option is also enabled, and defaults to false. Direct collection remains the standard lower-cost route. This is not required for ordinary public sites or a substitute for collection authority.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}