{"id":169678,"date":"2025-06-04T16:40:48","date_gmt":"2025-06-04T16:40:48","guid":{"rendered":"https:\/\/randomnerdtutorials.com\/?p=169678"},"modified":"2025-06-04T16:40:51","modified_gmt":"2025-06-04T16:40:51","slug":"micropython-esp32-esp8266-device-info","status":"publish","type":"post","link":"https:\/\/randomnerdtutorials.com\/micropython-esp32-esp8266-device-info\/","title":{"rendered":"MicroPython: ESP32\/ESP8266 Get Device Info (CPU, MAC Address, Flash Size, PSRAM &amp; More)"},"content":{"rendered":"\n<p>In this quick guide, we&#8217;ll share a simple MicroPython script that displays useful information about your board. It&#8217;s a great tool for diagnostics and testing. The script retrieves details about the chip (such as the model and CPU frequency), the MAC address, memory usage, PSRAM availability, filesystem size, and free space, and lists the files stored on the board. This guide works with ESP32, ESP8266, and Raspberry Pi Pico boards.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP8266-Micropython-get-system-info.jpg?resize=1200%2C675&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"MicroPython: ESP32\/ESP8266 Get Device Info CPU, MAC Address, Flash Size, PSRAM &amp; More\" class=\"wp-image-169705\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP8266-Micropython-get-system-info.jpg?w=1920&amp;quality=100&amp;strip=all&amp;ssl=1 1920w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP8266-Micropython-get-system-info.jpg?resize=300%2C169&amp;quality=100&amp;strip=all&amp;ssl=1 300w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP8266-Micropython-get-system-info.jpg?resize=1024%2C576&amp;quality=100&amp;strip=all&amp;ssl=1 1024w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP8266-Micropython-get-system-info.jpg?resize=768%2C432&amp;quality=100&amp;strip=all&amp;ssl=1 768w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP8266-Micropython-get-system-info.jpg?resize=1536%2C864&amp;quality=100&amp;strip=all&amp;ssl=1 1536w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/figure><\/div>\n\n\n<p class=\"rntbox rntclgray\">The code used in this tutorial was created and shared by Charles E. Hamilton, one of our readers.<\/p>\n\n\n\n<p class=\"rntbox rntclblue\"><strong>New to MicroPython?<\/strong> Check out our eBook: <a href=\"https:\/\/randomnerdtutorials.com\/micropython-programming-with-esp32-and-esp8266\/\" title=\"\">MicroPython Programming with ESP32 and ESP8266 eBook (2nd Edition)<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p>To follow this tutorial you need MicroPython firmware installed on your ESP32 or ESP8266 boards. You also need an IDE to write and upload the code to your board. We suggest using Thonny IDE or uPyCraft IDE:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Thonny IDE:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/randomnerdtutorials.com\/getting-started-thonny-micropython-python-ide-esp32-esp8266\/\">Installing and getting started with Thonny IDE<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/flashing-micropython-firmware-esptool-py-esp32-esp8266\/\">Flashing MicroPython Firmware with esptool.py<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>uPyCraft IDE:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/randomnerdtutorials.com\/getting-started-micropython-esp32-esp8266\/\">Getting Started with uPyCraft IDE<\/a><\/li>\n\n\n\n<li>Install uPyCraft IDE (<a href=\"https:\/\/randomnerdtutorials.com\/install-upycraft-ide-windows-pc-instructions\/\">Windows<\/a>,&nbsp;<a href=\"https:\/\/randomnerdtutorials.com\/install-upycraft-ide-mac-os-x-instructions\/\">Mac OS X<\/a>,&nbsp;<a href=\"https:\/\/randomnerdtutorials.com\/install-upycraft-ide-linux-ubuntu-instructions\/\">Linux<\/a>)<\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/flash-upload-micropython-firmware-esp32-esp8266\/\">Flash\/Upload MicroPython Firmware to ESP32 and ESP8266<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"rntbox rntclgreen\">Learn more about MicroPython:&nbsp;<a href=\"https:\/\/randomnerdtutorials.com\/micropython-programming-with-esp32-and-esp8266\/\">MicroPython Programming with ESP32 and ESP8266<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Get System Info &#8211; MicroPython Script<\/h2>\n\n\n\n<p>After loading MicroPython firmware on your board, copy the following code to Thonny IDE or the IDE of your choice.<\/p>\n\n\n<pre style=\"max-height: 40em; margin-bottom: 20px;\"><code class=\"language-python\"># WhatsInIt.py - MicroPython Hardware &amp; Environment Diagnostic Tool\n# For ESP32 \/ ESP8266 boards\n# Last updated: April 26, 2025 by Charles E. Hamilton\n# This program is released into the public domain free of license and without warranties of any kind\n# https:\/\/RandomNerdTutorials.com\/micropython-esp32-esp8266-device-info\/\n\nimport os\nimport sys\nimport gc\nimport machine\nimport network\nimport ubinascii\n\ntry:\n    import esp\nexcept ImportError:\n    esp = None\n\ntry:\n    import esp32\nexcept ImportError:\n    esp32 = None\n\nprint(&quot;\\n&quot; + &quot;=&quot; * 40)\nprint(&quot;        WHATS IN IT REPORT&quot;)\nprint(&quot;=&quot; * 40)\n\n# --- Chip &amp; CPU Info ---\nprint(&quot;\\n[CHIP INFO]&quot;)\nprint(f&quot;Platform:           {sys.platform}&quot;)\nprint(f&quot;MicroPython ver:    {os.uname().release} ({os.uname().version})&quot;)\nprint(f&quot;Machine ID:         {os.uname().machine}&quot;)\nprint(f&quot;CPU Frequency:      {machine.freq()} Hz&quot;)\n\n# --- MAC Address ---\nprint(&quot;\\n[NETWORK]&quot;)\nwlan = network.WLAN(network.STA_IF)\nwlan.active(True)\nmac = ubinascii.hexlify(wlan.config('mac'), ':').decode()\nprint(f&quot;MAC Address:        {mac}&quot;)\n\n# --- Memory Info ---\nprint(&quot;\\n[MEMORY]&quot;)\nprint(f&quot;Heap Allocated:     {gc.mem_alloc()} bytes&quot;)\nprint(f&quot;Heap Free:          {gc.mem_free()} bytes&quot;)\n\n# Flash size (ESP32 only)\nif esp:\n    try:\n        flash_size = esp.flash_size()\n        print(f&quot;Flash Size:         {flash_size \/\/ (1024*1024)} MB&quot;)\n    except:\n        print(&quot;Flash Size:         Not available&quot;)\n\n# PSRAM status (ESP32 only)\nif esp32:\n    try:\n        psram_status = &quot;Available&quot; if esp32.ULP() is not None else &quot;Not available&quot;\n    except:\n        psram_status = &quot;Not detected&quot;\n    print(f&quot;PSRAM:              {psram_status}&quot;)\n\n# --- Filesystem Info ---\nprint(&quot;\\n[FILESYSTEM]&quot;)\ntry:\n    fs_stats = os.statvfs(&quot;\/&quot;)\n    block_size = fs_stats[0]\n    total_blocks = fs_stats[2]\n    free_blocks = fs_stats[3]\n    total = (block_size * total_blocks) \/\/ 1024\n    free = (block_size * free_blocks) \/\/ 1024\n    print(f&quot;Total Size:         {total} KB&quot;)\n    print(f&quot;Free Space:         {free} KB&quot;)\nexcept:\n    print(&quot;Filesystem info:    Not available&quot;)\n\n# --- Directory Contents ---\nprint(&quot;\\n[FILES IN ROOT DIR]&quot;)\ntry:\n    files = os.listdir()\n    for f in files:\n        print(f&quot; - {f}&quot;)\nexcept:\n    print(&quot;Cannot list files.&quot;)\n\n# --- Closing ---\nprint(&quot;\\n[END OF REPORT]&quot;)\nprint(&quot;=&quot; * 40)\n<\/code><\/pre>\n\t<p style=\"text-align:center\"><a class=\"rntwhite\" href=\"https:\/\/github.com\/RuiSantosdotme\/Random-Nerd-Tutorials\/raw\/master\/Projects\/ESP-MicroPython\/esp_get_device_info.py\" target=\"_blank\">View raw code<\/a><\/p>\n\n\n\n<p>The following section prints information about the Chip and CPU: platform used, the micropython version, board model, and CPU frequency.<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code># --- Chip &amp; CPU Info ---\nprint(\"\\n&#091;CHIP INFO]\")\nprint(f\"Platform:           {sys.platform}\")\nprint(f\"MicroPython ver:    {os.uname().release} ({os.uname().version})\")\nprint(f\"Machine ID:         {os.uname().machine}\")\nprint(f\"CPU Frequency:      {machine.freq()} Hz\")<\/code><\/pre>\n\n\n\n<p>These lines print the board MAC address. The MAC address is a unique identifier assigned to your device&#8217;s network interface. It\u2019s used for communication on Wi-Fi and other networks.<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code># --- MAC Address ---\nprint(\"\\n&#091;NETWORK]\")\nwlan = network.WLAN(network.STA_IF)\nwlan.active(True)\nmac = ubinascii.hexlify(wlan.config('mac'), ':').decode()\nprint(f\"MAC Address:        {mac}\")<\/code><\/pre>\n\n\n\n<p>We print information about the board memory. The heap allocated is the amount of RAM currently in use by your program, while free heap is the amount of RAM still available for use.<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code># --- Memory Info ---\nprint(\"\\n&#091;MEMORY]\")\nprint(f\"Heap Allocated:     {gc.mem_alloc()} bytes\")\nprint(f\"Heap Free:          {gc.mem_free()} bytes\")<\/code><\/pre>\n\n\n\n<p>There&#8217;s also a section to print the board flash size and if there&#8217;s PSRAM available.<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code># Flash size (ESP32 only)\nif esp:\n    try:\n        flash_size = esp.flash_size()\n        print(f\"Flash Size:         {flash_size \/\/ (1024*1024)} MB\")\n    except:\n        print(\"Flash Size:         Not available\")\n\n# PSRAM status (ESP32 only)\nif esp32:\n    try:\n        psram_status = \"Available\" if esp32.ULP() is not None else \"Not available\"\n    except:\n        psram_status = \"Not detected\"\n    print(f\"PSRAM:              {psram_status}\")<\/code><\/pre>\n\n\n\n<p>Finally, we print the filesystem total size and free space.<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code># --- Filesystem Info ---\nprint(\"\\n&#091;FILESYSTEM]\")\ntry:\n    fs_stats = os.statvfs(\"\/\")\n    block_size = fs_stats&#091;0]\n    total_blocks = fs_stats&#091;2]\n    free_blocks = fs_stats&#091;3]\n    total = (block_size * total_blocks) \/\/ 1024\n    free = (block_size * free_blocks) \/\/ 1024\n    print(f\"Total Size:         {total} KB\")\n    print(f\"Free Space:         {free} KB\")\nexcept:\n    print(\"Filesystem info:    Not available\")<\/code><\/pre>\n\n\n\n<p>And if there are any files in the filesystem root directory.<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code># --- Directory Contents ---\nprint(\"\\n&#091;FILES IN ROOT DIR]\")\ntry:\n    files = os.listdir()\n    for f in files:\n        print(f\" - {f}\")\nexcept:\n    print(\"Cannot list files.\")<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Testing the Code<\/h3>\n\n\n\n<p>With the board connected to your computer and with a connection established with Thonny IDE, click the green run button to run the program on your board.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"470\" height=\"114\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2023\/12\/thonny-ide-run-button.png?resize=470%2C114&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Run MicroPython script on Thonny IDE\" class=\"wp-image-144594\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2023\/12\/thonny-ide-run-button.png?w=470&amp;quality=100&amp;strip=all&amp;ssl=1 470w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2023\/12\/thonny-ide-run-button.png?resize=300%2C73&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 470px) 100vw, 470px\" \/><\/figure><\/div>\n\n\n<p>The information about your board will be printed in the MicroPython shell.<\/p>\n\n\n\n<p>Below you can see the report for an ESP32 DOIT board.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"750\" height=\"674\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-Get-system-info-micropython.png?resize=750%2C674&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"ESP32 with MicroPython - get system info\" class=\"wp-image-169681\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-Get-system-info-micropython.png?w=750&amp;quality=100&amp;strip=all&amp;ssl=1 750w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-Get-system-info-micropython.png?resize=300%2C270&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/figure><\/div>\n\n\n<p>We also tested this script with an ESP32S3, and ESP8266, and a Raspberry Pi Pico board (you can click on the images to enlarge).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"582\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP8266-Get-system-info-micropython.png?resize=750%2C582&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"ESP8266 with MicroPython - get system info\" class=\"wp-image-169682\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP8266-Get-system-info-micropython.png?w=750&amp;quality=100&amp;strip=all&amp;ssl=1 750w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP8266-Get-system-info-micropython.png?resize=300%2C233&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/figure><\/div>\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/Rpi-Pico-Get-system-info-micropython.png?quality=100&#038;strip=all&#038;ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"560\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/Rpi-Pico-Get-system-info-micropython.png?resize=750%2C560&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"Raspberry Pi Pico with MicroPython - get system info\" class=\"wp-image-169684\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/Rpi-Pico-Get-system-info-micropython.png?w=750&amp;quality=100&amp;strip=all&amp;ssl=1 750w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/Rpi-Pico-Get-system-info-micropython.png?resize=300%2C224&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32S3-Get-system-info-micropython.png?quality=100&#038;strip=all&#038;ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"676\" src=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32S3-Get-system-info-micropython.png?resize=750%2C676&#038;quality=100&#038;strip=all&#038;ssl=1\" alt=\"ESP32S3 with MicroPython - get system info\" class=\"wp-image-169683\" srcset=\"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32S3-Get-system-info-micropython.png?w=750&amp;quality=100&amp;strip=all&amp;ssl=1 750w, https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32S3-Get-system-info-micropython.png?resize=300%2C270&amp;quality=100&amp;strip=all&amp;ssl=1 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Wrapping Up<\/h2>\n\n\n\n<p>In this quick guide, we shared a useful sketch that you can use and adapt in your projects to get essential information about your board chip and CPU, as well as information about the memory and filesystem.<\/p>\n\n\n\n<p>To learn more about MicroPython, check out our resources:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/randomnerdtutorials.com\/projects-esp32-esp8266-micropython\/\">Free MicroPython projects and guides<\/a> <\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/micropython-programming-with-esp32-and-esp8266\/\">MicroPython Programming with ESP32 and ESP8266 eBook<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/randomnerdtutorials.com\/raspberry-pi-pico-w-micropython-ebook\/\" title=\"\">Learn Raspberry Pi Pico\/Pico W with MicroPython eBook<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this quick guide, we&#8217;ll share a simple MicroPython script that displays useful information about your board. It&#8217;s a great tool for diagnostics and testing. The script retrieves details about &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"MicroPython: ESP32\/ESP8266 Get Device Info (CPU, MAC Address, Flash Size, PSRAM &amp; More)\" class=\"read-more button\" href=\"https:\/\/randomnerdtutorials.com\/micropython-esp32-esp8266-device-info\/#more-169678\" aria-label=\"Read more about MicroPython: ESP32\/ESP8266 Get Device Info (CPU, MAC Address, Flash Size, PSRAM &amp; More)\">CONTINUE READING \u00bb<\/a><\/p>\n","protected":false},"author":5,"featured_media":169705,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"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":""},"categories":[310,309,264],"tags":[],"class_list":["post-169678","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-micropython","category-0-esp32-micropython","category-project"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/randomnerdtutorials.com\/wp-content\/uploads\/2025\/05\/ESP32-ESP8266-Micropython-get-system-info.jpg?fit=1920%2C1080&quality=100&strip=all&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/169678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/comments?post=169678"}],"version-history":[{"count":8,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/169678\/revisions"}],"predecessor-version":[{"id":170799,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/posts\/169678\/revisions\/170799"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media\/169705"}],"wp:attachment":[{"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/media?parent=169678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/categories?post=169678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/randomnerdtutorials.com\/wp-json\/wp\/v2\/tags?post=169678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}