> ## Documentation Index
> Fetch the complete documentation index at: https://docs.secapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# POST /v1/factors/custom

> Discover a custom thematic factor pack from factor-overlap peers plus deterministic filing/news signatures

Discover a custom thematic factor pack from factor-overlap peers plus deterministic filing/news signatures

<Info>
  Audience: application and coding agent.
</Info>

## Canonical metadata

* `requestId`
* `traceparent`

## Example request

<RequestExample>
  ```bash theme={null}
  curl -X POST \
    -H "x-api-key: $SECAPI_API_KEY" \
    -H "secapi-version: 2026-03-19" \
    -H "content-type: application/json" \
    -d '{"symbol":"NVDA","candidates":["AMD","AVGO","TSM","ASML"],"lookback":"6m","limit":5}' \
    "https://api.secapi.ai/v1/factors/custom"
  ```
</RequestExample>

## Example response

<ResponseExample>
  ```json theme={null}
  {
    "object": "factor_similarity_pack",
    "id": "factor_similarity_pack:NVDA:2026-06-09",
    "symbol": "NVDA",
    "asOf": "2026-06-09T22:15:00.000Z",
    "anchorTheme": "accelerated compute",
    "themeLabels": [
      "AI infrastructure",
      "semiconductors"
    ],
    "factorKeySuggestion": "AI_INFRASTRUCTURE",
    "discoveryMode": "factor_overlap_plus_filing_news_signature",
    "semanticSignature": {
      "algorithm": "secapi_filing_news_signature_v1",
      "dimensions": 384,
      "topTerms": [
        "accelerated computing",
        "data center",
        "gpu"
      ],
      "sourceKinds": [
        "filing_title",
        "news_headline"
      ],
      "sourceCount": 18
    },
    "namingWorkflow": {
      "workflowVersion": "2026-06-09",
      "selectedLabel": "AI Infrastructure",
      "factorKeySuggestion": "AI_INFRASTRUCTURE",
      "confidence": "high",
      "labelCandidates": [
        {
          "label": "AI Infrastructure",
          "score": 0.91,
          "kind": "phrase",
          "evidenceTerms": [
            "data center",
            "gpu"
          ],
          "sourceCount": 18
        }
      ],
      "rationale": "Peers cluster around data-center accelerator demand and AI infrastructure filings."
    },
    "evidence": [],
    "peers": [],
    "summaryMd": "NVDA peers share semiconductor and AI infrastructure signatures plus similar factor exposure.",
    "responseMode": "compact",
    "dataAsOf": "2026-06-09",
    "freshnessStatus": "fresh",
    "methodologyVersion": "secapi_factor_returns_v1",
    "materializationVersion": "2026-06-09",
    "provenance": {
      "source": "secapi_factor_pipeline",
      "sourceLabel": "SecAPI factor pipeline",
      "accessionNumber": null,
      "filingUrl": "https://docs.secapi.ai/factors/methodology",
      "acceptedAt": null,
      "retrievedAt": "2026-06-09T22:15:00.000Z",
      "parserVersion": "secapi-factor-pipeline"
    },
    "freshness": {
      "status": "fresh",
      "asOf": "2026-06-09T22:15:00.000Z",
      "sourcePublishedAt": "2026-06-09T21:30:00.000Z",
      "lagMs": 2700000
    },
    "materialization": {
      "parserVersion": "secapi-factor-pipeline",
      "materializationVersion": "2026-06-09"
    },
    "sourceRights": {
      "source": "secapi_owned_factor_pipeline",
      "sourceLabel": "SecAPI factor pipeline",
      "posture": "public_safe",
      "publicAvailability": "public",
      "contractStatus": "approved",
      "restrictions": [],
      "notes": "SecAPI-owned derived factor data."
    },
    "methodology": {
      "id": "secapi_factor_returns",
      "version": "v1",
      "summary": "SecAPI-owned daily factor returns, exposures, and portfolio analytics built for agent and API workflows.",
      "confidence": "high",
      "launchState": "beta",
      "inputs": [
        "secapi_factor_returns",
        "secapi_factor_exposures",
        "market_calendar"
      ],
      "validation": {
        "launchHistoryFloor": "2015-01-01",
        "marketCalendarAware": true
      }
    },
    "revision": {
      "sourcePublishedAt": "2026-06-09T21:30:00.000Z",
      "retrievedAt": "2026-06-09T22:15:00.000Z",
      "vintageId": "2026-06-09",
      "revisedFrom": null
    },
    "degradedState": null,
    "requestId": "req_2ZK8Q1W9F4M6P7R3",
    "traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
  }
  ```
</ResponseExample>

## Give this prompt to your agent

<Prompt>
  Use SEC API POST /v1/factors/custom to discover a thematic factor pack from factor-overlap peers plus filing/news signatures. Preserve `symbol`, `anchorTheme`, `themeLabels`, `factorKeySuggestion`, `semanticSignature`, `namingWorkflow`, `peers`, `evidence`, `summaryMd`, `freshness`, `methodology`, `requestId`, and `traceparent`.
</Prompt>

## Failure posture

* treat non-2xx responses as contract-aware failures, not free-form errors
* preserve `requestId` and `traceparent` in logs and downstream reports
* if provenance or freshness metadata is present, return it unchanged so trust is not lost in the handoff
