Skip to main content
POST
/
browser
/
sessions
/
{id}
/
back
History Back
curl --request POST \
  --url https://api.example.com/browser/sessions/{id}/back \
  --header 'Content-Type: application/json' \
  --data '
{
  "waitUntil": "<string>",
  "timeout": 123
}
'
{
  "url": "<string>",
  "pageId": "<string>"
}

Overview

The /browser/sessions/{id}/back endpoint moves the active tab one step backwards in its history stack, equivalent to clicking the browser’s back button. The call blocks until the configured wait condition is met or the timeout elapses. When the browser’s back-forward cache is warm, this returns almost instantly. If there is no previous history entry the endpoint returns 409 Conflict.

Path Parameters

id
string
required
Browser session ID (UUID). Create via POST /browser/sessions.

Body

All body fields are optional — the request body may be omitted entirely.
waitUntil
string
default:"load"
When to consider the navigation finished. One of load, domcontentloaded, networkidle.
timeout
integer
default:"30000"
Maximum time (ms) to wait for navigation. Range 0120000.

Example Request

curl -X POST "https://api.scrapengine.io/api/v1/browser/sessions/0f2b1f6a-88ac-4d25-bc58-67a6f4b4a001/back" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Response

Success Response (200)

url
string
Effective URL of the active tab after moving backwards.
pageId
string
CDP target identifier of the tab the operation applied to.
Example Response:
{
  "url": "https://example.com/",
  "pageId": "EA5E9AA71C7A91C467F8CDBB266EE5E0"
}

Error Responses

StatusDescription
401Unauthorized — invalid or missing API key.
404Session not found or not owned by the caller.
408Navigation did not complete before timeout elapsed.
409No previous history entry — the active tab is already at the oldest entry.
503The browser session is temporarily unreachable.

Notes

  • Returns almost immediately when the browser’s back-forward cache (bfcache) is warm.
  • A 409 Conflict means there is nothing to go back to — check history length before calling, or handle the error as a no-op.