Octivas Docs

Map

Discover all URLs on a website without scraping their content.

The Map API discovers URLs on a website without extracting page content. It returns a list of links found via sitemaps, link following, and optional relevance ranking — useful for site audits, building crawl plans, or understanding site structure.

Endpoint

POST https://api.octivas.com/api/v1/map

Request Parameters

Core Parameters

ParameterTypeRequiredDefaultDescription
urlstring (URL)YesThe website URL to map
limitintegerNo5000Maximum number of links to return (1–100,000)

Discovery Options

ParameterTypeRequiredDefaultDescription
searchstringNoSearch query to rank returned URLs by relevance
include_subdomainsbooleanNoInclude URLs from subdomains of the website
ignore_query_parametersbooleanNoDo not return URLs with query parameters
sitemapstringNoSitemap usage mode: "only" (sitemap URLs only), "include" (sitemap + discovery), "skip" (no sitemap)

Request Options

ParameterTypeRequiredDefaultDescription
timeoutintegerNoRequest timeout in milliseconds (1,000–120,000)
locationobjectNoGeographic settings (see Location Object)

Location Object

FieldTypeRequiredDescription
countrystringYesISO 3166-1 alpha-2 country code (e.g. "US", "DE")
languagesstring[]NoPreferred languages (defaults to ["en"])

Example Request

curl -X POST https://api.octivas.com/api/v1/map \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "limit": 100
  }'
const response = await fetch("https://api.octivas.com/api/v1/map", {
  method: "POST",
  headers: {
    "Authorization": "Bearer your_api_key",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    url: "https://example.com",
    limit: 100,
  }),
});

const result = await response.json();
console.log(`Found ${result.links_count} URLs`);
result.links.forEach(link => console.log(link.url));
import requests

response = requests.post(
    "https://api.octivas.com/api/v1/map",
    headers={
        "Authorization": "Bearer your_api_key",
        "Content-Type": "application/json",
    },
    json={
        "url": "https://example.com",
        "limit": 100,
    },
)

result = response.json()
print(f"Found {result['links_count']} URLs")
for link in result["links"]:
    print(link["url"])

Advanced Example

Use search ranking and filtering to discover specific sections of a site:

curl -X POST https://api.octivas.com/api/v1/map \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "limit": 500,
    "search": "pricing",
    "include_subdomains": true,
    "ignore_query_parameters": true,
    "sitemap": "include",
    "timeout": 30000
  }'
const response = await fetch("https://api.octivas.com/api/v1/map", {
  method: "POST",
  headers: {
    "Authorization": "Bearer your_api_key",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    url: "https://example.com",
    limit: 500,
    search: "pricing",
    include_subdomains: true,
    ignore_query_parameters: true,
    sitemap: "include",
    timeout: 30000,
  }),
});

const result = await response.json();
console.log(`Found ${result.links_count} URLs matching "pricing"`);
import requests

response = requests.post(
    "https://api.octivas.com/api/v1/map",
    headers={
        "Authorization": "Bearer your_api_key",
        "Content-Type": "application/json",
    },
    json={
        "url": "https://example.com",
        "limit": 500,
        "search": "pricing",
        "include_subdomains": True,
        "ignore_query_parameters": True,
        "sitemap": "include",
        "timeout": 30000,
    },
)

result = response.json()
print(f"Found {result['links_count']} URLs matching 'pricing'")

Response

{
  "success": true,
  "url": "https://example.com",
  "links_count": 3,
  "links": [
    {
      "url": "https://example.com/",
      "title": "Home",
      "description": "Main page"
    },
    {
      "url": "https://example.com/about",
      "title": "About"
    },
    {
      "url": "https://example.com/blog"
    }
  ]
}

Response Fields

FieldTypeDescription
successbooleanWhether the request succeeded
urlstringThe mapped website URL
links_countintegerNumber of links returned
linksarrayArray of discovered link objects
links[].urlstringURL of the discovered page
links[].titlestring | nullPage title (when available)
links[].descriptionstring | nullPage description (when available)

On this page