@newbie_user The behavior indicates that your query is not picking up count query parameter. Instead, it is returning the default of 10 results every time you query. You can verify this by using a more detailed curl command with option "-v". If you use the below command with the URI in quotes the query should return the required count as the complete list of parameters will be used.
curl -v -X GET "https://api.bing.microsoft.com/v7.0/news/search?q=sailing&count=2&offset=40&mkt=en-us" -H "Ocp-Apim-Subscription-Key: <subscription_key>"
From the output:
> GET /v7.0/news/search?q=sailing&count=2&offset=40&mkt=en-us HTTP/1.1
> Host: api.bing.microsoft.com
> User-Agent: curl/7.55.1
> Accept: */*
> Ocp-Apim-Subscription-Key: <subscription_key>
In the second scenario also i believe this is the case where your first parameter is only considered i.e mkt. Please try to use the query in the above format or just use the query parameter category and you should see the results.
https://api.bing.microsoft.com/v7.0/news?category=sports
I have also tried to use the sub categories for sports for en-US and it works fine. Here is a sample query URI.
https://api.bing.microsoft.com/v7.0/news?category=sports_NBA&mkt=en-US