Company research dossier

Returns JSON with a company research dossier in one call: domain registration and DNS, email and website security, latest news and, with a ticker, SEC financials, priced below the separate calls.

Use when you need company research, due diligence or a quick analysis of a business from its website domain and optional ticker.

Do not use for private financials, credit scores, people search or businesses without a website.

Price: 0.03 USDC per call (x402, eip155:8453). Typical response time: 8000 ms (p95).

Call it over HTTP (x402)

POST https://x402-gateway.blackwoodstate8.workers.dev/v1/company-dossier. A request without payment gets 402 Payment Required with the PAYMENT-REQUIRED header; any x402 client signs an EIP-3009 authorization and retries with PAYMENT-SIGNATURE (or X-PAYMENT). Invalid input is answered with 400 and not charged.

curl -i -X POST https://x402-gateway.blackwoodstate8.workers.dev/v1/company-dossier -H 'content-type: application/json' -d '{"domain":"apple.com","ticker":"AAPL","name":"Apple"}'
Pay to0xc9283Fd5F9477D424919E5b5E78f2cC7c885e7C6
Asset0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (USDC)
Amount30000 atomic units (0.03 USDC)
Authorization window60 s

Call it over MCP

Streamable HTTP at https://x402-gateway.blackwoodstate8.workers.dev/mcp, tool blackwood_company_dossier. Payment goes in _meta["x402/payment"]; without it the tool returns the payment requirements.

Input

FieldTypeMeaning
domainstringCompany website domain, e.g. stripe.com
ticker (optional)stringStock ticker for SEC financials, US filers only (no financials when omitted), e.g. AAPL
name (optional)stringCompany name for the news search (taken from the domain when omitted), e.g. Stripe

Example:

{
  "domain": "apple.com",
  "ticker": "AAPL",
  "name": "Apple"
}

Output

Real example:

