## **Authentication**

All requests must include an API key in the header:

```
x-api-key: YOUR_API_KEY
```

---

## **1. Create Site Audit**

## **Endpoint:**

```
POST https://sa.searchatlas.com/api/v2/site-audit/
```

## **Payload:**

```
{  
 "siteproperty": "https://example.com/",  
 "selected_user_agent": "googlebot_desktop",  
 "crawl_budget": 100,  
 "crawl_concurrency": 10  
}
```

## **Parameters:**

- **siteproperty** (string) – Website URL
- **selected\_user\_agent** (string) – User agent for crawling (e.g., `googlebot_desktop`, `bingbot_mobile`)
- **crawl\_budget** (integer) – Number of pages to crawl (min: 1, max: 10,000, default: 100)
- **crawl\_concurrency** (integer) – Crawl speed (min: 1, max: 50, default: 10)

## **Response Example:**

```
{  
 "id": "123456"  
}
```

**Note:** Use the returned `id` to create an Otto Project.

---

## **2. Create Otto Project**

## **Endpoint:**

```
POST https://sa.searchatlas.com/api/v2/otto-projects/
```

## **Payload:**

```
{  
 "siteaudit": "123456"  
}
```

## **Parameters:**

- **siteaudit** (string) – ID from the **Create Site Audit** response

## **Response Example:**

```
{  
 "otto_uuid": "abcdef-12345"  
}
```

---

## **3. Get Otto Project List**

## **Endpoint:**

```
GET https://sa.searchatlas.com/api/v2/otto-projects/
```

## **Query Parameters:**

- **page** (integer) – Page number for pagination
- **page\_size** (integer) – Number of results per page (max: 100)
- **search** (string) – Search by Otto Project URL

## **Response Example:**

```
{  
 "results": [  
 {  
 "otto_uuid": "abcdef-12345",  
 "site_url": "https://example.com/"  
 }  
 ]  
}
```

---

## **4. Get Otto Project Details**

## **Endpoint:**

```
GET https://sa.searchatlas.com/api/v2/otto-projects/#{{otto_uuid}}/
```

## **Path Parameter:**

- **otto\_uuid** (string) – Unique identifier for the Otto Project

## **Response Example:**

```
{  
 "otto_uuid": "abcdef-12345",  
 "site_url": "https://example.com/",  
 "status": "completed"  
}
```

---

## **Usage Flow**

1. **Create a Site Audit** – Get the `id` from the response.
2. **Create an Otto Project** – Use the `id` from Step 1.
3. **Retrieve Project List or Details** – Use `otto_uuid` to get details.

# **Postman Collection**

```
{ "info": { "_postman_id": "5255f9d4-d180-472a-94a9-7203592ff142", "name": "Otto Project Collection", "description": "**For creating the Otto Project: \n1\\. First use POST Create Site Audit; \n2\\. From the returned response, extract** **`id`****; \n**3\\. Use that **`id`** **in the POST Create Otto Project;**", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "14722608" }, "item": [ { "name": "Create Site Audit", "request": { "auth": { "type": "noauth" }, "method": "POST", "header": [ { "key": "x-api-key", "value": "", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"siteproperty\":,\n \"selected_user_agent\":,\n \"crawl_budget\":,\n \"crawl_concurrency\":,\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "https://sa.searchatlas.com/api/v2/site-audit/", "protocol": "https", "host": [ "sa", "searchatlas", "com" ], "path": [ "api", "v2", "site-audit", "" ] }, "description": "Creating a Site Audit, params:\n\n- siteproperty - string of the website, e.g.: \"[https://searchatlas.com/\"](https://searchatlas.com/)\n- selected_user_agent - string of the UserAgent for the crawling, can be one of:\n \n\n```\n 'google_chrome_desktop',\n 'google_chrome_mobile',\n 'googlebot_desktop',\n 'googlebot_mobile',\n 'bingbot_desktop',\n 'bingbot_mobile',\n 'slurp',\n 'yandexbot',\n 'baiduspider',\n 'screaming_frog',\n 'duckduckgo',\n 'searchatlas',\n\n ```\n\n- crawl_budget - integer, how many pages to crawl, min 1, max 10000, default is 100, **consumes quota**\n \n- crawl_concurrency - integer, how fast to crawl, min 1, max 50, default is 10" }, "response": [] }, { "name": "Create Otto Project from Site Audit", "request": { "auth": { "type": "noauth" }, "method": "POST", "header": [ { "key": "x-api-key", "value": "", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"siteaudit\":,\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "https://sa.searchatlas.com/api/v2/otto-projects/", "protocol": "https", "host": [ "sa", "searchatlas", "com" ], "path": [ "api", "v2", "otto-projects", "" ] }, "description": "Creating Otto Project from a Site Audit, params:\n\n- siteaudit - ID of the site audit, comes from the previous `Create Site Audit` request" }, "response": [] }, { "name": "Otto Project Detail", "request": { "auth": { "type": "noauth" }, "method": "GET", "header": [ { "key": "x-api-key", "value": "", "type": "text" } ], "url": { "raw": "https://sa.searchatlas.com/api/v2/otto-projects/#{{otto_uuid}}/", "protocol": "https", "host": [ "sa", "searchatlas", "com" ], "path": [ "api", "v2", "otto-projects", "#{{otto_uuid}}", "" ] }, "description": "Get the Otto Project detail" }, "response": [] }, { "name": "Otto Project List", "request": { "auth": { "type": "noauth" }, "method": "GET", "header": [ { "key": "x-api-key", "value": "", "type": "text" } ], "url": { "raw": "https://sa.searchatlas.com/api/v2/otto-projects/", "protocol": "https", "host": [ "sa", "searchatlas", "com" ], "path": [ "api", "v2", "otto-projects", "" ] }, "description": "Get the Otto Project List, query params:\n\n- page - integer of the page number in pagination;\n- page_size - integer of the page size in pagination, max 100;\n- search - string for lookup based on the Otto Project url;" }, "response": [] } ], "variable": [ { "key": "otto_uuid", "value": "x" } ] }
```