Skip to main content
Use this guide to choose supported resume formats and generate valid resumeUrl values.

Supported resume formats

The API currently supports these resume formats:
FormatExtensionContent-Type
PDF.pdfapplication/pdf
Microsoft Word.docapplication/msword
Microsoft Word.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.document
If your ATS supports multiple formats, prefer PDF for the most predictable rendering.

File size limit

LimitValue
Maximum file size50 MB
If the file is too large, the API returns RESUME_TOO_LARGE.

Resume URL requirements

Your resumeUrl must be:
HTTPS
Publicly accessible without authentication
A direct download of the file

URL expiry

The resume is downloaded during the scoring submission request. Set your URL expiry long enough to cover retries and operational delays.
SettingRecommendation
Minimum expiry10 minutes
Recommended expiry1 hour or more

Generating pre-signed URLs

import { GetObjectCommand, S3Client } from '@aws-sdk/client-s3';
import { getSignedUrl } from '@aws-sdk/s3-request-presigner';

const s3 = new S3Client({ region: 'us-east-1' });

async function getResumeUrl(key) {
  const command = new GetObjectCommand({
    Bucket: 'your-resume-bucket',
    Key: key,
  });
  
  return getSignedUrl(s3, command, { 
    expiresIn: 3600 // 1 hour in seconds
  });
}

Common issues

Causes:
  • URL expired
  • URL not publicly accessible
  • Storage returned a non-2xx response
What to do:
  • Test the URL in an incognito browser window
  • Increase expiry
  • Ensure the URL returns the actual file bytes
Cause: The response Content-Type is not supported.What to do:
  • Ensure the URL returns PDF, DOC, or DOCX content
  • If your storage is returning application/octet-stream, configure correct Content-Type metadata
Cause: The file exceeds 50 MB.What to do:
  • Ask the candidate for a smaller file
  • Convert to PDF and compress
Cause: The PDF is password-protected or encrypted.What to do:
  • Ask the candidate to provide an unprotected PDF
  • Remove password protection before uploading
Cause: The file is empty or contains no extractable content.What to do:
  • Verify the file was uploaded correctly
  • Check that the resume contains actual content
Cause: The file is not a valid PDF, DOC, or DOCX despite the Content-Type header.What to do:
  • Verify the file opens correctly in a PDF viewer or Word
  • Check that the URL returns the actual file, not an error page
  • If your storage returned an HTML error page with application/pdf Content-Type, fix the storage configuration