Skip to content

Delete URLs in bulk

DELETE
/api/v1/urls/batch
Code sample: cURL
curl -X DELETE 'https://api.justcrawl.io/api/v1/urls/batch' \
-H 'Authorization: Bearer $JUSTCRAWL_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"ids": ["00000000-0000-0000-0000-000000000001"]}'

Deletes up to a full page of URLs in one call — the counterpart to POST /api/v1/urls/batch. Hard delete with the same semantics as DELETE /api/v1/urls/{id}: extraction history survives, but the URLs stop appearing in listings and are never dispatched again.

The response reports how many rows were actually removed, which can be lower than the number of IDs sent — IDs that belong to another org, or were already deleted, are skipped rather than erroring the whole call.

Media typeapplication/json
object
ids
required

URL item IDs to delete.

Array<string>
>= 1 items
Examplegenerated
{
"ids": [
"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
]
}

Count of URLs actually deleted.

Media typeapplication/json
object
deleted

Rows removed; may be fewer than the IDs supplied.

integer
Examplegenerated
{
"deleted": 1
}

ids missing, not an array, or empty.

Missing or invalid authentication token

Media typeapplication/json
object
error
string
Example
{
"error": "Missing or invalid authentication token"
}

Insufficient permissions for this operation

Media typeapplication/json
object
error
string
Example
{
"error": "No organization. Complete onboarding first."
}

Unexpected server error. Logs and PostHog $exception capture

Media typeapplication/json
object
error
string
Example
{
"error": "Something went wrong"
}