Edu Galindo
Edu Galindo

Reputation: 165

How to use the USDA API

I am trying to follow the instructions for pulling data from market news api from USDA in python, https://mymarketnews.ams.usda.gov/mymarketnews-api/authentication, but I get a 401 error

import requests
url = 'https://marsapi.ams.usda.gov/services/v1.2/reports'
headers={'x-api-key':'mars_test_343343'}

resp = requests.get(url, headers= headers)
print(resp.status_code) 

I can't get it to work, the documentation says " In your software, use the API key as the basic authentication username value. You do not need to provide a password. ", I am pretty new to API calls, how do I provide my username as the api-key so the server authenticates me?

Note: I am using my actual api-key in the code instead of 'mars_test_343343'

Upvotes: 3

Views: 1114

Answers (1)

Stephen
Stephen

Reputation: 1528

Basic Authentication works a little differently with the requests library. You can do something like this instead:

from requests.auth import HTTPBasicAuth
resp = requests.get(url, auth=HTTPBasicAuth('mars_test_343343', None)

Note that because of the vagueness of "not needing to provide a password", the None value may need to be an empty string '' instead.

Upvotes: 2

Related Questions