Hope below may help you (still not sure, how consumptions of APIs are flexible at Azure Data Factory). Using below parameters/filters you may get the next set of record until you get the complete: combination of $Count & $skip will help to analyze for number of api calls (for each 20K recorded until all records are retrieved).
$top: Default optional filter in API accepts integer value. Can be used to get the defined top records in response. For example: https://{uat/prod-domain}/companies?$top=10
$count: Default optional filter in API accepts true or false. Can be used to get the count of all records available in system. For example: https://{uat/prod-domain}/companies?$count=true
$orderby: Default optional filter in API accepts value as filed name to sort the records. For example: https://{uat/prod-domain}/itemMaster?$orderby=name
$skip: Default optional filter in API accepts integer value to skip those records. For example: https://{uat-domain}/companies?$skip=10 skip the first 10 records in the item table based on applied filter/parameters.
$expand: Use this filter to expand (show) the child entity/objects if any nested child entity exists.
Filters on Filed Value:
{$filter=<API Field Name> <Operator> <Value>}
To add a filter to URI, add $filter= to the end of the name of the published API service. For example, the following URI filters the name field in the companies to return all information belongs to given name. Eg.: https://{uat/prod-domain}/companies?$filter=name eq 'Demo'
Please go through the link Using Filter Expressions in API/OData URIs - Click Here for more details on filter expressions and go through the link Nested query options in select query - Click Here for nested query option.
Hope this may help you.