Skip to main content
Pulse reads PDFs, images, Word and PowerPoint files, spreadsheets and HTML, sent as an upload or a link.

Supported formats

A TIFF’s frames, a deck’s slides and a workbook’s sheets are its pages. An animated GIF is read as its first frame. Pulse refuses a document before any work starts if its type isn’t supported (415), or it’s empty or can’t be opened, such as a password-protected PDF (422). Save .doc and .ppt files as .docx and .pptx first, and scan paper documents at 300 DPI where you can.

Send a document

Parse, Classify and pipelines take one document. Send it in one of two ways, never both:
  • file: the file itself, as a multipart/form-data part.
  • file_url: a link Pulse downloads: an http or https URL anyone can download, such as a presigned URL, or the s3:// or gs:// URL of a public object.
Extract, Split, Tables and Charts read a completed parse by its parse_id instead. To send many documents at once, use Batch. This request uploads a PDF from disk and parses it:
client is the one from SDKs. In a multipart request, send config as a JSON text part. Give a file_url a file extension in its path, or serve it with a matching Content-Type, so Pulse reads it as the right type.
Pulse follows up to 5 redirects. If the server takes more than 30 seconds to answer, the request fails with 504 (FILE_DOWNLOAD_TIMEOUT).

Size limits

These limits apply to Parse and to pipelines: For a TIFF over 100 MB, the URL’s path must end in .tif or .tiff.

Long documents

Send long documents with async: true (Jobs and results). However long a document is, it returns one result. A long document can complete with some pages missing. failed_pages then lists those pages, counting from 1, warnings includes PAGES_FAILED, and markdown marks each missing page with an HTML comment. Treat a missing or empty failed_pages as every page parsed.