{
"project_id": "3..",
"chatbot_id": "DKDvwn...",
"vector_provider": 0,
"start_urls": [
{
"url": "https://example.com/docs"
}
],
"max_crawl_pages": 50,
"max_crawl_depth": 3,
"include_urls": [
"https://example.com/docs/*"
],
"exclude_urls": [
"https://example.com/blog/*",
"https://example.com/login",
"https://example.com/pricing"
],
"use_sitemap": "1",
"is_main_website": true,
"crawl_mode": 2
}| Field | Type | Required | Description |
|---|---|---|---|
project_id | string | No | Project ID associated with the chatbot. |
chatbot_id | string | No | Unique chatbot identifier that should be linked with the crawled website content. |
vector_provider | integer | No | Vector provider used to process and index the crawled website content. |
start_urls | array | Yes | List of starting URLs from where the website crawl should begin. |
start_urls[].url | string | Yes | Website URL to crawl. |
max_crawl_pages | integer | No | Maximum number of pages the crawler should crawl. |
max_crawl_depth | integer | No | Maximum depth the crawler should follow from the starting URL. |
include_urls | array of strings | No | URL patterns or specific URLs that should be included during crawling. |
exclude_urls | array of strings | No | URL patterns or specific URLs that should be excluded during crawling. |
use_sitemap | string | No | Indicates whether the crawler should use the website sitemap when available. Example: 1. |
is_main_website | boolean | No | Indicates whether this website should be marked as the main website source for the chatbot. |
crawl_mode | integer | No | Crawl mode that controls how the website should be crawled. |
{
"run_id": "crawl_run_12345",
"status": "crawling",
"started_at": "2026-02-20 14:45:00"
}| Field | Type | Description |
|---|---|---|
run_id | string | Unique identifier of the website crawl run. |
status | string | Current status of the crawl run. Example values include running, completed, or failed. |
started_at | string | Date and time when the crawl process started. |
{
"message": "Bad Request",
"error": {
"code": "BAD_REQUEST",
"detail": "Invalid request body or missing required fields."
}
}{
"message": "Unauthorized",
"error": {
"code": "UNAUTHORIZED",
"detail": "Authentication token is missing or invalid."
}
}{
"message": "Forbidden",
"error": {
"code": "FORBIDDEN",
"detail": "You do not have permission to update this chatbot."
}
}{
"message": "Not Found",
"error": {
"code": "CHATBOT_NOT_FOUND",
"detail": "Chatbot not found."
}
}{
"message": "Internal Server Error",
"error": {
"code": "INTERNAL_SERVER_ERROR",
"detail": "Something went wrong. Please try again later."
}
}max_crawl_pages and max_crawl_depth to control how much website content is crawled.include_urls to limit crawling to specific website sections, such as documentation or help center pages.exclude_urls to prevent unnecessary pages from being crawled, such as login pages, checkout pages, pricing pages, or blog sections.use_sitemap when you want the crawler to discover pages from the website sitemap.run_id to check the crawl progress.curl --location 'https://agents.robofy.ai/v1/ai-agent/crawl_website' \
--header 'Content-Type: application/json' \
--data '{
"project_id": "3..",
"chatbot_id": "DKDvwn...",
"vector_provider": 0,
"start_urls": [
{
"url": "https://example.com/docs"
}
],
"max_crawl_pages": 50,
"max_crawl_depth": 3,
"include_urls": [
"https://example.com/docs/*"
],
"exclude_urls": [
"https://example.com/blog/*",
"https://example.com/login",
"https://example.com/pricing"
],
"use_sitemap": "1",
"is_main_website": true,
"crawl_mode": 2
}'{
"run_id": "string",
"status": "string",
"started_at": "string"
}