Skip to main content
POST
/
v2
/
documents
/
public
/
deep-crawl
/
links
curl --request POST \
  --url 'https://api-prod.usefini.com/v2/documents/public/deep-crawl/links' \
  --header 'Authorization: Bearer fini_your_api_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "links": ["https://help.example.com"],
    "limit": 50
  }'
{
  "data": [
    "https://help.example.com/articles/returns",
    "https://help.example.com/articles/shipping"
  ],
  "message": "Successfully crawled parent URLs"
}
Use this route when you have one or a few seed URLs and want Fini to discover more web pages before you call Ingest sources.
This route discovers URLs only. It does not create source records and it does not ingest content. After you pick the URLs you want, send them to Ingest sources with source: "web".

Headers

Authorization
string
required
Bearer token containing your Fini workspace API key. Format: Bearer fini_... The key needs write scope.
Content-Type
string
required
application/json

Body parameters

Seed URLs to crawl.
limit
integer
default:"250"
Maximum number of discovered URLs to return.
curl --request POST \
  --url 'https://api-prod.usefini.com/v2/documents/public/deep-crawl/links' \
  --header 'Authorization: Bearer fini_your_api_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "links": ["https://help.example.com"],
    "limit": 50
  }'

Response

data
array
Discovered child URLs.
message
string
Success message.
{
  "data": [
    "https://help.example.com/articles/returns",
    "https://help.example.com/articles/shipping"
  ],
  "message": "Successfully crawled parent URLs"
}

Next step

Take the URLs you want from data, then call Ingest sources with source: "web" and place those URLs into documentIdsToAdd.

Errors

The request body is malformed, links is missing or empty, or one of the inputs is not a valid URL.
The API key is missing, malformed, revoked, or invalid.
The API key does not include the write scope.
Fini failed while crawling one or more seed URLs. Retry once, then narrow the input set to isolate the failing URL.