SOAP API Performance

You can improve the performance of SOAP API by reducing API loads. Unless you need near real-time data, avoid using the API to retrieve event or tracking data. Instead, we recommend one of these approaches.

  • Use a data extract.
  • Create a query activity that pulls the data into a data extension, then retrieve the data from the data extension using the API.
  • If you need to pull large amounts of data a few times a day, schedule an SSIS package.
  • Filter each call based on its JobID, or limit each request to a single JobID.

Some instances have dedicated databases and web service pools, and some share resources with other instances. We actively monitor for sudden spikes in API activity and send error messages to accounts that created these spikes. Design your code so that it watches for errors. When errors occur, respond to them quickly.

SOAP API returns results in batches. See API Limits and Guidelines for limits that apply to SOAP API response batch sizes.

If the results in a response exceed the batch size, the API returns a status of MoreDataAvailable instead of OK. A subsequent call returns the next batch of data.