Skip to content

Indexing error codes

After AI Search accepts an upload, sync, or crawl request, it processes your content in the background so it can be searched. When processing fails, AI Search records one of the error codes on this page. Some errors affect a single item; others pause the whole instance.

Because this processing happens after the request succeeds, the errors are not returned in the original API response. To find them, check item logs, item details, or instance stats. Errors returned immediately when a request fails are documented separately in API error codes.

How errors are returned

Indexing errors are asynchronous: an upload, sync, or crawl request can succeed, then the content can fail later while AI Search processes it. They fall into two categories:

  • Item-level errors affect a single item. The item moves to status: "error" while the rest of the instance keeps indexing.
  • Instance-level errors affect the whole instance. AI Search pauses indexing because the problem, such as a source, token, model, or limit issue, blocks every item.

To retry a single failed item, check item logs, fix any clear source or configuration issue, then sync the item again. For website and R2 data sources, you can also run a source sync job.

If the instance is paused, resolve the underlying cause, then resume the instance.

If a transient error persists after retrying, contact Cloudflare support with the item ID, instance ID, error code, and request timestamp.

Item-level errors

These errors affect a single item. The item moves to status: "error" while the rest of the instance keeps indexing. Fix the item or retry it.

File and content

These errors appear when AI Search cannot read, convert, chunk, or embed a source file. For supported formats and file size limits, refer to Data source. For chunking and model limits, refer to Chunking and Supported models.

ErrorDetailsRecommended action
unknown_errorAn unexpected processing error occurred.Check item logs for the failed step, then sync the item again. If the error persists, contact support.
over_sizeThe file exceeds the maximum allowed size.Reduce the file size, split the file, or exclude it. Review file limits.
unsupported_typeThe file type is not supported.Convert the file to a supported file type, then upload or sync it again.
file_not_foundThe file was not found in the source.Restore the source file, then sync the item or run a source sync job. If the file was intentionally deleted, run a source sync so AI Search can update the index.
invalid_urlThe file URL is invalid.Fix the URL in the website data source or sitemap, then run a source sync job.
file_is_corruptThe file is corrupt.Replace the file with an uncorrupted copy, then upload or sync it again.
file_is_password_lockedThe file is encrypted or requires a password before AI Search can read its contents.Remove the password, upload an unlocked copy, then sync the item again.
invalid_pdfAI Search could not parse the file as a valid PDF.Upload a PDF that opens correctly, or convert the content to another supported file type.
unable_to_convert_to_markdownAI Search could not convert the file to text.Use a supported file type or replace scanned content with extractable text.
markdown_too_largeAI Search converted the file, but the generated Markdown exceeded AI Search processing limits.If the source file is within AI Search file limits, contact support. As a workaround, split the source into smaller files if practical.
markdown_conversion_emptyAI Search converted the file, but the conversion returned no usable text.Ensure the file contains extractable text. Scanned or image-only files produce no text, so add a text layer or upload a text-based version.
file_content_emptyThe file is empty or contains only headings.Add searchable body content, then upload or sync the file again.
chunk_too_large_for_storageAI Search generated a chunk that exceeded internal storage limits.Lower chunk size if you configured a high value. If the item still fails, contact support.
timeout_errorItem processing timed out.Sync the item again. Check Cloudflare Status and contact support if the error persists.
file_length_exceed_embedding_modelThe file is too long for the embedding model.Use a smaller source file, or contact support if the file is within documented limits.
file_too_large_for_embedderThe file exceeds the maximum byte size accepted by the embedding model.Use a smaller source file, or contact support if the file is within documented limits.

Website crawl

These errors appear when AI Search cannot fetch, render, or include a page from a website data source. AI Search uses Browser Run in the background to crawl and render pages and manages it for you.

