Get Crawl Status
curl --request GET \
--url https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/ \
--header 'x-api-key: <api-key>'import requests
url = "https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": 211,
"url": "https://getanteon.com/",
"status": "COMPLETED",
"guru_type": "anteon",
"discovered_urls": ["https://getanteon.com/features/", "https://getanteon.com/pricing/"],
"start_time": "2025-02-21T10:25:22.710211Z",
"end_time": "2025-02-21T10:35:45.521433Z",
"link_limit": 1500,
"ignore_query_params": true
}
{
"msg": "Crawl not found"
}
{
"msg": "Invalid request"
}
Endpoints
Get Crawl Status
Get the current status of a website crawl operation
GET
/
{guru_slug}
/
crawl
/
{crawl_id}
/
status
/
Get Crawl Status
curl --request GET \
--url https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/ \
--header 'x-api-key: <api-key>'import requests
url = "https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gurubase.io/api/v1/{guru_slug}/crawl/{crawl_id}/status/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": 211,
"url": "https://getanteon.com/",
"status": "COMPLETED",
"guru_type": "anteon",
"discovered_urls": ["https://getanteon.com/features/", "https://getanteon.com/pricing/"],
"start_time": "2025-02-21T10:25:22.710211Z",
"end_time": "2025-02-21T10:35:45.521433Z",
"link_limit": 1500,
"ignore_query_params": true
}
{
"msg": "Crawl not found"
}
{
"msg": "Invalid request"
}
Retrieves the current status and details of a specific crawl operation. This endpoint allows you to monitor the progress of an ongoing crawl or check the results of a completed crawl.
When the crawl is completed, the discovered URLs are not indexed immediately. You need to manually add the discovered URLs as a data source by passing them to Create Data Source endpoint.
Path Parameters
string
required
The slug of the Guru type associated with the crawl
string
required
The unique identifier of the crawl operation to check
Headers
string
required
Your API key for authentication. You can obtain your API key from the Gurubase dashboard.
Response
string
Unique identifier for the crawl operation
string
The root URL that was crawled
string
Current status of the crawl operation
string
The Guru type that the crawl was initiated for
list
List of URLs discovered during crawling
string
Timestamp when crawl started (ISO 8601 format)
string
Timestamp when crawl ended (ISO 8601 format)
string
Error message if the crawl failed (only present if there was an error)
boolean
Whether query parameters are being stripped from discovered URLs
{
"id": 211,
"url": "https://getanteon.com/",
"status": "COMPLETED",
"guru_type": "anteon",
"discovered_urls": ["https://getanteon.com/features/", "https://getanteon.com/pricing/"],
"start_time": "2025-02-21T10:25:22.710211Z",
"end_time": "2025-02-21T10:35:45.521433Z",
"link_limit": 1500,
"ignore_query_params": true
}
{
"msg": "Crawl not found"
}
{
"msg": "Invalid request"
}
Was this page helpful?