I'm trying to download a list of ad group level negative keywords from the reporting API. Sending the following selector:
<reportDefinition>
<selector>
<fields>CampaignId</fields>
<fields>AdGroupId</fields>
<fields>Id</fields>
<fields>Criteria</fields>
<fields>KeywordMatchType</fields>
<fields>IsNegative</fields>
<fields>Status</fields>
<fields>CriteriaDestinationUrl</fields>
<fields>CpcBid</fields>
<fields>CpcBidSource</fields>
<fields>CampaignStatus</fields>
<fields>AdGroupStatus</fields>
<fields>FinalUrls</fields>
<fields>FinalMobileUrls</fields>
<predicates>
<field>Status</field>
<operator>NOT_EQUALS</operator>
<values>REMOVED</values>
</predicates>
<predicates>
<field>CampaignStatus</field>
<operator>NOT_EQUALS</operator>
<values>REMOVED</values>
</predicates>
<predicates>
<field>AdGroupStatus</field>
<operator>NOT_EQUALS</operator>
<values>REMOVED</values>
</predicates>
<dateRange>
<min>20150712</min>
<max>20150713</max>
</dateRange>
</selector>
<reportName>KEYWORDS_PERFORMANCE_REPORT,CampaignId,AdGroupId,Id,Criteria,KeywordMatchType,IsNegative,Status,CriteriaDestinationUrl,CpcBid,CpcBidSource,CampaignStatus,AdGroupStatus,FinalUrls,FinalMobileUrls</reportName>
<reportType>KEYWORDS_PERFORMANCE_REPORT</reportType>
<dateRangeType>CUSTOM_DATE</dateRangeType>
<downloadFormat>GZIPPED_CSV</downloadFormat>
</reportDefinition>
However, this selector does not return any negative keywords, even though the only ad group on this account has negative keywords (visible in the adwords web interface.) At first I thought it might be something to do with segmentation, but none of the fields are segments.
As far as I can tell this worked as expected in version v201502 of the API.
I also tried ALL_TIME and without any predicates, but nothing seems to work.