TabSailTabSail

Files & screenshots

Transfer documents and save browser outputs.

OutputHow to save it
Website uploadUpload through the file API, then use its remote browser path
Website downloadList ready downloads and stream the selected file
Screenshot or PDFSave bytes returned by Playwright or Puppeteer
Extracted dataValidate and save in your application

Session files

With an initialized client and a ready session:

const uploaded = await client.sessions.files.upload(session.id, {
  filename: "input.csv",
  contentType: "text/csv",
  file: new TextEncoder().encode("name,value\nexample,1\n"),
});
console.log(uploaded.browserPath);
ParameterTypeRequiredDefaultDescription
filebytes, Blob, or streamYes—Content to upload
filenamestringYes—Plain filename
contentTypestringNoBinary contentMIME type
sizeBytesnumberNoInferred when possibleDeclared length

Python accepts bytes, pathlib.Path, or a binary file. Your application owns any file object it opened.

LimitValue
Single file64 MiB
All session files256 MiB; incomplete uploads reserve space
AvailabilityReady, unexpired session only
List page1–100 items; follow nextCursor

Retrieve files before closing. browserPath is remote, not a path on your application's machine.

See file transfer, screenshots, and the complete file workflow.

Session files are temporary. Save long-term outputs in your application.

On this page