{"id":654,"date":"2026-09-13T11:25:07","date_gmt":"2026-09-13T11:25:07","guid":{"rendered":"https:\/\/prwatech.in\/blog\/?p=654"},"modified":"2026-09-14T16:10:44","modified_gmt":"2026-09-14T16:10:44","slug":"spark-streaming-kafka-tutorial","status":"publish","type":"post","link":"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/","title":{"rendered":"Spark Streaming Kafka Tutorial"},"content":{"rendered":"<h1>Spark Streaming Kafka Tutorial: Spark Streaming with Kafka<\/h1>\n<p><strong>Spark streaming Kafka tutorial<\/strong>, In this tutorial, one can easily know the information about Kafka setup\u00a0 which is available and are used by most of the Spark developers. Are you dreaming to become to certified Pro Spark Developer, then stop just dreaming, get your Apache Spark Scala certification course from India\u2019s Leading <a href=\"https:\/\/prwatech.in\/apache-spark-training-institute-in-bangalore\/\" target=\"_blank\" rel=\"noopener noreferrer\">Apache Spark Scala Training institute<\/a>.<\/p>\n<h2>Step by Step Kafka setup for Spark Streaming<\/h2>\n<h3>Step 1:Download Kafka from this link<\/h3>\n<p>Download the current Kafka release from the official Apache Kafka downloads page, kafka.apache.org\/downloads, rather than an old, specific version link, since Kafka releases move forward and a hardcoded old version will eventually point at software nobody should still be installing.<\/p>\n<h3>Step 2: Extract Kafka and Enter Its Directory<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-655\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/1-4.png\" alt=\"Spark Streaming Kafka Tutorial\" width=\"850\" height=\"51\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/1-4.png 552w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/1-4-300x18.png 300w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><\/p>\n<p>Move into the extracted folder using cd, matching whatever version folder name you actually downloaded.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-656\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/2-4.png\" alt=\"Spark Streaming Kafka Tutorial commamds\" width=\"850\" height=\"44\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/2-4.png 599w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/2-4-300x16.png 300w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><\/p>\n<h3>Step 4:Open a terminal and run<\/h3>\n<p><strong>bin\/zookeeper-server-start.shconfig\/zookeeper.properties<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-657\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/3-4.png\" alt=\"Spark Streaming Kafka \" width=\"850\" height=\"160\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/3-4.png 601w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/3-4-300x56.png 300w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><\/p>\n<h3>Step 5:Open another terminal and run<\/h3>\n<p>bin\/Kafka-server-start.shconfig\/server.properties<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-658\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/4-3.png\" alt=\"Spark Streaming Kafka Tutorial 4\" width=\"850\" height=\"61\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/4-3.png 598w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/4-3-300x22.png 300w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><\/p>\n<h3>Step 6:Open another terminal and run<\/h3>\n<p>bin\/Kafka-topics.sh &#8211;create &#8211;zookeeper localhost:2181 &#8211;replication-factor 1 &#8211;partitions 1 &#8211;topic test2<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-659\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/5-2.png\" alt=\"apache Spark Streaming Kafka Tutorial \" width=\"850\" height=\"62\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/5-2.png 599w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/5-2-300x22.png 300w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><\/p>\n<p>bin\/Kafka-topics.sh &#8211;list &#8211;zookeeper localhost:2181 test2<\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-660\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/6-2.png\" alt=\"Spark Streaming Kafka Tutorial for beginners\" width=\"850\" height=\"47\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/6-2.png 602w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/6-2-300x16.png 300w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><\/strong><\/p>\n<p>bin\/kafka-console-producer.sh &#8211;broker-list localhost:9092 &#8211;topic test2<\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-661\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/7-2.png\" alt=\"Spark Streaming Kafka Tutorial c0mmands 7\" width=\"850\" height=\"54\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/7-2.png 602w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/7-2-300x19.png 300w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><\/strong><\/p>\n<p><strong>Hello World<\/strong><\/p>\n<p><strong>Hello India<\/strong><\/p>\n<h3>Step 7:Open another terminal and run<\/h3>\n<p>bin\/Kafka-console-consumer.sh \u2013bootstrap-server localhost:9092 &#8211;topic test2 \u2013from-beginning<\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-662\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/8-2.png\" alt=\"open Spark Streaming Kafka Tutorial \" width=\"850\" height=\"53\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/8-2.png 604w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/8-2-300x19.png 300w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><\/strong><\/p>\n<p>Whatever is typed in producer prompt, will be shown here<\/p>\n<p><strong>HelloWorld<\/strong><\/p>\n<p><strong>HelloIndia<\/strong><\/p>\n<h2>Reading Kafka Data Into Spark With Structured Streaming<\/h2>\n<p>With Kafka running and a topic receiving messages, Spark can read from it directly using Structured Streaming, the current recommended API for stream processing in Spark. The older Spark Streaming API, based on DStreams, still exists but is treated as a legacy engine in Spark&#8217;s own documentation, so new work should use Structured Streaming instead.<\/p>\n<p>val kafkaStream = spark.readStream<br \/>\n.format(&#8220;kafka&#8221;)<br \/>\n.option(&#8220;kafka.bootstrap.servers&#8221;, &#8220;localhost:9092&#8221;)<br \/>\n.option(&#8220;subscribe&#8221;, &#8220;test2&#8221;)<br \/>\n.load()<\/p>\n<p>val messages = kafkaStream.selectExpr(&#8220;CAST(value AS STRING)&#8221;)<\/p>\n<p>val query = messages.writeStream<br \/>\n.format(&#8220;console&#8221;)<br \/>\n.start()<\/p>\n<p>query.awaitTermination()<\/p>\n<p>This subscribes to the test2 topic created above, casts each message&#8217;s value from raw bytes into a readable string, and prints incoming messages to the console as they arrive. Try running this while a producer is sending messages in another terminal, and you should see each one appear in Spark&#8217;s output shortly after you type it.<\/p>\n<h2>Common Mistakes to Avoid<\/h2>\n<ul>\n<li>Following the ZooKeeper startup steps from an old tutorial on a freshly downloaded, current Kafka install. ZooKeeper mode is gone as of Kafka 4.0, so start with the storage format and server start commands instead.<\/li>\n<li>Copying commands from a page or slide that used an en dash instead of a real double hyphen. If a command fails immediately with an unrecognized option error, retype the flags rather than assuming the command itself is wrong.<\/li>\n<li>Assuming Spark Streaming and Structured Streaming are the same thing. They are two different APIs. Spark Streaming refers specifically to the older DStream based engine, while Structured Streaming is the newer DataFrame based one that current documentation recommends.<\/li>\n<\/ul>\n<p>That covers getting Kafka running and reading its messages into Spark using Structured Streaming. To go further, explore <a href=\"https:\/\/prwatech.in\/apache-spark-training-institute-in-pune\/\"><strong><b>Prwatech&#8217;s Apache Spark training<\/b><\/strong><\/a>\u00a0program, which includes placement assistance.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Spark Streaming Kafka Tutorial: Spark Streaming with Kafka Spark streaming Kafka tutorial, In this tutorial, one can easily know the information about Kafka setup\u00a0 which is available and are used by most of the Spark developers. Are you dreaming to become to certified Pro Spark Developer, then stop just dreaming, get your Apache Spark Scala [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21,1692],"tags":[746,857,747,750,302,776,859,860,858,301],"class_list":["post-654","post","type-post","status-publish","format-standard","hentry","category-apache-spark","category-apache-spark-kafka","tag-kafka","tag-kafka-install-ubuntu","tag-kafka-installation","tag-kafka-setup","tag-kafka-setup-for-spark-streaming","tag-kafka-streaming","tag-kafka-streaming-using-spark","tag-spark-kafka-streaming","tag-spark-streaming-in-kafka","tag-spark-streaming-kafka-tutorial"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Spark Streaming Kafka Tutorial: Setup and Integration<\/title>\n<meta name=\"description\" content=\"Set up Kafka for Spark, updated for current KRaft based Kafka, plus a working Structured Streaming example to read live data from a topic. Step by step process\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spark Streaming Kafka Tutorial: Setup and Integration\" \/>\n<meta property=\"og:description\" content=\"Set up Kafka for Spark, updated for current KRaft based Kafka, plus a working Structured Streaming example to read live data from a topic. Step by step process\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"Prwatech\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prwatech.in\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-13T11:25:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-14T16:10:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/1-4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"552\" \/>\n\t<meta property=\"og:image:height\" content=\"33\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Prwatech\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Eduprwatech\" \/>\n<meta name=\"twitter:site\" content=\"@Eduprwatech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prwatech\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/\",\"url\":\"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/\",\"name\":\"Spark Streaming Kafka Tutorial: Setup and Integration\",\"isPartOf\":{\"@id\":\"https:\/\/prwatech.in\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/1-4.png\",\"datePublished\":\"2026-09-13T11:25:07+00:00\",\"dateModified\":\"2026-09-14T16:10:44+00:00\",\"author\":{\"@id\":\"https:\/\/prwatech.in\/blog\/#\/schema\/person\/db90baff7744090b2288bbc98fea87f3\"},\"description\":\"Set up Kafka for Spark, updated for current KRaft based Kafka, plus a working Structured Streaming example to read live data from a topic. Step by step process\",\"breadcrumb\":{\"@id\":\"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/#primaryimage\",\"url\":\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/1-4.png\",\"contentUrl\":\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/1-4.png\",\"width\":552,\"height\":33},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/prwatech.in\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spark Streaming Kafka Tutorial\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/prwatech.in\/blog\/#website\",\"url\":\"https:\/\/prwatech.in\/blog\/\",\"name\":\"Prwatech\",\"description\":\"Share Ideas, Start Something Good.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/prwatech.in\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/prwatech.in\/blog\/#\/schema\/person\/db90baff7744090b2288bbc98fea87f3\",\"name\":\"Prwatech\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prwatech.in\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c00bafc1b04045f31eda917de39891456c44fa47c092b9bb6be0f860a3a30a2f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c00bafc1b04045f31eda917de39891456c44fa47c092b9bb6be0f860a3a30a2f?s=96&d=mm&r=g\",\"caption\":\"Prwatech\"},\"url\":\"https:\/\/prwatech.in\/blog\/author\/prwatech123\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spark Streaming Kafka Tutorial: Setup and Integration","description":"Set up Kafka for Spark, updated for current KRaft based Kafka, plus a working Structured Streaming example to read live data from a topic. Step by step process","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Spark Streaming Kafka Tutorial: Setup and Integration","og_description":"Set up Kafka for Spark, updated for current KRaft based Kafka, plus a working Structured Streaming example to read live data from a topic. Step by step process","og_url":"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/","og_site_name":"Prwatech","article_publisher":"https:\/\/www.facebook.com\/prwatech.in\/","article_published_time":"2026-09-13T11:25:07+00:00","article_modified_time":"2026-09-14T16:10:44+00:00","og_image":[{"width":552,"height":33,"url":"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/1-4.png","type":"image\/png"}],"author":"Prwatech","twitter_card":"summary_large_image","twitter_creator":"@Eduprwatech","twitter_site":"@Eduprwatech","twitter_misc":{"Written by":"Prwatech","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/","url":"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/","name":"Spark Streaming Kafka Tutorial: Setup and Integration","isPartOf":{"@id":"https:\/\/prwatech.in\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/1-4.png","datePublished":"2026-09-13T11:25:07+00:00","dateModified":"2026-09-14T16:10:44+00:00","author":{"@id":"https:\/\/prwatech.in\/blog\/#\/schema\/person\/db90baff7744090b2288bbc98fea87f3"},"description":"Set up Kafka for Spark, updated for current KRaft based Kafka, plus a working Structured Streaming example to read live data from a topic. Step by step process","breadcrumb":{"@id":"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/#primaryimage","url":"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/1-4.png","contentUrl":"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2019\/03\/1-4.png","width":552,"height":33},{"@type":"BreadcrumbList","@id":"https:\/\/prwatech.in\/blog\/apache-spark\/apache-spark-kafka\/spark-streaming-kafka-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/prwatech.in\/blog\/"},{"@type":"ListItem","position":2,"name":"Spark Streaming Kafka Tutorial"}]},{"@type":"WebSite","@id":"https:\/\/prwatech.in\/blog\/#website","url":"https:\/\/prwatech.in\/blog\/","name":"Prwatech","description":"Share Ideas, Start Something Good.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/prwatech.in\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/prwatech.in\/blog\/#\/schema\/person\/db90baff7744090b2288bbc98fea87f3","name":"Prwatech","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prwatech.in\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c00bafc1b04045f31eda917de39891456c44fa47c092b9bb6be0f860a3a30a2f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c00bafc1b04045f31eda917de39891456c44fa47c092b9bb6be0f860a3a30a2f?s=96&d=mm&r=g","caption":"Prwatech"},"url":"https:\/\/prwatech.in\/blog\/author\/prwatech123\/"}]}},"_links":{"self":[{"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/posts\/654","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/comments?post=654"}],"version-history":[{"count":20,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/posts\/654\/revisions"}],"predecessor-version":[{"id":11758,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/posts\/654\/revisions\/11758"}],"wp:attachment":[{"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/media?parent=654"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/categories?post=654"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/tags?post=654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}