POST /v1/vision/map
Lists URLs on a site from its sitemaps and from links on the start page, without scraping each page. Use it to choose what to scrape or crawl. `search` orders the results by relevance to a phrase. Bills one `vision.page` per call.

Authentication

Bearer Token (b3os_sk_ API key or b3os_pat_ token) API Key (cookie: __Host-b3os_session)

Request Body required

application/json
url string (uri) REQUIRED
search string
Order results by relevance to this phrase.
sitemap string
Use sitemaps alongside links (`include`), not at all (`skip`), or only sitemaps (`only`).
Enum: include, skip, only
include_subdomains boolean
ignore_query_parameters boolean
Treat URLs that differ only in their query string as one.
limit integer
timeout_ms integer

Responses

200 The URLs found.
application/json
object string REQUIRED
Enum: map
url string (uri) REQUIRED
links object[] REQUIRED
Array of:
url string (uri) REQUIRED
title string
description string
timing object REQUIRED
Server-side phase durations in milliseconds with microsecond resolution: the same phases as the `Server-Timing` header, keyed `<phase>_ms`. `total_ms` is always present. Phase names are product-specific and documented per operation. Example values in this reference are illustrative, not measurements.
total_ms number REQUIRED
400 The request failed validation (`invalid_request`, `invalid_url`).
401 Missing, malformed, expired or revoked credentials (`unauthorized`).
402 The organization has no credits left, or the key reached its spend cap.
403 The egress guard refused the URL (`egress_denied`), or robots.txt disallows it (`robots_disallowed`).
413 The request body exceeds this operation's limit.
415 The Content-Type is not accepted by this operation.
429 A rate, concurrency or quota limit applies (`rate_limited`, `concurrency_limited`, `quota_exceeded`).
500 Something failed inside B3OS (`internal`). Retry with backoff.
502 The page could not be fetched or loaded (`navigation_failed`, `upstream_unreachable`, `too_many_redirects`).
503 The node or the product is not available right now (`node_unavailable`, `product_unavailable`, `capacity_unavailable`).
curl -X POST 'https://beta-api.b3os.org/v1/vision/map' \  -H 'Authorization: Bearer YOUR_API_TOKEN' \  -H 'Content-Type: application/json' \  -d '{  "url": "https://docs.example.com",  "search": "authentication",  "limit": 100}'
const response = await fetch('https://beta-api.b3os.org/v1/vision/map', {  method: 'POST',  headers: {      "Authorization": "Bearer YOUR_API_TOKEN",      "Content-Type": "application/json"  },  body: JSON.stringify({    "url": "https://docs.example.com",    "search": "authentication",    "limit": 100  })});const data = await response.json();console.log(data);
import requestsheaders = {    'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.post('https://beta-api.b3os.org/v1/vision/map', headers=headers, json={  "url": "https://docs.example.com",  "search": "authentication",  "limit": 100})print(response.json())
200 Response
{  "object": "map",  "url": "https://docs.example.com",  "links": [    {      "url": "https://docs.example.com/auth",      "title": "Authentication"    },    {      "url": "https://docs.example.com/auth/keys",      "title": "API keys"    }  ],  "timing": {    "sitemap_ms": 120.4,    "fetch_ms": 88,    "total_ms": 214.9  }}
Ask a question... ⌘I