Skip to main content

OTTO SEO Project Creation

This API allows users to create and manage OTTO SEO Projects using Search Atlas.

Updated over 3 months ago

Authentication

All requests must include an API key in the header:

httpCopyEditx-api-key: YOUR_API_KEY

1. Create Site Audit

Endpoint:

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

Payload:

jsonCopyEdit{ "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:

jsonCopyEdit{ "id": "123456" }

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


2. Create Otto Project

Endpoint:

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

Payload:

jsonCopyEdit{ "siteaudit": "123456" }

Parameters:

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

Response Example:

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

3. Get Otto Project List

Endpoint:

httpCopyEditGET 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:

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

4. Get Otto Project Details

Endpoint:

httpCopyEditGET https://sa.searchatlas.com/api/v2/otto-projects/{{otto_uuid}}/

Path Parameter:

  • otto_uuid (string) – Unique identifier for the Otto Project

Response Example:

jsonCopyEdit{ "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" } ] }
Did this answer your question?