Create single URL
curl -X POST 'https://dashboard.justcrawl.io/api/v1/urls' \ -H 'Authorization: Bearer $JUSTCRAWL_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"url":"https://example.com/products/123","priority":10}'import os, requestsr = requests.post( 'https://dashboard.justcrawl.io/api/v1/urls', headers={'Authorization': f'Bearer {os.environ["JUSTCRAWL_API_KEY"]}'}, json={'url': 'https://example.com/products/123', 'priority': 10},)r.raise_for_status()url_item = r.json()const res = await fetch('https://dashboard.justcrawl.io/api/v1/urls', { method: 'POST', headers: { Authorization: `Bearer ${process.env.JUSTCRAWL_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ url: 'https://example.com/products/123', priority: 10 }),});if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);const urlItem = await res.json();Adds a single URL to the org’s URL list. The URL is validated for syntax
and private-address blocking (RFC 1918 / loopback hosts are rejected to
prevent SSRF). Duplicate URLs within the same org return 409 — re-submitting
an existing URL is a no-op, not a way to refresh scheduling. Use
POST /api/v1/urls/batch for >1 URL at a time; this single-URL endpoint
exists for dashboard-driven adds and quick API smoke tests.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
Absolute URL with scheme (http:// or https://).
Optional dispatch priority; higher values dispatch first when capacity is constrained.
Optional list of tag slugs to attach. Use the same charset rules as POST /api/v1/urls/{id}/tags.
Example generated
{ "url": "example", "priority": 1, "tags": [ "example" ]}Responses
Section titled “ Responses ”Created URL item.
object
Example generated
{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "url": "example", "domain": "example", "priority": 1, "tags": [ "example" ], "createdAt": "2026-04-15T12:00:00Z"}Validation failed — request body or query is missing/invalid
object
Example
{ "error": "Missing or invalid \"url\" field"}Missing or invalid authentication token
object
Example
{ "error": "Missing or invalid authentication token"}Insufficient permissions for this operation
object
Example
{ "error": "No organization. Complete onboarding first."}Operation conflicts with current resource state
object
Example
{ "error": "Resource already exists"}Unexpected server error. Logs and PostHog $exception capture
object
Example
{ "error": "Something went wrong"}