ErrorDetailsRecommended action
too_many_redirectsThe crawler followed too many redirects or found a redirect loop.Fix the redirect chain for the website data source, then run a source sync job.
invalid_host_after_redirectThe page redirected to a hostname outside the current crawl scope.Check item logs for the redirect target. If that target should be indexed, contact support. Otherwise, exclude the original URL with path filtering.
subdomains_not_allowedThe URL is outside the hostnames AI Search can crawl for this website data source.If this URL should be indexed by the instance, contact support. Otherwise, exclude it with path filtering.
blocked_by_robots_txtrobots.txt disallowed the crawl.Update robots.txt so the AI Search crawler can access the site.
blocked_by_robots_txt_pathrobots.txt disallowed the path.Allow the path in robots.txt, or exclude it with path filtering if you do not want it indexed.
blocked_by_content_signalThe site blocked the crawl with Content Signals.Review Content Signals directives in robots.txt. If the content should not be indexed, exclude it with path filtering.
excluded_by_path_filterYour path filter excluded the item.Review include and exclude rules if the item should be indexed.
network_connection_lostThe network connection was interrupted.Sync the item again. If the error persists, check that the source is reachable.
crawl_got_http_errorThe crawler received an HTTP error.Check item logs for the HTTP status. Fix the origin response or access controls, then run a source sync job.
crawl_got_http_401The crawler received 401 Unauthorized.Make the page accessible to the crawler. For protected pages, configure extra headers or Cloudflare Access service credentials.
crawl_got_http_403The crawler received 403 Forbidden.Allow the AI Search crawler through your access controls and origin firewall.
crawl_got_http_429The origin rate limited the crawler.Allow the AI Search crawler, raise the origin limit, or narrow crawl scope with path filtering.
blocked_by_paymentThe site returned 402 Payment Required.Exclude the page with path filtering. AI Search does not support paid crawls.
blocked_by_wafA web application firewall (WAF) blocked the crawler.Allow the AI Search crawler in your WAF.
blocked_by_bot_managementBot controls blocked the crawler.Allow the AI Search crawler in your bot protection settings.
blocked_by_turnstileTurnstile blocked the crawler.Allow the AI Search crawler, or exclude the page with path filtering.
http_4xxThe site returned an HTTP 4xx error.Check item logs for the exact status. Fix the URL or access controls, or exclude the page with path filtering.
http_5xxThe site returned an HTTP 5xx error.Fix origin health, then sync the item or run a source sync job.
unreachable_timeoutThe crawler could not reach the page before timeout.Check origin latency, firewall rules, and page availability, then run a source sync job.
unreachable_dnsThe source domain did not resolve.Check DNS records for the source domain.
page_limit_reachedThe managed crawler reached your plan's daily page limit, so some pages were not crawled in this run.Upgrade to Workers Paid for unlimited daily crawling, or reduce the pages in scope with path filtering. Free plans crawl up to 500 pages per day. See limits.
browser_rendering_unknown_errorBrowser Run returned an unknown error.Run a source sync job again. Check Cloudflare Status and contact support if the same page keeps failing.
browser_rendering_authentication_errorBrowser Run required authentication.Configure extra headers for protected pages, or exclude the page.
browser_rendering_no_body_status_errorBrowser Run returned no page content for AI Search to index.If the page should be indexed, contact support. Otherwise, exclude the page with path filtering.
browser_rendering_timeout_errorBrowser Run timed out.Run a source sync job again. Check Cloudflare Status and contact support if the error persists.
browser_rendering_network_connection_closed_errorThe browser connection closed during rendering.Run a source sync job again. Check Cloudflare Status and contact support if the error persists.
browser_rendering_server_refused_connection_errorThe origin refused the browser connection.Allow the AI Search crawler through your origin network controls, then run a source sync job.
browser_rendering_rate_limit_errorBrowser Run was rate limited.Run a source sync job later. If the error persists, contact support.

Models and AI Gateway

These errors appear when embedding models, Workers AI, external providers, or AI Gateway cannot process item content.

