Reads a product or company website and infers who its ideal customers
are on X: an audience description, the scoring rubric, and
keyword-watch ideas, in one call. A bare domain is accepted.
Free: no AI credits. The page read runs on the account’s allowance of
20 page reads a day, shared with the SuperX app, so an exhausted
allowance returns 429 ai_action_limited with scope: "account".
Unlike the two helpers above, this one goes through the SuperX app,
so the app’s short-term limiter binds it too: more than 10 calls in
10 minutes returns 429 rate_limited, which clears in about a
minute. Takes up to a minute.
Nothing is created, but the call needs a key with the write scope,
as every non-GET route on this API does. Pass icp_description to
POST /v1/signals/agents as the agent’s ICP, and the suggestions as
its keywords.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SuperX","colors":{"primary":"#F4503B","light":"#FB7359","dark":"#D93820"},"logo":{"light":"https://mintcdn.com/superx/ZOrKRYsYXbBhitoI/logo/light.svg?fit=max\u0026auto=format\u0026n=ZOrKRYsYXbBhitoI\u0026q=85\u0026s=d465c38938c34f6ab75cfc50d0039be2","dark":"https://mintcdn.com/superx/ZOrKRYsYXbBhitoI/logo/dark.svg?fit=max\u0026auto=format\u0026n=ZOrKRYsYXbBhitoI\u0026q=85\u0026s=b717e05282be47857b4c42e3c9f28b15"},"favicon":"https://mintcdn.com/superx/ZOrKRYsYXbBhitoI/favicon.png?fit=max\u0026auto=format\u0026n=ZOrKRYsYXbBhitoI\u0026q=85\u0026s=05aaa6612cdd959e0edb14d963806660","appearance":{"default":"system"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"superx","hasAudioNarration":false,"actualSubdomain":"superx","customDomains":["docs.superx.so"],"gitSource":{"type":"github","owner":"superx-so","repo":"superx-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ac68ff611e54a617d7548d2","collectionId":"371386e6-3679-44e4-aa28-f1b7adee5865","liveDeploymentHistoryId":"6ac68ff611e54a617d7548d2","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ac68ff611e54a617d7548d2","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Reference","count":106},{"language":"default","tag":"Signals","count":12},{"language":"default","tag":"Documentation","count":10},{"language":"default","tag":"Articles","count":10},{"language":"default","tag":"Scheduling","count":10},{"language":"default","tag":"Audience","count":9},{"language":"default","tag":"Contact Lists","count":9},{"language":"default","tag":"Datasets","count":8},{"language":"default","tag":"Context","count":7},{"language":"default","tag":"Engage","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/signals/build-an-audience-profile-from-a-website","slug":"/api-reference/signals/build-an-audience-profile-from-a-website","pageMetadata":{"title":"Build an audience profile from a website","description":"Reads a product or company website and infers who its ideal customers\nare on X: an audience description, the scoring rubric, and\nkeyword-watch ideas, in one call. A bare domain is accepted.\n\nFree: no AI credits. The page read runs on the account's allowance of\n20 page reads a day, shared with the SuperX app, so an exhausted\nallowance returns `429 ai_action_limited` with `scope: \"account\"`.\nUnlike the two helpers above, this one goes through the SuperX app,\nso the app's short-term limiter binds it too: more than 10 calls in\n10 minutes returns `429 rate_limited`, which clears in about a\nminute. Takes up to a minute.\n\nNothing is created, but the call needs a key with the `write` scope,\nas every non-GET route on this API does. Pass `icp_description` to\n`POST /v1/signals/agents` as the agent's ICP, and the suggestions as\nits keywords.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/icp/expand-from-url","href":"/api-reference/signals/build-an-audience-profile-from-a-website","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Reads a product or company website and infers who its ideal customers\\nare on X: an audience description, the scoring rubric, and\\nkeyword-watch ideas, in one call. A bare domain is accepted.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Free: no AI credits. The page read runs on the account’s allowance of\\n20 page reads a day, shared with the SuperX app, so an exhausted\\nallowance returns \", _jsx(_components.code, {\n children: \"429 ai_action_limited\"\n }), \" with \", _jsx(_components.code, {\n children: \"scope: \\\"account\\\"\"\n }), \".\\nUnlike the two helpers above, this one goes through the SuperX app,\\nso the app’s short-term limiter binds it too: more than 10 calls in\\n10 minutes returns \", _jsx(_components.code, {\n children: \"429 rate_limited\"\n }), \", which clears in about a\\nminute. Takes up to a minute.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Nothing is created, but the call needs a key with the \", _jsx(_components.code, {\n children: \"write\"\n }), \" scope,\\nas every non-GET route on this API does. Pass \", _jsx(_components.code, {\n children: \"icp_description\"\n }), \" to\\n\", _jsx(_components.code, {\n children: \"POST /v1/signals/agents\"\n }), \" as the agent’s ICP, and the suggestions as\\nits keywords.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Build an audience profile from a website","description":"Reads a product or company website and infers who its ideal customers\nare on X: an audience description, the scoring rubric, and\nkeyword-watch ideas, in one call. A bare domain is accepted.\n\nFree: no AI credits. The page read runs on the account's allowance of\n20 page reads a day, shared with the SuperX app, so an exhausted\nallowance returns `429 ai_action_limited` with `scope: \"account\"`.\nUnlike the two helpers above, this one goes through the SuperX app,\nso the app's short-term limiter binds it too: more than 10 calls in\n10 minutes returns `429 rate_limited`, which clears in about a\nminute. Takes up to a minute.\n\nNothing is created, but the call needs a key with the `write` scope,\nas every non-GET route on this API does. Pass `icp_description` to\n`POST /v1/signals/agents` as the agent's ICP, and the suggestions as\nits keywords.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/icp/expand-from-url","href":"/api-reference/signals/build-an-audience-profile-from-a-website","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Signals"],"operationId":"expandIcpFromUrl","summary":"Build an audience profile from a website","description":"Reads a product or company website and infers who its ideal customers\nare on X: an audience description, the scoring rubric, and\nkeyword-watch ideas, in one call. A bare domain is accepted.\n\nFree: no AI credits. The page read runs on the account's allowance of\n20 page reads a day, shared with the SuperX app, so an exhausted\nallowance returns `429 ai_action_limited` with `scope: \"account\"`.\nUnlike the two helpers above, this one goes through the SuperX app,\nso the app's short-term limiter binds it too: more than 10 calls in\n10 minutes returns `429 rate_limited`, which clears in about a\nminute. Takes up to a minute.\n\nNothing is created, but the call needs a key with the `write` scope,\nas every non-GET route on this API does. Pass `icp_description` to\n`POST /v1/signals/agents` as the agent's ICP, and the suggestions as\nits keywords.\n","requestBody":"aa55bc4a-55f3-4fa3-ae22-35120e857e35","responses":{"200":"1b547cfb-7628-421a-96cc-8ee70ccc8d9e","400":"d1639979-d6f6-491b-89a3-345fad90b337","401":"1d0ab8d0-67ec-4998-9ae3-9a780f4fb5a9","403":"dbeaf1dc-1ecf-4fda-900e-ada6bc76e9f9","404":"7e0b5a12-47c4-4171-8154-fe416151d858","422":"c38ee0dd-4a76-441d-a30a-4e9ffe724e07","429":"1044b1f9-b049-4878-adbe-36209880f14b","500":"afa4c10b-6522-4804-bce4-5359cf992f10","502":"10ce813a-3ad3-41af-9d69-f2ec8b488658","503":"d2093005-0fdd-45d2-92bb-dc6757b84ab1"},"method":"post","type":"path","servers":["3d538a38-214d-4480-97a3-9a44d5c3102b"],"security":["d3f7d345-7007-489f-b114-dac4df3cb92f"],"path":"/v1/signals/icp/expand-from-url","baseUrlOptions":["https://api.superx.so"],"title":"Build an audience profile from a website","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","maxLength":2000,"description":"The website to read. A bare domain is accepted.","isRequired":true,"uniqueKey":"url","typeLabel":"string"},"account_id":{"type":"string","uniqueKey":"account_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"url":"superx.so"},"examples":{"Example":{"title":"Example","value":{"url":"superx.so"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"1b547cfb-7628-421a-96cc-8ee70ccc8d9e":{"description":"The inferred audience description, rubric and keyword ideas.","headers":{"X-RateLimit-Limit":{"description":"The limit of the rate window closest to exhaustion.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in that window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp (seconds) when that window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"icp_description":{"type":"string","uniqueKey":"data.icp_description","typeLabel":"string"},"rubric":{"type":"object","description":"The structured qualification rubric a signal agent scores people against.","properties":{"who":{"type":"string","description":"One sentence describing exactly who the ideal customer is.","uniqueKey":"data.rubric.who","typeLabel":"string"},"needs":{"type":"array","items":{"type":"string","uniqueKey":"data.rubric.needs.items.[INDEX]","typeLabel":"string"},"description":"The needs or pains that make someone a fit.","uniqueKey":"data.rubric.needs","typeLabel":"string[]"},"disqualifiers":{"type":"array","items":{"type":"string","uniqueKey":"data.rubric.disqualifiers.items.[INDEX]","typeLabel":"string"},"description":"What rules a profile out even when it looks adjacent.","uniqueKey":"data.rubric.disqualifiers","typeLabel":"string[]"},"example_match":{"type":"string","description":"A hypothetical X bio of someone who clearly fits.","uniqueKey":"data.rubric.example_match","typeLabel":"string"},"example_non_match":{"type":"string","description":"A hypothetical X bio of someone who looks close but does not fit.","uniqueKey":"data.rubric.example_non_match","typeLabel":"string"}},"uniqueKey":"data.rubric","typeLabel":"object"},"suggestions":{"type":"array","items":{"type":"object","properties":{"query":{"type":"string","description":"A plain-language phrase to watch. Not an X search query; SuperX compiles it when the keyword is added to an agent.","uniqueKey":"data.suggestions.items.[INDEX].query","typeLabel":"string"}},"uniqueKey":"data.suggestions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.suggestions","typeLabel":"object[]"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"icp_description":"\u003cstring>","rubric":{"who":"\u003cstring>","needs":["\u003cstring>"],"disqualifiers":["\u003cstring>"],"example_match":"\u003cstring>","example_non_match":"\u003cstring>"},"suggestions":[{"query":"\u003cstring>"}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"d1639979-d6f6-491b-89a3-345fad90b337":{"description":"A parameter is missing, malformed, or out of range.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"invalid_parameter","message":"since must be a UTC ISO-8601 timestamp"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_parameter","message":"since must be a UTC ISO-8601 timestamp"}}}},"exampleType":"examples"}},"exampleType":"examples"},"1d0ab8d0-67ec-4998-9ae3-9a780f4fb5a9":{"description":"Missing/malformed Authorization header (`unauthorized`) or an unknown/revoked key (`invalid_api_key`).","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"invalid_api_key","message":"Unknown or revoked API key"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_api_key","message":"Unknown or revoked API key"}}}},"exampleType":"examples"}},"exampleType":"examples"},"dbeaf1dc-1ecf-4fda-900e-ada6bc76e9f9":{"description":"Read-only key (`insufficient_scope`), an account shared with you (`writes_main_account_only`; shared accounts are read-only through the API, your own linked accounts are not), or a lapsed subscription (legacy string envelope).","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"oneOf.0.error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Legacy shape used ONLY by the shared subscription middleware: a plain\nstring `error` field. Seen on `403` when the subscription has lapsed\n(string starts with \"subscription_required:\") and on `500` when\nsubscription verification fails (string starts with \"internal_error:\").\n","required":["error"],"properties":{"error":{"type":"string","example":"subscription_required: The SuperX API requires an active subscription","isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"insufficient_scope","message":"This API key is read-only. Create a key with the write scope to use this endpoint."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"insufficient_scope","message":"This API key is read-only. Create a key with the write scope to use this endpoint."}}}},"exampleType":"examples"}},"exampleType":"examples"},"7e0b5a12-47c4-4171-8154-fe416151d858":{"description":"account_id is not one of your accounts.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"account_not_found","message":"No account with that id belongs to this key"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"account_not_found","message":"No account with that id belongs to this key"}}}},"exampleType":"examples"}},"exampleType":"examples"},"c38ee0dd-4a76-441d-a30a-4e9ffe724e07":{"description":"The page could not be read (`scrape_failed`).","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"scrape_failed","message":"That page could not be read. Check the url and try again."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"scrape_failed","message":"That page could not be read. Check the url and try again."}}}},"exampleType":"examples"}},"exampleType":"examples"},"1044b1f9-b049-4878-adbe-36209880f14b":{"description":"Rate limited (`rate_limited`, honor `Retry-After`), the AI credit pool\nis used up (`ai_credits_exhausted`, with the credit counters), or a\ndaily cap on the action was hit (`ai_action_limited`).\n\nOn `ai_action_limited`, `error.scope` says which ceiling. `account`\nis one of your own: the plan's daily cap for a metered action, the\nonce-an-hour limit on style guide regeneration (where `reset_at` is an\nhour after the last run rather than midnight), the 3 live style-guide\nattempts a day, or the 20 page reads a day shared with the SuperX app.\n`platform` is the platform-wide fair-use ceiling on live-data actions,\nshared with every SuperX account: a `platform` refusal is not about\nthis account's quota, so wait for `reset_at` and retry.\n\nThe free endpoints send `X-Credits-Remaining` and `X-Credits-Reset` on\nthis 429 as they do on a 200, since nothing was charged either way.\n","headers":{"Retry-After":{"description":"Seconds to wait before retrying. Sent on every flavour of this 429.","schema":{"type":"integer"}},"X-Credits-Remaining":{"description":"Credits left in the pool. Sent only on `ai_credits_exhausted`.","schema":{"type":"integer"}},"X-Credits-Reset":{"description":"Unix seconds when the pool refills. Sent only on `ai_credits_exhausted`.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"The `429 ai_credits_exhausted` body: the standard envelope plus the\ncredit counters. Sent with a `Retry-After` header and the\n`X-Credits-Remaining` / `X-Credits-Reset` headers. `code` is stable;\nthe counters are additive fields, safe to ignore.\n","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["ai_credits_exhausted"],"isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"credits_required":{"type":"integer","description":"Credits the call needed.","uniqueKey":"oneOf.0.error.credits_required","typeLabel":"integer"},"credits_remaining":{"oneOf":[{"type":"integer","description":"Credits available when it was refused.","uniqueKey":"oneOf.0.error.credits_remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Credits available when it was refused.","uniqueKey":"oneOf.0.error.credits_remaining.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.error.credits_remaining","typeLabel":"integer | null"},"reset_at":{"oneOf":[{"type":"integer","description":"Unix timestamp (seconds) when the pool refills.","uniqueKey":"oneOf.0.error.reset_at.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Unix timestamp (seconds) when the pool refills.","uniqueKey":"oneOf.0.error.reset_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.error.reset_at","typeLabel":"integer | null"}},"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"The `429 ai_action_limited` body: a per-day cap on how many times an\nexpensive action can run, counted separately from the credit pool and\nfrom the request rate limits. Sent with a `Retry-After` header. Caps\nreset at midnight UTC.\n\nRead `scope` before telling a user anything: `account` means the\nplan's own daily cap for that action, `platform` means the\nplatform-wide fair-use ceiling on live-data actions, which is shared\nwith every SuperX account. A `platform` refusal is not about this\naccount's quota, so wait and retry rather than reporting the account\nas out.\n","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["ai_action_limited"],"isRequired":true,"uniqueKey":"oneOf.1.error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.message","typeLabel":"string"},"scope":{"type":"string","enum":["account","platform"],"description":"Whose ceiling refused the call: this account's own per-day cap\nfor the action, or the platform-wide fair-use ceiling on\nlive-data actions.\n","uniqueKey":"oneOf.1.error.scope","typeLabel":"enum\u003cstring>"},"retry_after":{"type":"integer","description":"Seconds to wait before the cap resets.","uniqueKey":"oneOf.1.error.retry_after","typeLabel":"integer"},"reset_at":{"type":"integer","description":"Unix seconds when the cap resets (the next UTC midnight).","uniqueKey":"oneOf.1.error.reset_at","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"object"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"oneOf.2.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"oneOf.2.error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.2.error","typeLabel":"object"}},"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"ai_action_limited_account":{"title":"ai_action_limited_account","value":{"error":{"code":"ai_action_limited","message":"Daily limit reached for this action on your plan (10 lead searches per day). It resets at midnight UTC.","scope":"account","retry_after":20400,"reset_at":1789430400}}},"ai_action_limited_platform":{"title":"ai_action_limited_platform","value":{"error":{"code":"ai_action_limited","message":"The platform-wide fair-use ceiling for live-data actions has been reached for today. It resets at midnight UTC.","scope":"platform","retry_after":20400,"reset_at":1789430400}}},"ai_credits_exhausted":{"title":"ai_credits_exhausted","value":{"error":{"code":"ai_credits_exhausted","message":"Not enough AI credits. Resets in 5 hours.","credits_required":2,"credits_remaining":0,"reset_at":1790812800}}}},"exampleType":"examples"}},"exampleType":"examples"},"afa4c10b-6522-4804-bce4-5359cf992f10":{"description":"Unexpected server error. May also use the legacy string envelope when subscription verification fails.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"oneOf.0.error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Legacy shape used ONLY by the shared subscription middleware: a plain\nstring `error` field. Seen on `403` when the subscription has lapsed\n(string starts with \"subscription_required:\") and on `500` when\nsubscription verification fails (string starts with \"internal_error:\").\n","required":["error"],"properties":{"error":{"type":"string","example":"subscription_required: The SuperX API requires an active subscription","isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"internal_error","message":"Failed to fetch posts"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"internal_error","message":"Failed to fetch posts"}}}},"exampleType":"examples"}},"exampleType":"examples"},"10ce813a-3ad3-41af-9d69-f2ec8b488658":{"description":"A dependent SuperX service returned an unexpected response.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"upstream_error","message":"Failed to fetch scheduled posts. Try again shortly."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"upstream_error","message":"Failed to fetch scheduled posts. Try again shortly."}}}},"exampleType":"examples"}},"exampleType":"examples"},"d2093005-0fdd-45d2-92bb-dc6757b84ab1":{"description":"The scheduling service is temporarily unreachable. Safe to retry; reuse your Idempotency-Key on POST.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"upstream_unavailable","message":"The scheduling service is temporarily unavailable. Retry with the same Idempotency-Key."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"upstream_unavailable","message":"The scheduling service is temporarily unavailable. Retry with the same Idempotency-Key."}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"d3f7d345-7007-489f-b114-dac4df3cb92f":{"apiKey":{"type":"http","scheme":"bearer","description":"A SuperX API key (\"sxk_...\"), created in the SuperX app under Account > API / MCP / CLI. Keys are server-side secrets.","scopes":[],"schemeName":"apiKey"}}},"servers":{"3d538a38-214d-4480-97a3-9a44d5c3102b":{"url":"https://api.superx.so"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"A SuperX API key (\"sxk_...\"), created in the SuperX app under Account > API / MCP / CLI. Keys are server-side secrets.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"A SuperX API key (\"sxk_...\"), created in the SuperX app under Account > API / MCP / CLI. Keys are server-side secrets.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"superx","siteName":"SuperX","title":"Build an audience profile from a website - SuperX","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-07T18:31:25.093Z","originalFileLocation":"api-reference/signals/build-an-audience-profile-from-a-website.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Reads a product or company website and infers who its ideal customers are on X: an audience description, the scoring rubric, and keyword-watch ideas, in one call. A bare domain is accepted. Free: no AI credits. The page read runs on the account\u0026#x27;s allowance of 20 page reads a day, shared with the SuperX app, so an exhausted allowance returns 429 ai_action_limited with scope: \u0026quot;account\u0026quot;. Unlike the two helpers above, this one goes through the SuperX app, so the app\u0026#x27;s short-term limiter binds it too: more than 10 calls in 10 minutes returns 429 rate_limited, which clears in about a minute. Takes up to a minute. Nothing is created, but the call needs a key with the write scope, as every non-GET route on this API does. Pass icp_description to POST /v1/signals/agents as the agent\u0026#x27;s ICP, and the suggestions as its keywords.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SuperX\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/superx/Ohz_C_TMxE84ikvK/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/superx/Ohz_C_TMxE84ikvK/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/superx/Ohz_C_TMxE84ikvK/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/superx/Ohz_C_TMxE84ikvK/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/superx/Ohz_C_TMxE84ikvK/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/superx/Ohz_C_TMxE84ikvK/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/superx/Ohz_C_TMxE84ikvK/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/superx/Ohz_C_TMxE84ikvK/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/superx/Ohz_C_TMxE84ikvK/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Build an audience profile from a website - SuperX\">\u003cmeta data-mint-head property=\"og:description\" content=\"Reads a product or company website and infers who its ideal customers are on X: an audience description, the scoring rubric, and keyword-watch ideas, in one call. A bare domain is accepted. Free: no AI credits. The page read runs on the account\u0026#x27;s allowance of 20 page reads a day, shared with the SuperX app, so an exhausted allowance returns 429 ai_action_limited with scope: \u0026quot;account\u0026quot;. Unlike the two helpers above, this one goes through the SuperX app, so the app\u0026#x27;s short-term limiter binds it too: more than 10 calls in 10 minutes returns 429 rate_limited, which clears in about a minute. Takes up to a minute. Nothing is created, but the call needs a key with the write scope, as every non-GET route on this API does. Pass icp_description to POST /v1/signals/agents as the agent\u0026#x27;s ICP, and the suggestions as its keywords.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SuperX\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.superx.so/api-reference/signals/build-an-audience-profile-from-a-website\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://superx.mintlify.app/_mintlify/api/og/v2?division=Signals\u0026amp;title=Build+an+audience+profile+from+a+website\u0026amp;description=Reads+a+product+or+company+website+and+infers+who+its+ideal+customers%0Aare+on+X%3A+an+audience+description%2C+the+scoring+rubric%2C+and%0Akeyword-watch+ideas%2C+in+one+cal\u0026amp;theme=4e9a0bdaa172d4dfc537fe9f\u0026amp;signature=6f4abc91167a0a130ee24df38c4500ee55731c2673a3bb9e311dddcfd6682519\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Build an audience profile from a website - SuperX\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Reads a product or company website and infers who its ideal customers are on X: an audience description, the scoring rubric, and keyword-watch ideas, in one call. A bare domain is accepted. Free: no AI credits. The page read runs on the account\u0026#x27;s allowance of 20 page reads a day, shared with the SuperX app, so an exhausted allowance returns 429 ai_action_limited with scope: \u0026quot;account\u0026quot;. Unlike the two helpers above, this one goes through the SuperX app, so the app\u0026#x27;s short-term limiter binds it too: more than 10 calls in 10 minutes returns 429 rate_limited, which clears in about a minute. Takes up to a minute. Nothing is created, but the call needs a key with the write scope, as every non-GET route on this API does. Pass icp_description to POST /v1/signals/agents as the agent\u0026#x27;s ICP, and the suggestions as its keywords.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://superx.mintlify.app/_mintlify/api/og/v2?division=Signals\u0026amp;title=Build+an+audience+profile+from+a+website\u0026amp;description=Reads+a+product+or+company+website+and+infers+who+its+ideal+customers%0Aare+on+X%3A+an+audience+description%2C+the+scoring+rubric%2C+and%0Akeyword-watch+ideas%2C+in+one+cal\u0026amp;theme=4e9a0bdaa172d4dfc537fe9f\u0026amp;signature=6f4abc91167a0a130ee24df38c4500ee55731c2673a3bb9e311dddcfd6682519\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/superx/Ohz_C_TMxE84ikvK/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SuperX\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F4503B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.superx.so/api-reference/signals/build-an-audience-profile-from-a-website\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/signals/build-an-audience-profile-from-a-website.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.superx.so/#organization\",\"name\":\"SuperX\",\"url\":\"https://docs.superx.so\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/superx/ZOrKRYsYXbBhitoI/logo/light.svg?fit=max\u0026auto=format\u0026n=ZOrKRYsYXbBhitoI\u0026q=85\u0026s=d465c38938c34f6ab75cfc50d0039be2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.superx.so#website\",\"name\":\"SuperX\",\"url\":\"https://docs.superx.so\",\"publisher\":{\"@id\":\"https://docs.superx.so/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.superx.so/api-reference/signals/build-an-audience-profile-from-a-website#webpage\",\"url\":\"https://docs.superx.so/api-reference/signals/build-an-audience-profile-from-a-website\",\"name\":\"Build an audience profile from a website\",\"description\":\"Reads a product or company website and infers who its ideal customers are on X: an audience description, the scoring rubric, and keyword-watch ideas, in one call. A bare domain is accepted. Free: no AI credits. The page read runs on the account's allowance of 20 page reads a day, shared with the SuperX app, so an exhausted allowance returns 429 ai_action_limited with scope: \\\"account\\\". Unlike the two helpers above, this one goes through the SuperX app, so the app's short-term limiter binds it too: more than 10 calls in 10 minutes returns 429 rate_limited, which clears in about a minute. Takes up to a minute. Nothing is created, but the call needs a key with the write scope, as every non-GET route on this API does. Pass icp_description to POST /v1/signals/agents as the agent's ICP, and the suggestions as its keywords.\",\"dateModified\":\"2026-10-07T18:31:25.093Z\",\"isPartOf\":{\"@id\":\"https://docs.superx.so#website\"},\"breadcrumb\":{\"@id\":\"https://docs.superx.so/api-reference/signals/build-an-audience-profile-from-a-website#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.superx.so/api-reference/signals/build-an-audience-profile-from-a-website#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Signals\",\"item\":\"https://docs.superx.so/api-reference/signals/list-signal-agents\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build an audience profile from a website\",\"item\":\"https://docs.superx.so/api-reference/signals/build-an-audience-profile-from-a-website\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.superx.so/api-reference/signals/build-an-audience-profile-from-a-website#apireference\",\"headline\":\"Build an audience profile from a website\",\"name\":\"Build an audience profile from a website\",\"description\":\"Reads a product or company website and infers who its ideal customers are on X: an audience description, the scoring rubric, and keyword-watch ideas, in one call. A bare domain is accepted. Free: no AI credits. The page read runs on the account's allowance of 20 page reads a day, shared with the SuperX app, so an exhausted allowance returns 429 ai_action_limited with scope: \\\"account\\\". Unlike the two helpers above, this one goes through the SuperX app, so the app's short-term limiter binds it too: more than 10 calls in 10 minutes returns 429 rate_limited, which clears in about a minute. Takes up to a minute. Nothing is created, but the call needs a key with the write scope, as every non-GET route on this API does. Pass icp_description to POST /v1/signals/agents as the agent's ICP, and the suggestions as its keywords.\",\"url\":\"https://docs.superx.so/api-reference/signals/build-an-audience-profile-from-a-website\",\"mainEntityOfPage\":{\"@id\":\"https://docs.superx.so/api-reference/signals/build-an-audience-profile-from-a-website#webpage\"},\"dateModified\":\"2026-10-07T18:31:25.093Z\",\"publisher\":{\"@id\":\"https://docs.superx.so/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.superx.so#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SuperX\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SuperX","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Identity","pages":[{"title":"Get the key owner","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/me","href":"/api-reference/identity/get-the-key-owner"},{"title":"List your accounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/accounts","href":"/api-reference/identity/list-your-accounts"}]},{"group":"Content","pages":[{"title":"List published posts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/posts","href":"/api-reference/content/list-published-posts"},{"title":"List replies you sent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/replies","href":"/api-reference/content/list-replies-you-sent"}]},{"group":"Analytics","pages":[{"title":"Get analytics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/posts/analytics","href":"/api-reference/analytics/get-analytics"}]},{"group":"Scheduling","pages":[{"title":"Write post drafts in your voice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/posts/draft","href":"/api-reference/scheduling/write-post-drafts-in-your-voice"},{"title":"Rewrite a post in your voice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/posts/remix","href":"/api-reference/scheduling/rewrite-a-post-in-your-voice"},{"title":"List drafts and scheduled posts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/scheduled-posts","href":"/api-reference/scheduling/list-drafts-and-scheduled-posts"},{"title":"Create a draft or scheduled post, or publish now","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/scheduled-posts","href":"/api-reference/scheduling/create-a-draft-or-scheduled-post-or-publish-now"},{"title":"Retime queued posts in bulk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/scheduled-posts/bulk/retime","href":"/api-reference/scheduling/retime-queued-posts-in-bulk"},{"title":"Enable auto retweet on queued posts in bulk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/scheduled-posts/bulk/auto-retweet","href":"/api-reference/scheduling/enable-auto-retweet-on-queued-posts-in-bulk"},{"title":"Delete queued posts in bulk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/scheduled-posts/bulk/delete","href":"/api-reference/scheduling/delete-queued-posts-in-bulk"},{"title":"Delete a draft or scheduled post","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/scheduled-posts/{id}","href":"/api-reference/scheduling/delete-a-draft-or-scheduled-post"},{"title":"Edit a draft or scheduled post","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/scheduled-posts/{id}","href":"/api-reference/scheduling/edit-a-draft-or-scheduled-post"},{"title":"List plug templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/plug-templates","href":"/api-reference/scheduling/list-plug-templates"}]},{"group":"Tools","pages":[{"title":"Edit one selected piece of a post","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/tools/inline-edit","href":"/api-reference/tools/edit-one-selected-piece-of-a-post"},{"title":"Rewrite a post one preset way","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/tools/rephrase","href":"/api-reference/tools/rewrite-a-post-one-preset-way"},{"title":"Check a statement against a web search","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/tools/factcheck","href":"/api-reference/tools/check-a-statement-against-a-web-search"},{"title":"Score a draft against this account's own posts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/posts/viral-score","href":"/api-reference/tools/score-a-draft-against-this-accounts-own-posts"},{"title":"Sort recent posts on a topic into Read, Pass or Not sure","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/posts/triage","href":"/api-reference/tools/sort-recent-posts-on-a-topic-into-read-pass-or-not-sure"}]},{"group":"Audience","pages":[{"title":"List replies you received","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/replies/received","href":"/api-reference/audience/list-replies-you-received"},{"title":"Read an audience list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/audience/{kind}","href":"/api-reference/audience/read-an-audience-list"},{"title":"List engaged contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contacts","href":"/api-reference/audience/list-engaged-contacts"},{"title":"Get one contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contacts/{id}","href":"/api-reference/audience/get-one-contact"},{"title":"List one contact's replies to you","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contacts/{id}/replies","href":"/api-reference/audience/list-one-contacts-replies-to-you"},{"title":"List notes on a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contacts/{id}/notes","href":"/api-reference/audience/list-notes-on-a-contact"},{"title":"Add a note to a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contacts/{id}/notes","href":"/api-reference/audience/add-a-note-to-a-contact"},{"title":"Delete a note on a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/contacts/{id}/notes/{noteId}","href":"/api-reference/audience/delete-a-note-on-a-contact"},{"title":"Edit a note on a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/contacts/{id}/notes/{noteId}","href":"/api-reference/audience/edit-a-note-on-a-contact"}]},{"group":"Inspiration","pages":[{"title":"Search the inspiration library","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/inspiration","href":"/api-reference/inspiration/search-the-inspiration-library"},{"title":"Search the inspiration media index","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/inspiration/media","href":"/api-reference/inspiration/search-the-inspiration-media-index"}]},{"group":"Contact Lists","pages":[{"title":"List contact lists","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contact-lists","href":"/api-reference/contact-lists/list-contact-lists"},{"title":"Create a contact list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contact-lists","href":"/api-reference/contact-lists/create-a-contact-list"},{"title":"Delete a contact list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/contact-lists/{id}","href":"/api-reference/contact-lists/delete-a-contact-list"},{"title":"Rename a contact list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/contact-lists/{id}","href":"/api-reference/contact-lists/rename-a-contact-list"},{"title":"List contact list members","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contact-lists/{id}/members","href":"/api-reference/contact-lists/list-contact-list-members"},{"title":"Add a contact list member","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contact-lists/{id}/members","href":"/api-reference/contact-lists/add-a-contact-list-member"},{"title":"Remove a contact list member","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/contact-lists/{id}/members/{memberId}","href":"/api-reference/contact-lists/remove-a-contact-list-member"},{"title":"Add contact list members in bulk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contact-lists/{id}/members/bulk","href":"/api-reference/contact-lists/add-contact-list-members-in-bulk"},{"title":"Remove contact list members in bulk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contact-lists/{id}/members/bulk-delete","href":"/api-reference/contact-lists/remove-contact-list-members-in-bulk"}]},{"group":"Signals","pages":[{"title":"List signal agents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/signals/agents","href":"/api-reference/signals/list-signal-agents"},{"title":"Create a signal agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/agents","href":"/api-reference/signals/create-a-signal-agent"},{"title":"Delete a signal agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/signals/agents/{id}","href":"/api-reference/signals/delete-a-signal-agent"},{"title":"Update a signal agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/signals/agents/{id}","href":"/api-reference/signals/update-a-signal-agent"},{"title":"Add a signal to an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/agents/{id}/signals","href":"/api-reference/signals/add-a-signal-to-an-agent"},{"title":"Remove a signal from an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/signals/agents/{id}/signals/{signalId}","href":"/api-reference/signals/remove-a-signal-from-an-agent"},{"title":"Set feedback on a lead","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/leads/{id}/feedback","href":"/api-reference/signals/set-feedback-on-a-lead"},{"title":"Search for leads on X now","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/leads/search","href":"/api-reference/signals/search-for-leads-on-x-now"},{"title":"List signal leads","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/signals/leads","href":"/api-reference/signals/list-signal-leads"},{"title":"Suggest keyword watches","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/keywords/suggest","href":"/api-reference/signals/suggest-keyword-watches"},{"title":"Expand an audience description into a rubric","description":"Turns a plain description of an audience into the structured rubric\nsignal agents score people against: who the ideal customer is, the\nneeds that make someone a fit, the disqualifiers, and one example of\na match and a non-match.\n\nFree. Nothing is created and no AI credits are charged. The rubric is\na reading of the description rather than a field you can store:\nagents are created with `icp_description`, so use this to sharpen\nthat text before calling `POST /v1/signals/agents`, or to score\npeople yourself.\n\nThis helper runs in SuperX's own process rather than through the\napp, so the app's short-term limiter does not apply and your plan's\nrequest rate limit is the only bound. It is still a model call each\ntime, so keep it occasional.\n\nNeeds a key with the `write` scope. Every non-GET route on this API\ndoes, and this one is a POST because the description goes in the\nbody; it still creates nothing.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/icp/expand","href":"/api-reference/signals/expand-an-audience-description-into-a-rubric"},{"title":"Build an audience profile from a website","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/icp/expand-from-url","href":"/api-reference/signals/build-an-audience-profile-from-a-website"}]},{"group":"Engage","pages":[{"title":"List Engage feeds","description":"The account's saved Engage feeds: the keyword and list feeds it\nbrowses in the SuperX app's Engage tab. Feeds are created and edited\nin the app; this endpoint only reads them. `fetch_units` is what one\nfetch of that feed costs against the feed bucket (list feeds count as\nup to 3, resolved exactly at fetch time). This endpoint never touches\nthe feed bucket itself.\n\nRead-only by design. These endpoints return feed candidates for a\nperson to review; replies are written and sent by a person in the\nSuperX app, which is why there is no reply endpoint here. Sending\nspammy, automated, or AI-generated replies that read as inauthentic\nmay get your X account suspended under X's inauthentic-behavior\nrules and your SuperX account terminated. AI suggestions must be\nreviewed and meaningfully edited before they are sent, and you are\nsolely responsible for what you post. Reply activity is logged and\nmay be audited.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/engage/feeds","href":"/api-reference/engage/list-engage-feeds"},{"title":"Create an Engage feed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/engage/feeds","href":"/api-reference/engage/create-an-engage-feed"},{"title":"Delete an Engage feed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/engage/feeds/{id}","href":"/api-reference/engage/delete-an-engage-feed"},{"title":"Update an Engage feed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/engage/feeds/{id}","href":"/api-reference/engage/update-an-engage-feed"},{"title":"Get posts from an Engage feed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/engage/feeds/{id}/posts","href":"/api-reference/engage/get-posts-from-an-engage-feed"},{"title":"Get mentions of the account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/engage/mentions","href":"/api-reference/engage/get-mentions-of-the-account"},{"title":"Draft one reply to a post","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/engage/reply-draft","href":"/api-reference/engage/draft-one-reply-to-a-post"}]},{"group":"Media","pages":[{"title":"Presign an image upload","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/media","href":"/api-reference/media/presign-an-image-upload"}]},{"group":"Workers","pages":[{"title":"List Workers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workers","href":"/api-reference/workers/list-workers"},{"title":"List Worker suggestions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workers/suggestions","href":"/api-reference/workers/list-worker-suggestions"},{"title":"Save a suggestion as a draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workers/suggestions/{id}/draft","href":"/api-reference/workers/save-a-suggestion-as-a-draft"},{"title":"Schedule a suggestion","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workers/suggestions/{id}/schedule","href":"/api-reference/workers/schedule-a-suggestion"},{"title":"Dismiss a suggestion","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workers/suggestions/{id}/dismiss","href":"/api-reference/workers/dismiss-a-suggestion"}]},{"group":"Context","pages":[{"title":"Get context settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/context","href":"/api-reference/context/get-context-settings"},{"title":"Update context settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/context","href":"/api-reference/context/update-context-settings"},{"title":"Replace the product list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /v1/context/products","href":"/api-reference/context/replace-the-product-list"},{"title":"Remove one product","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/context/products/{id}","href":"/api-reference/context/remove-one-product"},{"title":"Add or edit one product","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/context/products/{id}","href":"/api-reference/context/add-or-edit-one-product"},{"title":"Rebuild the generated style guide","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/context/style-guide/regenerate","href":"/api-reference/context/rebuild-the-generated-style-guide"},{"title":"Refresh a product from its page","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/context/products/{id}/scrape","href":"/api-reference/context/refresh-a-product-from-its-page"}]},{"group":"DMs","pages":[{"title":"Queue a DM campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/dm/campaigns","href":"/api-reference/dms/queue-a-dm-campaign"},{"title":"Read one DM campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/dm/campaigns/{id}","href":"/api-reference/dms/read-one-dm-campaign"},{"title":"Cancel a campaign's unsent messages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/dm/campaigns/{id}","href":"/api-reference/dms/cancel-a-campaigns-unsent-messages"},{"title":"List the DM queue","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/dm/queue","href":"/api-reference/dms/list-the-dm-queue"},{"title":"DM allowances and usage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/dm/limits","href":"/api-reference/dms/dm-allowances-and-usage"}]},{"group":"Queue","pages":[{"title":"Get queue settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/queue-settings","href":"/api-reference/queue/get-queue-settings"},{"title":"Update queue settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/queue-settings","href":"/api-reference/queue/update-queue-settings"}]},{"group":"Tags","pages":[{"title":"List tags","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/tags","href":"/api-reference/tags/list-tags"},{"title":"Create a tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/tags","href":"/api-reference/tags/create-a-tag"},{"title":"Delete a tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/tags/{id}","href":"/api-reference/tags/delete-a-tag"},{"title":"Rename or recolor a tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/tags/{id}","href":"/api-reference/tags/rename-or-recolor-a-tag"}]},{"group":"Articles","pages":[{"title":"List articles","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/articles","href":"/api-reference/articles/list-articles"},{"title":"Create an article draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/articles","href":"/api-reference/articles/create-an-article-draft"},{"title":"Get an article","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/articles/{id}","href":"/api-reference/articles/get-an-article"},{"title":"Delete an article","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/articles/{id}","href":"/api-reference/articles/delete-an-article"},{"title":"Edit an article","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/articles/{id}","href":"/api-reference/articles/edit-an-article"},{"title":"Publish an article to X now","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/articles/{id}/publish","href":"/api-reference/articles/publish-an-article-to-x-now"},{"title":"Schedule or reschedule an article","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/articles/{id}/schedule","href":"/api-reference/articles/schedule-or-reschedule-an-article"},{"title":"Unschedule an article","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/articles/{id}/unschedule","href":"/api-reference/articles/unschedule-an-article"},{"title":"Generate an AI cover image","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/articles/{id}/cover","href":"/api-reference/articles/generate-an-ai-cover-image"},{"title":"List saved cover styles","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/cover-styles","href":"/api-reference/articles/list-saved-cover-styles"}]},{"group":"Datasets","pages":[{"title":"List datasets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/datasets","href":"/api-reference/datasets/list-datasets"},{"title":"Collect an audience into a dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/datasets","href":"/api-reference/datasets/collect-an-audience-into-a-dataset"},{"title":"Get a dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/datasets/{id}","href":"/api-reference/datasets/get-a-dataset"},{"title":"Get dataset rows","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/datasets/{id}/rows","href":"/api-reference/datasets/get-dataset-rows"},{"title":"Export a dataset as CSV","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/datasets/{id}/export","href":"/api-reference/datasets/export-a-dataset-as-csv"},{"title":"Add a dataset's people to a contact list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/datasets/{id}/contacts","href":"/api-reference/datasets/add-a-datasets-people-to-a-contact-list"},{"title":"Draft outreach messages onto a research dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/datasets/{id}/outreach-drafts","href":"/api-reference/datasets/draft-outreach-messages-onto-a-research-dataset"},{"title":"Refine a dataset by what each person wrote","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/datasets/{id}/refine","href":"/api-reference/datasets/refine-a-dataset-by-what-each-person-wrote"}]},{"group":"X Lookups","pages":[{"title":"Look up one public post live","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/x/posts/{id}","href":"/api-reference/x-lookups/look-up-one-public-post-live"},{"title":"Top replies to a public post","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/x/posts/{id}/replies","href":"/api-reference/x-lookups/top-replies-to-a-public-post"},{"title":"Look up one public profile live","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/x/users/{handle}","href":"/api-reference/x-lookups/look-up-one-public-profile-live"},{"title":"Latest posts of a public account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/x/users/{handle}/posts","href":"/api-reference/x-lookups/latest-posts-of-a-public-account"}]},{"group":"Meta","pages":[{"title":"Machine-readable quickstart","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/docs","href":"/api-reference/meta/machine-readable-quickstart"}]}]}]},"basePath":"","title":"Build an audience profile from a website - SuperX","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}