Manually stepping through the steps of the script and using print to reveal variable values and responses shows me much.
response=requests.post(url,data=data,headers=headers)
print response
<Response [200]>
So I'm getting an "OK" response.
rjson=response.json()
print rjson
{u'paths': [[u'newarrivals', {u'to': 1, u'from': 0}, {u'to': 5, u'from': 0}, [u'title', u'availability']], [u'newarrivals', {u'to': 1, u'from': 0}, {u'to': 5, u'from': 0}, u'boxarts', u'_342x192', u'jpg']], u'jsonGraph': {u'newarrivals': {u'1': {u'$type': u'ref', u'value': [u'lists',...
...
.., {u'boxarts': {u'_342x192': {u'jpg': {u'$type': u'atom'}}}, u'availability': {u'$type': u'atom'}, u'title': {u'$type': u'atom'}}, u'5': {u'boxarts': {u'_342x192': {u'jpg': {u'$type': u'atom'}}}, u'availability': {u'$type': u'atom'}, u'title': {u'$type': u'atom'}}, u'4': {u'boxarts': {u'_342x192': {u'jpg': {u'$type': u'atom'}}}, u'availability': {u'$type': u'atom'}, u'title': {u'$type': u'atom'}}}}}}
And here's where it falls down.
videos=rjson['value']['videos']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'value'