Syntax

var result = proxy.retrieveBatch(objectType, columns [, filter]);

Parameters

Name Type Required Description
objectType string Yes SOAP API object type
columns string[] Yes Array of property names to return
filter object No SimpleFilterPart or ComplexFilterPart

Return Value

Returns the same structure as retrieve(), but Results contains all matching records across all pages:

{
    Status: "OK",
    RequestID: "...",
    Results: [...]   // complete result set
}

Examples

Retrieve all rows from a large DE

var proxy = new Script.Util.WSProxy();
var result = proxy.retrieveBatch(
    "DataExtensionObject[BigDE_Key]",
    ["Email", "FirstName", "Score"]
);
var rows = result.Results;
Write("Total rows: " + rows.length);

Retrieve all active subscribers

var proxy = new Script.Util.WSProxy();
var filter = {
    Property: "Status",
    SimpleOperator: "equals",
    Value: "Active"
};
var result = proxy.retrieveBatch(
    "Subscriber",
    ["EmailAddress", "SubscriberKey", "Status"],
    filter
);
var subs = result.Results;

Notes

retrieveBatch handles pagination automatically. For very large datasets (100k+ rows), consider whether batch processing in Automation Studio with chunked queries is more appropriate.

Use retrieve when you know results are small. Use retrieveBatch when the total row count may exceed 2,500.

See Also

See Also