POST Submit Map Job
Submit a URL discovery (map) job
POST
https://api.anakin.io/v1/mapSubmit a URL for discovery. The job is processed asynchronously — use the returned jobId to poll for results.
Request Body
{
"url": "https://example.com",
"includeSubdomains": false,
"limit": 100,
"search": "",
"useBrowser": false
}| Parameter | Type | Description |
|---|---|---|
url required | string | The URL to discover links from. Must be valid HTTP/HTTPS. |
includeSubdomains | boolean | Include links to subdomains (e.g. blog.example.com). Default false. |
limit | number | Maximum URLs to return. Default 100, max 5000. |
search | string | Filter discovered URLs — only return URLs containing this string. |
useBrowser | boolean | Use headless Chrome to render the page before extracting links. Default false. Best for JS-heavy sites. |
sessionId | string | Browser session ID for authenticated discovery. See Browser Sessions. |
Response
202 Accepted{
"jobId": "job_abc123xyz",
"status": "pending"
}The job is processed asynchronously. Use the jobId with GET /v1/map/{id} to check status and retrieve results.
Code Examples
curl -X POST https://api.anakin.io/v1/map \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"includeSubdomains": false,
"limit": 100
}'import requests
response = requests.post(
'https://api.anakin.io/v1/map',
headers={'X-API-Key': 'your_api_key'},
json={
'url': 'https://example.com',
'includeSubdomains': False,
'limit': 100,
'search': '/blog/'
}
)
data = response.json()
print(f"Job submitted: {data['jobId']}")const response = await fetch('https://api.anakin.io/v1/map', {
method: 'POST',
headers: {
'X-API-Key': 'your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
url: 'https://example.com',
includeSubdomains: false,
limit: 100,
search: '/blog/'
})
});
const data = await response.json();
console.log(data.jobId);