SFTP server guidelines
Guidelines for uploading XML job files to Indeed's SFTP server.
- By using this API and its documentation and building an integration, you agree to the Additional API Terms and Guidelines.
Overview
#Clients upload XML job files to Indeed's SFTP server. Indeed then processes the files so that the jobs appear on Indeed.
All clients share the server, so everyone must follow these guidelines to keep processing on time. If a client doesn't follow them, Indeed might revoke the client's access to the server.
Guidelines
#1. Use as few connections as possible
#Indeed limits connections to reduce the risk of DDoS attacks. Open only the connections you need, so that every client can upload files.
Ideally, use one connection. If you upload several files at the same time, you don't need a connection for each one: SFTP can run multiple operations over one connection.
2. Upload the file with its final filename
#Indeed starts processing a file as soon as its upload finishes. If you rename the file afterward, processing can be delayed by up to 10 minutes.
After you upload a file, don't:
- Rename it.
- Delete it.
- Change its metadata, such as the modification time or permissions.
- Repeatedly poll the state of your files.
To confirm an upload, check the processed subdirectory of your directory. For each file Indeed receives, it adds an empty file there and keeps it for two days.
Example: You upload ftp/ftpexample123/file.xml on July 19, 2022, at 10:31:00 Central Daylight Time. Indeed adds the empty file ftp/ftpexample123/processed/file.xml/20220719_103100_CDT.xml, which confirms that the file was uploaded and is being processed.
3. Choose how often to upload
#Upload on a schedule, or when your jobs change significantly:
- On a schedule:
- Upload every 6 hours.
- Wait at least 2 hours between uploads.
- When jobs change:
- Upload when at least 1% of your jobs change.
- Changing the URL for many jobs doesn't count as a significant change.
Uploading more often doesn't make jobs appear sooner. Every upload makes Indeed reprocess the whole XML file, and each job still has to go through the rest of Indeed's pipeline. Indeed currently picks up updates every three hours and limits accounts that upload too often. This timing can change.
4. Upload only the files Indeed needs
#After each upload, Indeed checks the filename to decide whether it can process the file. If Indeed doesn't recognize the filename, it moves the file to a directory you can't access.
Unneeded files add load to the server and take capacity from the files that matter.
On request, Indeed can review your uploads and tell you which files aren't being processed.
5. Follow naming conventions
#Use the same filename for every upload, such as my_jobs.xml, to make your files easier to track.
The server also accepts filenames that differ only in the date and time.
For example, you upload my_jobs_20220816_064321.xml, and six hours later, my_jobs_20220816_124321.xml. The server stores them as:
my_jobs_20220816_064321.xml/20220816_064353.xmlmy_jobs_20220816_124321.xml/20220816_124403.xml
Include a file extension. Indeed processes only XML files today, so it treats every file as XML, but it might accept other file types in the future.
- Correct filenames:
my_jobs.XMLINDEED_jobs.xml
- Incorrect filenames:
MY_JOBSINDEED_JOBS_XML