Essence
API Reference

Map

POST /api/v1/map — URL discovery

Discover URLs on a website via sitemaps and in-page link extraction.

Endpoint

POST /api/v1/map

Parameters

ParameterTypeDefaultDescription
urlstringRequired. Site URL to map
searchstringFilter discovered URLs by search query
includeSubdomainsbooleantrueInclude subdomains in results
limitinteger5000Max URLs to return (max: 100,000)
ignoreSitemapbooleanfalseSkip sitemap.xml and only use in-page links

Examples

cURL

curl -X POST http://localhost:8080/api/v1/map \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "limit": 100
  }'

Python

import requests

response = requests.post("http://localhost:8080/api/v1/map", json={
    "url": "https://example.com",
    "limit": 100
})

data = response.json()
for link in data["links"]:
    print(link)

JavaScript

const response = await fetch("http://localhost:8080/api/v1/map", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    url: "https://example.com",
    limit: 100,
  }),
});

const data = await response.json();
data.links.forEach((link) => console.log(link));

Response

{
  "success": true,
  "links": [
    "https://example.com/",
    "https://example.com/about",
    "https://example.com/blog",
    "https://example.com/blog/post-1",
    "https://example.com/blog/post-2",
    "https://example.com/contact"
  ]
}

Use the search parameter to filter URLs by keyword:

curl -X POST http://localhost:8080/api/v1/map \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "search": "blog",
    "limit": 50
  }'

This returns only URLs containing "blog" in the path.

On this page