Skip to main content
Register a website as a web source and start a crawl that adds its pages to an index. An index can hold up to 20 web sources, each crawled and refreshed on its own, next to documents you add directly. The crawler stays on the site, uses its sitemap in addition to following links, respects robots.txt by default, and keeps only the main content of each page (navigation, footers, cookie banners, and skip links are dropped). Linked PDF and DOCX files found during the crawl are parsed into the same index. The first source on an index name creates the index; later sources add to it. Every crawl replaces only its own source’s pages: other sources’ pages and directly added documents stay, and pages whose content did not change since the last crawl are not re-embedded. Returns 202 Accepted with a jobId; poll getJobStatus until the job completes. If another crawl or build is already running on the index, the job waits its turn and reports queued until it starts. Set refreshCadence to re-crawl on a schedule, or omit it and trigger re-crawls manually with resyncWebSource (both require a paid plan; see the field notes below). Required fields: rootUrl, indexName Example request
To add a second site to the same index, call createWebSource again with the same indexName and a different rootUrl. There is no need to wait for the first crawl to finish; the second crawl queues behind it. Responses
Linked documents When parseDocuments is true, PDF and DOCX links discovered during the crawl are parsed into the index. Limits: 50 MB per file and at most 20 linked documents per crawl run. Oversized, unreachable, or unsupported files (e.g. .doc, .xlsx, .pptx) are skipped and the crawl still completes. On plans without overage billing, documents are also skipped once your monthly parsed document page allowance is used up (PDF pages are counted before parsing). Skipped documents are logged, not returned. Errors
  • 400 when rootUrl or indexName is missing, a limit is out of range, rootUrl is not a public website address, modelId is not supported for website crawling, or the index already has 20 web sources.
  • 403 PLAN_FEATURE_NOT_INCLUDED when refreshCadence is set and your plan does not include scheduled refresh, or MODEL_NOT_ALLOWED when the model is not enabled for your organization.
  • 409 WEB_SOURCE_EXISTS when the same root URL is already registered on this index.
  • 429 USAGE_LIMIT_EXCEEDED when your organization is running or has queued its maximum number of concurrent crawl and parse jobs, has used its monthly crawled URL allowance on a plan without overage billing, has reached its plan’s index limit, or has exhausted its monthly credit. On Hobbyist and Startup, exceeding the allowance does not block the crawl; the extra pages are billed at the rate on the pricing page. Enterprise allowances and overage handling follow your contract. Developer plans stop at the allowance unless pay-as-you-go is on with a payment method; otherwise upgrade to Hobbyist.
  • 503 when website crawling or the plan check is temporarily unavailable.