{"id":2162,"date":"2019-05-01T13:00:55","date_gmt":"2019-05-01T12:00:55","guid":{"rendered":"https:\/\/chewett.co.uk\/blog\/?p=2162"},"modified":"2019-05-06T14:10:24","modified_gmt":"2019-05-06T13:10:24","slug":"pokemon-go-api-api-hashes-api","status":"publish","type":"post","link":"https:\/\/chewett.co.uk\/blog\/2162\/pokemon-go-api-api-hashes-api\/","title":{"rendered":"Pokemon Go API \u2013 API Hashes API"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"678\" height=\"254\" data-attachment-id=\"2165\" data-permalink=\"https:\/\/chewett.co.uk\/blog\/2162\/pokemon-go-api-api-hashes-api\/pogo_api_hashes-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/pogo_api_hashes-1.jpg?fit=800%2C300&amp;ssl=1\" data-orig-size=\"800,300\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"pogo_api_hashes\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/pogo_api_hashes-1.jpg?fit=300%2C113&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/pogo_api_hashes-1.jpg?fit=678%2C254&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/pogo_api_hashes-1.jpg?resize=678%2C254&#038;ssl=1\" alt=\"\" class=\"wp-image-2165\" srcset=\"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/pogo_api_hashes-1.jpg?w=800&amp;ssl=1 800w, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/pogo_api_hashes-1.jpg?resize=300%2C113&amp;ssl=1 300w, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/pogo_api_hashes-1.jpg?resize=768%2C288&amp;ssl=1 768w, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/pogo_api_hashes-1.jpg?resize=50%2C19&amp;ssl=1 50w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/figure>\n\n\n\n<p>This post talks about the newest Pokemon Go API, the API Hashes API at <a rel=\"noreferrer noopener\" href=\"http:\/\/pogoapi.net\/\" target=\"_blank\">pogoapi.net<\/a>.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Using the API Hashes API<\/h2>\n\n\n\n<p>It is recommended to locally cache the API files so you can store them on your own server and use them as needed. To help facilitate this hash API is provided, which gives the current hashes of all API&#8217;s available.<\/p>\n\n\n\n<p>By downloading the current hashes you can compare them against the files you have stored. Then if the hashes are different you know you need to update the file.<\/p>\n\n\n\n<p>This should reduce the traffic requirements on both my and your website and make updating easier.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Getting the API Hashes<\/h2>\n\n\n\n<p> This API details the hashes of all the different API&#8217;s available from PogoAPI.net. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">GET <code>\/api\/v1\/api_hashes.json<\/code><\/h3>\n\n\n\n<p>Returns a json dict with the keys being the api filename and the values being an array containing api_filename, full_path, hash_md5, hash_sha1, hash_sha256. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example Data<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n{\n    alolan_pokemon.json: {\n        api_filename: &quot;alolan_pokemon.json&quot;,\n        full_path: &quot;\/api\/v1\/alolan_pokemon.json&quot;,\n        hash_md5: &quot;355f4ec183f1f519d9cae8e16013dcf4&quot;,\n        hash_sha1: &quot;0bb393f6819825afa0ae89e38c1c57e2805371f3&quot;,\n        hash_sha256: &quot;d3ea3002c9bbbd4a955bec49352a36c8ed5c6c62cfe8b3f71acfd2083a828b33&quot;\n    }, ...\n}\n<\/pre><\/div>\n\n\n<p>The full documentation&nbsp;is available on the&nbsp;<a href=\"https:\/\/pogoapi.net\/documentation\/\" target=\"_blank\" rel=\"noreferrer noopener\">PoGoAPI.net documentation&nbsp;page<\/a>.<\/p>\n\n\n\n<p>If you have any questions about this API or suggestions for other API\u2019s contact me here below or on Twitter!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post talks about the newest Pokemon Go API, the API Hashes API at pogoapi.net.<\/p>\n","protected":false},"author":1,"featured_media":2164,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[98],"tags":[226,227,224,223,218,225],"class_list":["post-2162","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-api","tag-open-data","tag-pogoapi","tag-pokemon","tag-pokemon-go","tag-pokemon-go-api"],"wppr_data":{"cwp_meta_box_check":"No"},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/04\/pogo_api_hashes.jpg?fit=800%2C800&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p2toWX-yS","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":2827,"url":"https:\/\/chewett.co.uk\/blog\/2827\/the-risks-of-windows-and-linux-line-endings-in-git-with-pogoapi\/","url_meta":{"origin":2162,"position":0},"title":"The Risks of Windows and Linux Line endings in Git with PoGoAPI","author":"Chewett","date":"March 6, 2021","format":false,"excerpt":"This talks about the minor changes needed for the api_hashes api to allow verifying API's. Original Problem Someone contacted me and said they couldnt verify the API's against the hashes I provided. I looked into this and locally there didnt seem to be an issue as the API's matched directly.\u2026","rel":"","context":"In &quot;Informational&quot;","block_context":{"text":"Informational","link":"https:\/\/chewett.co.uk\/blog\/category\/informational\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/03\/pogoapi_git_issues_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/03\/pogoapi_git_issues_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/03\/pogoapi_git_issues_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/03\/pogoapi_git_issues_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/03\/pogoapi_git_issues_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":2961,"url":"https:\/\/chewett.co.uk\/blog\/2961\/enabling-cross-origin-resource-sharing-cors-on-pogoapi-net\/","url_meta":{"origin":2162,"position":1},"title":"Enabling Cross-Origin Resource Sharing (CORS) on PoGoAPI.net","author":"Chewett","date":"July 31, 2021","format":false,"excerpt":"This blog post talks about enabling Cross-Origin Resource Sharing (CORS) on PoGoAPI.net What is CORS (Cross-Origin Resource Sharing) Cross-Origin Resource Sharing defines whether a browser can load resources from other origins different from the one that it is currently loading. By default browsers will only load resources from the same\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/chewett.co.uk\/blog\/category\/software\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/07\/pogoapi_cors_posticon.png?fit=1200%2C628&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/07\/pogoapi_cors_posticon.png?fit=1200%2C628&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/07\/pogoapi_cors_posticon.png?fit=1200%2C628&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/07\/pogoapi_cors_posticon.png?fit=1200%2C628&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/07\/pogoapi_cors_posticon.png?fit=1200%2C628&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":2199,"url":"https:\/\/chewett.co.uk\/blog\/2199\/pokemon-go-api-pokemon-generations-api\/","url_meta":{"origin":2162,"position":2},"title":"Pokemon Go API \u2013 Pokemon Generations API","author":"Chewett","date":"May 15, 2019","format":false,"excerpt":"This post talks about the newest Pokemon Go API, the Pokemon Generations API at\u00a0pogoapi.net. Using the Pokemon Generations API Each Pokemon has an associated generation that it was originally released in. This generation relates to the generation in the original video games. Currently Niantic are progressing through the generations releasing\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/chewett.co.uk\/blog\/category\/software\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/05\/pogo_api_generations.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/05\/pogo_api_generations.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/05\/pogo_api_generations.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2019\/05\/pogo_api_generations.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":2804,"url":"https:\/\/chewett.co.uk\/blog\/2804\/pokemon-go-api-baby-pokemon-api\/","url_meta":{"origin":2162,"position":3},"title":"Pokemon Go API &#8211; Baby Pokemon API","author":"Chewett","date":"February 13, 2021","format":false,"excerpt":"This post talks about the latest API I have added to PoGoAPI.net, the Baby Pokemon API. What are Baby Pokemon Some Pokemon are only available from eggs and are typically smaller versions of \"grown up\" Pokemon. These are called baby Pokemon and the only way to get them is typically\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/chewett.co.uk\/blog\/category\/software\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pogoapi_baby_pokemon_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pogoapi_baby_pokemon_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pogoapi_baby_pokemon_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pogoapi_baby_pokemon_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/02\/pogoapi_baby_pokemon_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1777,"url":"https:\/\/chewett.co.uk\/blog\/1777\/pokemon-go-api-pokemon-types-api\/","url_meta":{"origin":2162,"position":4},"title":"Pokemon Go API &#8211; Pokemon Types API","author":"Chewett","date":"January 23, 2019","format":false,"excerpt":"This post talks about the newest Pokemon Go API, the Pokemon Types API at\u00a0pogoapi.net. Pokemon Type Data All Pokemon have either one or two types, these types affect the strength of moves and weaknesses it has to opponents moves. Getting the Pokemon Types Data This API lists the types of\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/chewett.co.uk\/blog\/category\/software\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/11\/pogo_api_pokemon_types-1.jpg?fit=800%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/11\/pogo_api_pokemon_types-1.jpg?fit=800%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/11\/pogo_api_pokemon_types-1.jpg?fit=800%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2018\/11\/pogo_api_pokemon_types-1.jpg?fit=800%2C800&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":2921,"url":"https:\/\/chewett.co.uk\/blog\/2921\/pokemon-go-api-time-limited-shiny-pokemon-api\/","url_meta":{"origin":2162,"position":5},"title":"Pokemon Go API &#8211; Time Limited Shiny Pokemon API","author":"Chewett","date":"May 22, 2021","format":false,"excerpt":"This post talks about the newest Pokemon Go API, the Time Limited Shiny Pokemon API on PoGoAPI.net. What are time limited shiny Pokemon? In Pokemon Go some Pokemon can only be found as shiny during special events or times of the year. Pokemon Go will announce when these are available\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/chewett.co.uk\/blog\/category\/software\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/05\/pogoapi_timelimited_shiny_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/05\/pogoapi_timelimited_shiny_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/05\/pogoapi_timelimited_shiny_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/05\/pogoapi_timelimited_shiny_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/chewett.co.uk\/blog\/wp-content\/uploads\/2021\/05\/pogoapi_timelimited_shiny_posticon_OUTPUT.png?fit=1200%2C628&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=2162"}],"version-history":[{"count":3,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2162\/revisions"}],"predecessor-version":[{"id":2167,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2162\/revisions\/2167"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/media\/2164"}],"wp:attachment":[{"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=2162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=2162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chewett.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=2162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}