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).
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 to | 0xc9283Fd5F9477D424919E5b5E78f2cC7c885e7C6 |
|---|---|
| Asset | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (USDC) |
| Amount | 30000 atomic units (0.03 USDC) |
| Authorization window | 60 s |
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.
| Field | Type | Meaning |
|---|---|---|
domain | string | Company website domain, e.g. stripe.com |
ticker (optional) | string | Stock ticker for SEC financials, US filers only (no financials when omitted), e.g. AAPL |
name (optional) | string | Company name for the news search (taken from the domain when omitted), e.g. Stripe |
Example:
{
"domain": "apple.com",
"ticker": "AAPL",
"name": "Apple"
}
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"
}
{
"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
}Free schema and example: GET https://x402-gateway.blackwoodstate8.workers.dev/v1/company-dossier.
OpenAPI 3.1 · llms.txt · All services