ErrorDetailsRecommended action
error_embedding_data_with_workers_aiWorkers AI could not generate embeddings.Sync the item again. Check Cloudflare Status and contact support if the error persists.
workers_ai_invalid_inputWorkers AI rejected the input.Check file content, file type, and embedding model support.
workers_ai_free_allocation_exceededWorkers AI free tier allocation was exceeded.Review Workers AI pricing and wait for allocation reset, or upgrade your Workers plan.
workers_ai_internal_errorWorkers AI returned an internal error.Sync the item again. Check Cloudflare Status and contact support if the error persists.
workers_ai_out_of_capacity_errorWorkers AI capacity was unavailable.Retry later and review Workers AI limits.
workers_ai_timeout_errorWorkers AI timed out.Sync the item again. Check Cloudflare Status and contact support if the error persists.
error_external_model_unknown_errorAn external embedding model returned an unknown error.Check provider status and AI Gateway logs, then sync the item again.
error_external_model_rate_limitedAn external embedding model rate limited the request.Run a source sync job later, or raise the rate limit with your model provider. Check AI Gateway logs for the provider response.
error_external_model_unauthorizedAn external embedding model rejected authentication.Check provider credentials in AI Gateway, then sync the item again.
ai_gateway_request_blocked_firewallAI Gateway Guardrails blocked the request.Review AI Gateway Guardrails prompt settings for the configured gateway, then run a source sync job again.
ai_gateway_dlp_blockedAI Gateway Data Loss Prevention (DLP) blocked content.Review AI Gateway DLP settings and the item content.
ai_gateway_response_blocked_firewallAI Gateway Guardrails blocked the response.Review AI Gateway Guardrails response settings for the configured gateway, then run a source sync job again.
ai_gateway_rate_limitedAI Gateway rate limited the request.Run a source sync job later. If the error persists, contact support.

Storage and Vectorize

These errors appear when storing or indexing an item fails, or when the instance reaches a capacity limit. AI Search uses Vectorize in the background to store vectors and manages it for you.

ErrorDetailsRecommended action
r2_unknown_errorR2 returned an unknown error.Run a source sync job again. Check Cloudflare Status and contact support if the error persists.
r2_internal_errorR2 returned an internal error.Run a source sync job again. Check Cloudflare Status and contact support if the error persists.
vectorize_rate_limitedVectorize rate limited the operation.Run a source sync job later. If the error persists, contact support.
vectorize_ingestion_timeoutVectorize did not process the mutation in time.Sync the item again. Check Cloudflare Status and contact support if the error persists.
vectorize_upstream_errorVectorize returned a transient upstream error.Sync the item again. Check Cloudflare Status and contact support if the error persists.
hybrid_search_indexing_failedHybrid search indexing failed.Sync the item again. Check Cloudflare Status and contact support if the error persists.
ai_search_is_fullThe AI Search instance is full. Unlike a full hybrid search index, this does not pause the instance.Request a higher limit for the instance, or create another instance to index additional content. See limits.

Instance-level errors

These errors pause the whole instance and stop all indexing until the underlying cause is resolved and the instance is resumed. They are distinct from a manual pause or the automatic pause after a period of inactivity.

ErrorDetailsRecommended action
r2_not_enabledPauses the instance. R2 is not enabled for the account.Enable R2 for the account, then resume the instance.
bucket_not_foundPauses the instance. The source R2 bucket was not found.Check the R2 data source bucket name and account, then resume the instance.
bucket_unauthorizedPauses the instance. AI Search cannot access the R2 bucket.Check the service API token and R2 bucket permissions, then resume the instance.
external_source_missing_api_tokenPauses the instance. The external source is missing API credentials.Add or update the service API token, then resume the instance.
bucket_name_invalidPauses the instance. The R2 bucket name is invalid.Use a valid bucket name without uppercase letters or underscores, update the R2 data source, then resume the instance.
invalid_custom_headerPauses the instance. A custom crawl header is invalid.Remove or update the extra header, then resume the instance.
ai_gateway_not_configuredPauses the instance. The AI Gateway set on the instance was not found.Update the instance's ai_gateway_id to an existing gateway in AI Gateway, then resume the instance.
hybrid_search_is_fullPauses the instance. The hybrid search index is full. Its file limit is lower than the standard instance limit, so it can be reached earlier.Request a higher limit to resume the instance, or create another instance to index additional content. See limits.