[{"data":1,"prerenderedAt":1430},["ShallowReactive",2],{"doc-\u002Fexamples\u002Fpython-api-request-example-get-request":3},{"id":4,"title":5,"body":6,"description":1423,"extension":1424,"meta":1425,"navigation":48,"path":1426,"seo":1427,"stem":1428,"__hash__":1429},"content\u002Fexamples\u002Fpython-api-request-example-get-request.md","Python API Request Example (GET Request)",{"type":7,"value":8,"toc":1400},"minimark",[9,13,17,20,141,148,158,163,166,169,189,193,196,213,217,223,241,244,264,267,273,292,310,314,317,420,425,457,461,464,553,560,564,567,570,597,600,763,766,785,797,801,804,807,1134,1138,1158,1161,1165,1168,1187,1190,1215,1218,1260,1272,1276,1279,1293,1300,1304,1308,1315,1319,1322,1326,1329,1333,1342,1346,1351,1355,1396],[10,11,5],"h1",{"id":12},"python-api-request-example-get-request",[14,15,16],"p",{},"This beginner-friendly example shows how to make a simple GET request in Python, read the response, and handle basic problems.",[14,18,19],{},"If you want the fastest working version first, use this:",[21,22,27],"pre",{"className":23,"code":24,"language":25,"meta":26,"style":26},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","import requests\n\nurl = \"https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat\"\nresponse = requests.get(url)\n\nprint(response.status_code)\nprint(response.json())\n","python","",[28,29,30,43,50,71,99,104,124],"code",{"__ignoreMap":26},[31,32,35,39],"span",{"class":33,"line":34},"line",1,[31,36,38],{"class":37},"sVHd0","import",[31,40,42],{"class":41},"su5hD"," requests\n",[31,44,46],{"class":33,"line":45},2,[31,47,49],{"emptyLinePlaceholder":48},true,"\n",[31,51,53,56,60,64,68],{"class":33,"line":52},3,[31,54,55],{"class":41},"url ",[31,57,59],{"class":58},"smGrS","=",[31,61,63],{"class":62},"sjJ54"," \"",[31,65,67],{"class":66},"s_sjI","https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat",[31,69,70],{"class":62},"\"\n",[31,72,74,77,79,82,86,90,93,96],{"class":33,"line":73},4,[31,75,76],{"class":41},"response ",[31,78,59],{"class":58},[31,80,81],{"class":41}," requests",[31,83,85],{"class":84},"sP7_E",".",[31,87,89],{"class":88},"slqww","get",[31,91,92],{"class":84},"(",[31,94,95],{"class":88},"url",[31,97,98],{"class":84},")\n",[31,100,102],{"class":33,"line":101},5,[31,103,49],{"emptyLinePlaceholder":48},[31,105,107,111,113,116,118,122],{"class":33,"line":106},6,[31,108,110],{"class":109},"sptTA","print",[31,112,92],{"class":84},[31,114,115],{"class":88},"response",[31,117,85],{"class":84},[31,119,121],{"class":120},"skxfh","status_code",[31,123,98],{"class":84},[31,125,127,129,131,133,135,138],{"class":33,"line":126},7,[31,128,110],{"class":109},[31,130,92],{"class":84},[31,132,115],{"class":88},[31,134,85],{"class":84},[31,136,137],{"class":88},"json",[31,139,140],{"class":84},"())\n",[14,142,143,144,147],{},"This example uses the ",[28,145,146],{},"requests"," package and prints:",[149,150,151,155],"ul",{},[152,153,154],"li",{},"The HTTP status code",[152,156,157],{},"The JSON response from the API",[159,160,162],"h2",{"id":161},"what-this-example-does","What this example does",[14,164,165],{},"This example is useful because it shows the basic pattern for working with APIs in Python.",[14,167,168],{},"It will:",[149,170,171,174,180,183,186],{},[152,172,173],{},"Send a simple GET request to a public API",[152,175,176,177,179],{},"Use the ",[28,178,146],{}," package",[152,181,182],{},"Print the HTTP status code",[152,184,185],{},"Read JSON data from the response",[152,187,188],{},"Keep the code small and easy to follow",[159,190,192],{"id":191},"what-you-need-before-running-it","What you need before running it",[14,194,195],{},"Before you run the code, make sure you have:",[149,197,198,201,207,210],{},[152,199,200],{},"Python installed on your computer",[152,202,203,204,206],{},"The ",[28,205,146],{}," package installed",[152,208,209],{},"An internet connection",[152,211,212],{},"A public API URL that allows GET requests",[159,214,216],{"id":215},"install-requests","Install requests",[14,218,219,220,222],{},"To install ",[28,221,146],{},", run this in your terminal:",[21,224,228],{"className":225,"code":226,"language":227,"meta":26,"style":26},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark","pip install requests\n","bash",[28,229,230],{"__ignoreMap":26},[31,231,232,236,239],{"class":33,"line":34},[31,233,235],{"class":234},"sbgvK","pip",[31,237,238],{"class":66}," install",[31,240,42],{"class":66},[14,242,243],{},"If that does not work, try:",[21,245,247],{"className":225,"code":246,"language":227,"meta":26,"style":26},"python -m pip install requests\n",[28,248,249],{"__ignoreMap":26},[31,250,251,253,257,260,262],{"class":33,"line":34},[31,252,25],{"class":234},[31,254,256],{"class":255},"stzsN"," -m",[31,258,259],{"class":66}," pip",[31,261,238],{"class":66},[31,263,42],{"class":66},[14,265,266],{},"Make sure you install it in the same Python environment you are using to run your script.",[14,268,269,270,272],{},"You can check that ",[28,271,146],{}," is installed with:",[21,274,276],{"className":225,"code":275,"language":227,"meta":26,"style":26},"python -c \"import requests; print(requests.__version__)\"\n",[28,277,278],{"__ignoreMap":26},[31,279,280,282,285,287,290],{"class":33,"line":34},[31,281,25],{"class":234},[31,283,284],{"class":255}," -c",[31,286,63],{"class":62},[31,288,289],{"class":66},"import requests; print(requests.__version__)",[31,291,70],{"class":62},[14,293,294,295,303,304,85],{},"If Python says the module cannot be found, see ",[296,297,299,300],"a",{"href":298},"\u002Ferrors\u002Fmodulenotfounderror-no-module-named-x-fix\u002F","how to fix ",[28,301,302],{},"ModuleNotFoundError"," or ",[296,305,299,307],{"href":306},"\u002Ferrors\u002Fimporterror-no-module-named-x-fix\u002F",[28,308,309],{},"ImportError",[159,311,313],{"id":312},"basic-get-request-example","Basic GET request example",[14,315,316],{},"Here is a complete beginner-friendly example:",[21,318,320],{"className":23,"code":319,"language":25,"meta":26,"style":26},"import requests\n\nurl = \"https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat\"\n\nresponse = requests.get(url)\n\nprint(\"Status code:\", response.status_code)\nprint(\"JSON data:\", response.json())\n",[28,321,322,328,332,344,348,366,370,396],{"__ignoreMap":26},[31,323,324,326],{"class":33,"line":34},[31,325,38],{"class":37},[31,327,42],{"class":41},[31,329,330],{"class":33,"line":45},[31,331,49],{"emptyLinePlaceholder":48},[31,333,334,336,338,340,342],{"class":33,"line":52},[31,335,55],{"class":41},[31,337,59],{"class":58},[31,339,63],{"class":62},[31,341,67],{"class":66},[31,343,70],{"class":62},[31,345,346],{"class":33,"line":73},[31,347,49],{"emptyLinePlaceholder":48},[31,349,350,352,354,356,358,360,362,364],{"class":33,"line":101},[31,351,76],{"class":41},[31,353,59],{"class":58},[31,355,81],{"class":41},[31,357,85],{"class":84},[31,359,89],{"class":88},[31,361,92],{"class":84},[31,363,95],{"class":88},[31,365,98],{"class":84},[31,367,368],{"class":33,"line":106},[31,369,49],{"emptyLinePlaceholder":48},[31,371,372,374,376,379,382,384,387,390,392,394],{"class":33,"line":126},[31,373,110],{"class":109},[31,375,92],{"class":84},[31,377,378],{"class":62},"\"",[31,380,381],{"class":66},"Status code:",[31,383,378],{"class":62},[31,385,386],{"class":84},",",[31,388,389],{"class":88}," response",[31,391,85],{"class":84},[31,393,121],{"class":120},[31,395,98],{"class":84},[31,397,399,401,403,405,408,410,412,414,416,418],{"class":33,"line":398},8,[31,400,110],{"class":109},[31,402,92],{"class":84},[31,404,378],{"class":62},[31,406,407],{"class":66},"JSON data:",[31,409,378],{"class":62},[31,411,386],{"class":84},[31,413,389],{"class":88},[31,415,85],{"class":84},[31,417,137],{"class":88},[31,419,140],{"class":84},[421,422,424],"h3",{"id":423},"how-this-code-works","How this code works",[149,426,427,433,439,445,451],{},[152,428,429,432],{},[28,430,431],{},"import requests"," loads the package",[152,434,435,438],{},[28,436,437],{},"url = ..."," stores the API address in a variable",[152,440,441,444],{},[28,442,443],{},"requests.get(url)"," sends a GET request to that URL",[152,446,447,450],{},[28,448,449],{},"response.status_code"," shows the result of the request",[152,452,453,456],{},[28,454,455],{},"response.json()"," converts the JSON response into Python data",[421,458,460],{"id":459},"example-output","Example output",[14,462,463],{},"The exact output may vary, but it will look something like this:",[21,465,467],{"className":23,"code":466,"language":25,"meta":26,"style":26},"Status code: 200\nJSON data: {'login': 'octocat', 'id': 583231, 'type': 'User', ...}\n",[28,468,469,481],{"__ignoreMap":26},[31,470,471,474,477],{"class":33,"line":34},[31,472,473],{"class":41},"Status code",[31,475,476],{"class":84},":",[31,478,480],{"class":479},"srdBf"," 200\n",[31,482,483,487,490,492,495,498,501,503,505,508,511,513,515,517,520,522,524,527,529,531,534,536,538,540,543,545,547,550],{"class":33,"line":45},[31,484,486],{"class":485},"s_hVV","JSON",[31,488,489],{"class":41}," data",[31,491,476],{"class":84},[31,493,494],{"class":84}," {",[31,496,497],{"class":62},"'",[31,499,500],{"class":66},"login",[31,502,497],{"class":62},[31,504,476],{"class":84},[31,506,507],{"class":62}," '",[31,509,510],{"class":66},"octocat",[31,512,497],{"class":62},[31,514,386],{"class":84},[31,516,507],{"class":62},[31,518,519],{"class":66},"id",[31,521,497],{"class":62},[31,523,476],{"class":84},[31,525,526],{"class":479}," 583231",[31,528,386],{"class":84},[31,530,507],{"class":62},[31,532,533],{"class":66},"type",[31,535,497],{"class":62},[31,537,476],{"class":84},[31,539,507],{"class":62},[31,541,542],{"class":66},"User",[31,544,497],{"class":62},[31,546,386],{"class":84},[31,548,549],{"class":485}," ...",[31,551,552],{"class":84},"}\n",[14,554,555,556,85],{},"If you want a broader walkthrough, see ",[296,557,559],{"href":558},"\u002Fhow-to\u002Fhow-to-make-an-api-request-in-python\u002F","how to make an API request in Python",[159,561,563],{"id":562},"how-to-understand-the-response","How to understand the response",[14,565,566],{},"When you send a request, the server sends back a response.",[14,568,569],{},"Here are the most important parts for beginners:",[149,571,572,577,583,589,594],{},[152,573,574,576],{},[28,575,121],{}," tells you whether the request worked",[152,578,579,582],{},[28,580,581],{},"200"," usually means success",[152,584,585,588],{},[28,586,587],{},"response.text"," gives the raw response as plain text",[152,590,591,593],{},[28,592,455],{}," converts JSON into Python objects",[152,595,596],{},"JSON objects usually become Python dictionaries",[14,598,599],{},"Example:",[21,601,603],{"className":23,"code":602,"language":25,"meta":26,"style":26},"import requests\n\nurl = \"https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat\"\nresponse = requests.get(url)\n\nprint(\"Status code:\", response.status_code)\nprint(\"Text response:\")\nprint(response.text[:200])  # first 200 characters\n\ndata = response.json()\nprint(\"User login:\", data[\"login\"])\n",[28,604,605,611,615,627,645,649,671,686,711,716,733],{"__ignoreMap":26},[31,606,607,609],{"class":33,"line":34},[31,608,38],{"class":37},[31,610,42],{"class":41},[31,612,613],{"class":33,"line":45},[31,614,49],{"emptyLinePlaceholder":48},[31,616,617,619,621,623,625],{"class":33,"line":52},[31,618,55],{"class":41},[31,620,59],{"class":58},[31,622,63],{"class":62},[31,624,67],{"class":66},[31,626,70],{"class":62},[31,628,629,631,633,635,637,639,641,643],{"class":33,"line":73},[31,630,76],{"class":41},[31,632,59],{"class":58},[31,634,81],{"class":41},[31,636,85],{"class":84},[31,638,89],{"class":88},[31,640,92],{"class":84},[31,642,95],{"class":88},[31,644,98],{"class":84},[31,646,647],{"class":33,"line":101},[31,648,49],{"emptyLinePlaceholder":48},[31,650,651,653,655,657,659,661,663,665,667,669],{"class":33,"line":106},[31,652,110],{"class":109},[31,654,92],{"class":84},[31,656,378],{"class":62},[31,658,381],{"class":66},[31,660,378],{"class":62},[31,662,386],{"class":84},[31,664,389],{"class":88},[31,666,85],{"class":84},[31,668,121],{"class":120},[31,670,98],{"class":84},[31,672,673,675,677,679,682,684],{"class":33,"line":126},[31,674,110],{"class":109},[31,676,92],{"class":84},[31,678,378],{"class":62},[31,680,681],{"class":66},"Text response:",[31,683,378],{"class":62},[31,685,98],{"class":84},[31,687,688,690,692,694,696,699,702,704,707],{"class":33,"line":398},[31,689,110],{"class":109},[31,691,92],{"class":84},[31,693,115],{"class":88},[31,695,85],{"class":84},[31,697,698],{"class":120},"text",[31,700,701],{"class":84},"[:",[31,703,581],{"class":479},[31,705,706],{"class":84},"])",[31,708,710],{"class":709},"sutJx","  # first 200 characters\n",[31,712,714],{"class":33,"line":713},9,[31,715,49],{"emptyLinePlaceholder":48},[31,717,719,722,724,726,728,730],{"class":33,"line":718},10,[31,720,721],{"class":41},"data ",[31,723,59],{"class":58},[31,725,389],{"class":41},[31,727,85],{"class":84},[31,729,137],{"class":88},[31,731,732],{"class":84},"()\n",[31,734,736,738,740,742,745,747,749,751,754,756,758,760],{"class":33,"line":735},11,[31,737,110],{"class":109},[31,739,92],{"class":84},[31,741,378],{"class":62},[31,743,744],{"class":66},"User login:",[31,746,378],{"class":62},[31,748,386],{"class":84},[31,750,489],{"class":88},[31,752,753],{"class":84},"[",[31,755,378],{"class":62},[31,757,500],{"class":66},[31,759,378],{"class":62},[31,761,762],{"class":84},"])\n",[14,764,765],{},"In this example:",[149,767,768,773,779],{},[152,769,770,772],{},[28,771,587],{}," shows the raw content",[152,774,775,778],{},[28,776,777],{},"data = response.json()"," creates a Python dictionary",[152,780,781,784],{},[28,782,783],{},"data[\"login\"]"," gets one value from that dictionary",[14,786,787,788,792,793,85],{},"If you want more help reading API output, see ",[296,789,791],{"href":790},"\u002Fhow-to\u002Fhow-to-handle-api-responses-in-python\u002F","how to handle API responses in Python"," and the ",[296,794,796],{"href":795},"\u002Fstandard-library\u002Fpython-json-module-overview\u002F","Python JSON module overview",[159,798,800],{"id":799},"safer-version-with-error-handling","Safer version with error handling",[14,802,803],{},"The first example works, but real programs should handle errors.",[14,805,806],{},"This version is safer for beginners:",[21,808,810],{"className":23,"code":809,"language":25,"meta":26,"style":26},"import requests\n\nurl = \"https:\u002F\u002Fapi.github.com\u002Fusers\u002Foctocat\"\n\ntry:\n    response = requests.get(url, timeout=10)\n    response.raise_for_status()\n\n    data = response.json()\n    print(\"Request worked\")\n    print(\"Status code:\", response.status_code)\n    print(\"Login:\", data[\"login\"])\n\nexcept requests.exceptions.Timeout:\n    print(\"The request took too long and timed out.\")\n\nexcept requests.exceptions.ConnectionError:\n    print(\"Could not connect to the server.\")\n\nexcept requests.exceptions.HTTPError as error:\n    print(\"The server returned an HTTP error:\", error)\n\nexcept ValueError:\n    print(\"The response was not valid JSON.\")\n",[28,811,812,818,822,834,838,846,876,888,892,907,923,945,973,978,998,1014,1019,1037,1053,1058,1082,1102,1107,1118],{"__ignoreMap":26},[31,813,814,816],{"class":33,"line":34},[31,815,38],{"class":37},[31,817,42],{"class":41},[31,819,820],{"class":33,"line":45},[31,821,49],{"emptyLinePlaceholder":48},[31,823,824,826,828,830,832],{"class":33,"line":52},[31,825,55],{"class":41},[31,827,59],{"class":58},[31,829,63],{"class":62},[31,831,67],{"class":66},[31,833,70],{"class":62},[31,835,836],{"class":33,"line":73},[31,837,49],{"emptyLinePlaceholder":48},[31,839,840,843],{"class":33,"line":101},[31,841,842],{"class":37},"try",[31,844,845],{"class":84},":\n",[31,847,848,851,853,855,857,859,861,863,865,869,871,874],{"class":33,"line":106},[31,849,850],{"class":41},"    response ",[31,852,59],{"class":58},[31,854,81],{"class":41},[31,856,85],{"class":84},[31,858,89],{"class":88},[31,860,92],{"class":84},[31,862,95],{"class":88},[31,864,386],{"class":84},[31,866,868],{"class":867},"s99_P"," timeout",[31,870,59],{"class":58},[31,872,873],{"class":479},"10",[31,875,98],{"class":84},[31,877,878,881,883,886],{"class":33,"line":126},[31,879,880],{"class":41},"    response",[31,882,85],{"class":84},[31,884,885],{"class":88},"raise_for_status",[31,887,732],{"class":84},[31,889,890],{"class":33,"line":398},[31,891,49],{"emptyLinePlaceholder":48},[31,893,894,897,899,901,903,905],{"class":33,"line":713},[31,895,896],{"class":41},"    data ",[31,898,59],{"class":58},[31,900,389],{"class":41},[31,902,85],{"class":84},[31,904,137],{"class":88},[31,906,732],{"class":84},[31,908,909,912,914,916,919,921],{"class":33,"line":718},[31,910,911],{"class":109},"    print",[31,913,92],{"class":84},[31,915,378],{"class":62},[31,917,918],{"class":66},"Request worked",[31,920,378],{"class":62},[31,922,98],{"class":84},[31,924,925,927,929,931,933,935,937,939,941,943],{"class":33,"line":735},[31,926,911],{"class":109},[31,928,92],{"class":84},[31,930,378],{"class":62},[31,932,381],{"class":66},[31,934,378],{"class":62},[31,936,386],{"class":84},[31,938,389],{"class":88},[31,940,85],{"class":84},[31,942,121],{"class":120},[31,944,98],{"class":84},[31,946,948,950,952,954,957,959,961,963,965,967,969,971],{"class":33,"line":947},12,[31,949,911],{"class":109},[31,951,92],{"class":84},[31,953,378],{"class":62},[31,955,956],{"class":66},"Login:",[31,958,378],{"class":62},[31,960,386],{"class":84},[31,962,489],{"class":88},[31,964,753],{"class":84},[31,966,378],{"class":62},[31,968,500],{"class":66},[31,970,378],{"class":62},[31,972,762],{"class":84},[31,974,976],{"class":33,"line":975},13,[31,977,49],{"emptyLinePlaceholder":48},[31,979,981,984,986,988,991,993,996],{"class":33,"line":980},14,[31,982,983],{"class":37},"except",[31,985,81],{"class":41},[31,987,85],{"class":84},[31,989,990],{"class":120},"exceptions",[31,992,85],{"class":84},[31,994,995],{"class":120},"Timeout",[31,997,845],{"class":84},[31,999,1001,1003,1005,1007,1010,1012],{"class":33,"line":1000},15,[31,1002,911],{"class":109},[31,1004,92],{"class":84},[31,1006,378],{"class":62},[31,1008,1009],{"class":66},"The request took too long and timed out.",[31,1011,378],{"class":62},[31,1013,98],{"class":84},[31,1015,1017],{"class":33,"line":1016},16,[31,1018,49],{"emptyLinePlaceholder":48},[31,1020,1022,1024,1026,1028,1030,1032,1035],{"class":33,"line":1021},17,[31,1023,983],{"class":37},[31,1025,81],{"class":41},[31,1027,85],{"class":84},[31,1029,990],{"class":120},[31,1031,85],{"class":84},[31,1033,1034],{"class":120},"ConnectionError",[31,1036,845],{"class":84},[31,1038,1040,1042,1044,1046,1049,1051],{"class":33,"line":1039},18,[31,1041,911],{"class":109},[31,1043,92],{"class":84},[31,1045,378],{"class":62},[31,1047,1048],{"class":66},"Could not connect to the server.",[31,1050,378],{"class":62},[31,1052,98],{"class":84},[31,1054,1056],{"class":33,"line":1055},19,[31,1057,49],{"emptyLinePlaceholder":48},[31,1059,1061,1063,1065,1067,1069,1071,1074,1077,1080],{"class":33,"line":1060},20,[31,1062,983],{"class":37},[31,1064,81],{"class":41},[31,1066,85],{"class":84},[31,1068,990],{"class":120},[31,1070,85],{"class":84},[31,1072,1073],{"class":120},"HTTPError",[31,1075,1076],{"class":37}," as",[31,1078,1079],{"class":41}," error",[31,1081,845],{"class":84},[31,1083,1085,1087,1089,1091,1094,1096,1098,1100],{"class":33,"line":1084},21,[31,1086,911],{"class":109},[31,1088,92],{"class":84},[31,1090,378],{"class":62},[31,1092,1093],{"class":66},"The server returned an HTTP error:",[31,1095,378],{"class":62},[31,1097,386],{"class":84},[31,1099,1079],{"class":88},[31,1101,98],{"class":84},[31,1103,1105],{"class":33,"line":1104},22,[31,1106,49],{"emptyLinePlaceholder":48},[31,1108,1110,1112,1116],{"class":33,"line":1109},23,[31,1111,983],{"class":37},[31,1113,1115],{"class":1114},"sZMiF"," ValueError",[31,1117,845],{"class":84},[31,1119,1121,1123,1125,1127,1130,1132],{"class":33,"line":1120},24,[31,1122,911],{"class":109},[31,1124,92],{"class":84},[31,1126,378],{"class":62},[31,1128,1129],{"class":66},"The response was not valid JSON.",[31,1131,378],{"class":62},[31,1133,98],{"class":84},[421,1135,1137],{"id":1136},"why-this-version-is-better","Why this version is better",[149,1139,1140,1146,1152],{},[152,1141,1142,1145],{},[28,1143,1144],{},"timeout=10"," prevents the program from waiting forever",[152,1147,1148,1151],{},[28,1149,1150],{},"raise_for_status()"," turns bad HTTP responses into errors",[152,1153,1154,1157],{},[28,1155,1156],{},"try-except"," lets you show simple messages instead of crashing",[14,1159,1160],{},"This is a good next step after learning the basic example.",[159,1162,1164],{"id":1163},"common-problems-beginners-hit","Common problems beginners hit",[14,1166,1167],{},"Here are some common causes when this example does not work:",[149,1169,1170,1175,1178,1181,1184],{},[152,1171,203,1172,1174],{},[28,1173,146],{}," package is not installed",[152,1176,1177],{},"The API URL is incorrect",[152,1179,1180],{},"The server returns text or HTML instead of JSON",[152,1182,1183],{},"The request needs headers or authentication",[152,1185,1186],{},"The network connection fails or times out",[14,1188,1189],{},"You may also run into these specific issues:",[149,1191,1192,1200,1203,1209,1212],{},[152,1193,1194,1196,1197,1199],{},[28,1195,302],{}," if ",[28,1198,146],{}," is not installed",[152,1201,1202],{},"JSON decode errors if the API does not return JSON",[152,1204,1205,1208],{},[28,1206,1207],{},"404"," if the URL is wrong",[152,1210,1211],{},"Timeout errors if the server is slow",[152,1213,1214],{},"Permission or authentication problems with private APIs",[14,1216,1217],{},"Helpful commands:",[21,1219,1221],{"className":225,"code":1220,"language":227,"meta":26,"style":26},"python -m pip install requests\npython -c \"import requests; print(requests.__version__)\"\npython -c \"import requests; print(requests.get('https:\u002F\u002Fapi.github.com').status_code)\"\n",[28,1222,1223,1235,1247],{"__ignoreMap":26},[31,1224,1225,1227,1229,1231,1233],{"class":33,"line":34},[31,1226,25],{"class":234},[31,1228,256],{"class":255},[31,1230,259],{"class":66},[31,1232,238],{"class":66},[31,1234,42],{"class":66},[31,1236,1237,1239,1241,1243,1245],{"class":33,"line":45},[31,1238,25],{"class":234},[31,1240,284],{"class":255},[31,1242,63],{"class":62},[31,1244,289],{"class":66},[31,1246,70],{"class":62},[31,1248,1249,1251,1253,1255,1258],{"class":33,"line":52},[31,1250,25],{"class":234},[31,1252,284],{"class":255},[31,1254,63],{"class":62},[31,1256,1257],{"class":66},"import requests; print(requests.get('https:\u002F\u002Fapi.github.com').status_code)",[31,1259,70],{"class":62},[14,1261,1262,1263,1271],{},"If you are working with JSON strings directly, ",[296,1264,1266,1267,1270],{"href":1265},"\u002Freference\u002Fjson-loads-function-explained\u002F","how ",[28,1268,1269],{},"json.loads()"," works"," can also help.",[159,1273,1275],{"id":1274},"when-to-use-this-example","When to use this example",[14,1277,1278],{},"This example is a good fit when you want to:",[149,1280,1281,1284,1287,1290],{},[152,1282,1283],{},"Test a public API",[152,1285,1286],{},"Learn how Python works with web data",[152,1288,1289],{},"Fetch JSON for scripts and small projects",[152,1291,1292],{},"Start with GET requests before learning POST requests or authentication",[14,1294,1295,1296,85],{},"After this, a good next step is learning ",[296,1297,1299],{"href":1298},"\u002Fhow-to\u002Fhow-to-send-a-post-request-in-python\u002F","how to send a POST request in Python",[159,1301,1303],{"id":1302},"faq","FAQ",[421,1305,1307],{"id":1306},"what-is-a-get-request-in-python","What is a GET request in Python?",[14,1309,1310,1311,1314],{},"A GET request asks a server for data. In Python, beginners often use ",[28,1312,1313],{},"requests.get()"," to do this.",[421,1316,1318],{"id":1317},"do-i-need-the-requests-package","Do I need the requests package?",[14,1320,1321],{},"For this example, yes. It is the easiest beginner-friendly way to send HTTP requests.",[421,1323,1325],{"id":1324},"why-use-responsejson","Why use response.json()?",[14,1327,1328],{},"Use it when the API sends JSON. It converts the response into Python data like dictionaries and lists.",[421,1330,1332],{"id":1331},"what-if-the-api-does-not-return-json","What if the API does not return JSON?",[14,1334,1335,1336,1338,1339,1341],{},"Use ",[28,1337,587],{}," instead. Trying ",[28,1340,455],{}," on non-JSON data can cause an error.",[421,1343,1345],{"id":1344},"what-status-code-means-success","What status code means success?",[14,1347,1348,1350],{},[28,1349,581],{}," usually means the request worked.",[159,1352,1354],{"id":1353},"see-also","See also",[149,1356,1357,1362,1367,1372,1376,1383,1390],{},[152,1358,1359],{},[296,1360,1361],{"href":558},"How to make an API request in Python",[152,1363,1364],{},[296,1365,1366],{"href":790},"How to handle API responses in Python",[152,1368,1369],{},[296,1370,1371],{"href":1298},"How to send a POST request in Python",[152,1373,1374],{},[296,1375,796],{"href":795},[152,1377,1378],{},[296,1379,1380,1381,1270],{"href":1265},"How ",[28,1382,1269],{},[152,1384,1385],{},[296,1386,1387,1388],{"href":298},"How to fix ",[28,1389,302],{},[152,1391,1392],{},[296,1393,1387,1394],{"href":306},[28,1395,309],{},[1397,1398,1399],"style",{},"html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .slqww, html code.shiki .slqww{--shiki-light:#6182B8;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .stzsN, html code.shiki .stzsN{--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":26,"searchDepth":45,"depth":45,"links":1401},[1402,1403,1404,1405,1409,1410,1413,1414,1415,1422],{"id":161,"depth":45,"text":162},{"id":191,"depth":45,"text":192},{"id":215,"depth":45,"text":216},{"id":312,"depth":45,"text":313,"children":1406},[1407,1408],{"id":423,"depth":52,"text":424},{"id":459,"depth":52,"text":460},{"id":562,"depth":45,"text":563},{"id":799,"depth":45,"text":800,"children":1411},[1412],{"id":1136,"depth":52,"text":1137},{"id":1163,"depth":45,"text":1164},{"id":1274,"depth":45,"text":1275},{"id":1302,"depth":45,"text":1303,"children":1416},[1417,1418,1419,1420,1421],{"id":1306,"depth":52,"text":1307},{"id":1317,"depth":52,"text":1318},{"id":1324,"depth":52,"text":1325},{"id":1331,"depth":52,"text":1332},{"id":1344,"depth":52,"text":1345},{"id":1353,"depth":45,"text":1354},"Master python api request example get request in our comprehensive Python beginner guide.","md",{},"\u002Fexamples\u002Fpython-api-request-example-get-request",{"title":5,"description":1423},"examples\u002Fpython-api-request-example-get-request","jFxYexTOYXyrTAQb6fM50ar6b17JL0RBH0bEDfDew-Y",1777585474878]