{
  "domain": "apple.com",
  "registration": {
    "registered": true,
    "registrar": "Nom-iq Ltd. dba COM LAUDE",
    "created": "1987-02-19T05:00:00Z",
    "expires": "2027-02-20T05:00:00Z",
    "nameservers": [
      "a.ns.apple.com",
      "b.ns.apple.com",
      "c.ns.apple.com",
      "d.ns.apple.com"
    ]
  },
  "dns": {
    "a": [
      "17.253.144.10"
    ],
    "mx": [
      "mx-in.g.apple.com",
      "mx-in-hfd.apple.com",
      "mx-in-ma.apple.com",
      "mx-in-rn.apple.com",
      "mx-in-sg.apple.com",
      "mx-in-vib.apple.com"
    ]
  },
  "email": {
    "spf": true,
    "dmarcPolicy": "quarantine"
  },
  "security": {
    "grade": "B",
    "score": 78,
    "failing": []
  },
  "news": [
    {
      "title": "Apple says iPhone Duo demand extraordinary after delivery delays",
      "url": "https://www.thehindubusinessline.com/info-tech/apple-says-iphone-duo-demand-extraordinary-after-delivery-delays/article71595296.ece",
      "source": "thehindubusinessline.com",
      "publishedAt": "2026-10-17T04:04:00.000Z"
    },
    {
      "title": "This Is the Difference Between Apple Juice and Apple Cider",
      "url": "https://www.tasteofhome.com/article/difference-between-apple-juice-and-apple-cider/",
      "source": "tasteofhome.com",
      "publishedAt": "2026-10-17T16:15:00.000Z"
    },
    {
      "title": "Apple weekend deals: HomeView, new Apple TV 4K, AirPods, MacBook, mini, more",
      "url": "https://9to5mac.com/2026/10/17/apple-weekend-deals-homeview-new-apple-tv-airpods/",
      "source": "9to5mac.com",
      "publishedAt": "2026-10-17T12:18:00.000Z"
    },
    {
      "title": "Apple Updates App Store Rules To Ensure It Doesn't Offer AI Nudify Apps",
      "url": "https://www.engadget.com/2289567/apple-updates-app-store-rules-ai-nudify-apps/",
      "source": "engadget.com",
      "publishedAt": "2026-10-17T12:35:00.000Z"
    },
    {
      "title": "Apple says iPhone Duo demand extraordinary after delivery delays",
      "url": "https://www.businesstimes.com.sg/companies-markets/apple-says-iphone-duo-demand-extraordinary-after-delivery-delays",
      "source": "businesstimes.com.sg",
      "publishedAt": "2026-10-17T06:45:00.000Z"
    }
  ],
  "financials": {
    "name": "Apple Inc.",
    "cik": 320193,
    "exchange": "Nasdaq",
    "fiscalYear": 2025,
    "revenue": 416161000000,
    "netIncome": 112010000000,
    "operatingIncome": 133050000000,
    "epsDiluted": 7.46,
    "assets": 379297000000,
    "liabilities": 291107000000,
    "cash": 45317000000
  },
  "errors": {},
  "attribution": "Source: The GDELT Project (https://www.gdeltproject.org/); SEC EDGAR XBRL company facts (public domain); Registration from RDAP and public DNS"
}
JSON Schema
{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string"
    },
    "registration": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "registered": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "registrar": {
              "type": [
                "string",
                "null"
              ]
            },
            "created": {
              "type": [
                "string",
                "null"
              ]
            },
            "expires": {
              "type": [
                "string",
                "null"
              ]
            },
            "nameservers": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "registered",
            "registrar",
            "created",
            "expires",
            "nameservers"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "dns": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "a": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "mx": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "a",
            "mx"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "email": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "spf": {
              "type": "boolean"
            },
            "dmarcPolicy": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "spf",
            "dmarcPolicy"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "security": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "grade": {
              "type": "string"
            },
            "score": {
              "type": "number"
            },
            "failing": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "grade",
            "score",
            "failing"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "news": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "publishedAt": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url",
          "source",
          "publishedAt"
        ],
        "additionalProperties": false
      }
    },
    "financials": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "cik": {
              "type": "number"
            },
            "exchange": {
              "type": [
                "string",
                "null"
              ]
            },
            "fiscalYear": {
              "type": [
                "number",
                "null"
              ]
            },
            "revenue": {
              "type": [
                "number",
                "null"
              ]
            },
            "netIncome": {
              "type": [
                "number",
                "null"
              ]
            },
            "operatingIncome": {
              "type": [
                "number",
                "null"
              ]
            },
            "epsDiluted": {
              "type": [
                "number",
                "null"
              ]
            },
            "assets": {
              "type": [
                "number",
                "null"
              ]
            },
            "liabilities": {
              "type": [
                "number",
                "null"
              ]
            },
            "cash": {
              "type": [
                "number",
                "null"
              ]
            }
          },
          "required": [
            "name",
            "cik",
            "exchange",
            "fiscalYear",
            "revenue",
            "netIncome",
            "operatingIncome",
            "epsDiluted",
            "assets",
            "liabilities",
            "cash"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "errors": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "attribution": {
      "type": "string"
    },
    "next": {
      "type": "object",
      "properties": {
        "service": {
          "type": "string",
          "description": "Service id of the suggested next paid call"
        },
        "tool": {
          "type": "string",
          "description": "MCP tool name of the same call"
        },
        "method": {
          "type": "string",
          "enum": [
            "GET",
            "POST"
          ]
        },
        "url": {
          "type": "string",
          "description": "Paid route of the next call"
        },
        "useWhen": {
          "type": "string",
          "description": "When the next call is the right one"
        },
        "sample": {
          "type": "string",
          "description": "Free fixed sample of the whole family"
        }
      },
      "required": [
        "service",
        "tool",
        "method",
        "url",
        "useWhen",
        "sample"
      ],
      "additionalProperties": false,
      "description": "Suggested next paid call in the same family (call it in a loop when the task continues)"
    }
  },
  "required": [
    "domain",
    "registration",
    "dns",
    "email",
    "security",
    "news",
    "financials",
    "errors",
    "attribution"
  ],
  "additionalProperties": false
}

More

Free schema and example: GET https://x402-gateway.blackwoodstate8.workers.dev/v1/company-dossier. OpenAPI 3.1 · llms.txt · All services