{"id":23103,"date":"2020-09-23T23:07:30","date_gmt":"2020-09-24T06:07:30","guid":{"rendered":"https:\/\/careerkarma.com\/blog\/?p=23103"},"modified":"2023-12-01T04:00:21","modified_gmt":"2023-12-01T12:00:21","slug":"graphql-vs-rest","status":"publish","type":"post","link":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/","title":{"rendered":"GraphQL vs. REST: A Guide"},"content":{"rendered":"\n<p>With the growth of the internet, <a href=\"https:\/\/careerkarma.com\/blog\/what-is-an-api\/\">interest in APIs has skyrocketed<\/a>. &nbsp;Application programming interfaces (APIs) let developers build their own tools upon existing platforms. You can use the Spotify API, for instance, to build programs that can use data on your listening habits and the songs you have listened to most.<br><\/p>\n\n\n\n<p>APIs also help developers write different versions of their platform. With an API, the backend of a service can be standardized. Mobile apps, embedded apps, and web apps can all funnel their requests to the back-end without each having to deal with their own back-end. This reduces repetition across a codebase and helps to maintain consistency.<br><\/p>\n\n\n\n<p>Two popular methods of serving data over an API are GraphQL and REST. In this guide, we discuss what GraphQL and REST are, the advantages of each technology, and why you may want to opt for GraphQL over REST.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is REST?<\/h2>\n\n\n\n<p>REST, which is short for <a href=\"https:\/\/careerkarma.com\/blog\/restful-api\/\">Representational State Transfer<\/a>, is a standard method of communicating data on the web. REST divides a web service into two components: the client and the server.<br><\/p>\n\n\n\n<p>Because these two services are divided, you can modify an application client without impacting the back-end. You just need to communicate the right information.<br><\/p>\n\n\n\n<p>REST divides an API into endpoints, such as \/api\/user. These endpoints each have their own functions. One endpoint may display user information. Another endpoint may let a user update their information on a web service.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is GraphQL?<\/h2>\n\n\n\n<p><a href=\"https:\/\/careerkarma.com\/subjects\/best-graphql-bootcamps\/\">GraphQL<\/a> is technically a query language that runs on top of an API. It connects with the back-end code you have already written to provide a new way of communicating data across web services. GraphQL is not a database technology or a back-end in itself.<br><\/p>\n\n\n\n<p>GraphQL lets you execute queries on a dataset. These GraphQL queries, like a SQL query, can be customized to your exact needs. This architecture means you can retrieve and send only the exact data you need for your application to work.<br><\/p>\n\n\n\n<p>GraphQL gives developers more control over their data. Using GraphQL, a developer can query specific pieces of data, and bundle multiple queries into one. This makes it easier to see what data an application is consuming and cuts down on querying unnecessary data.<br><\/p>\n\n\n\n<p>GraphQL is an open-source technology.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">GraphQL vs. REST<\/h2>\n\n\n\n<p>Both GraphQL and REST are methods of communicating data across web services.<br><\/p>\n\n\n\n<p>REST is a standard set of software principles that governs how to share data over an API. GraphQL, on the other hand, is a server-side technology that goes on top of an existing API to make data more accessible.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Retrieving Data<\/h3>\n\n\n\n<p>GraphQL and REST APIs send data in different ways. In a typical REST API, you may have an endpoint to retrieve an asset:<br><\/p>\n\n\n\n<p><code>\/posts\/:id<br><\/code><\/p>\n\n\n\n<p>This endpoint would return information about a particular post. To retrieve comments for that post, you may need to query another endpoint:<br><\/p>\n\n\n\n<p><code>\/posts\/:id\/comments<br><\/code><\/p>\n\n\n\n<p>This means you need to make two web requests instead of one to retrieve the data you need. With GraphQL, this is not a problem. GraphQL lets you send a single query that contains all of the data you need to retrieve form a server:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>query {\n\tPost(id: &quot;1&quot;) {\n\t\ttitle\n\t\tcomments {\n\t\t\tid\n\t\t\tbody\n\t\t}\n\t}\n}\n<\/pre><\/div>\n\n\n\n<p>query {<\/p>\n\n\n\n<p>Let\u2019s read through our query. We are retrieving information from a Post object. This object represents a post on our API. We retrieve the title of the post.<br><\/p>\n\n\n\n<p>Then, we retrieve a list of the comments that are associated with that post. There is a relationship between \u201ccomments\u201d and the Post that we are querying. This query lets us retrieve the title of our post and all the comments in only one query.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Unnecessary Fetching<\/h3>\n\n\n\n<p>Have you ever fetched data using an API call and thought to yourself \u201cI don&#8217;t need all of this data. I just need one piece. Why do I have to download all this unnecessary data?\u201d<br><\/p>\n\n\n\n<p>You are not alone. This is a thought that many developers have in their career. This problem arises because REST locks you into specific endpoints. If you want to retrieve additional data that is not supported by a specific endpoint, you have to write another query to retrieve the data you need.<br><\/p>\n\n\n\n<p>REST APIs can only accommodate sending data over endpoints. This means a developer needs to architect an endpoint before they can make their data available. As a result, the data a server sends over is what the developer who wrote the API has decided it should send. This may not necessarily align with the data that you want to retrieve.<br><\/p>\n\n\n\n<p>Say that you want to retrieve a list of usernames. Using REST, you may have an endpoint:<br><\/p>\n\n\n\n<p><code>\/api\/users<br><\/code><\/p>\n\n\n\n<p>This endpoint returns a list of all users. It shows the day a user signed up to the platform, the email addresses of each user, and more. But our application only wants a list of usernames. With GraphQL, we can retrieve this information specifically:<br><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>query {\n\tUser {\n\t\tusername\n\t}\n}\n<\/pre><\/div>\n\n\n\n<p>In this query, we only fetch the usernames of our users. We don\u2019t fetch any data we do not need to retrieve.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">GraphQL vs. REST: Which is Better?<\/h2>\n\n\n\n<p>There is no clear winner when it comes to GraphQL and REST.<br><\/p>\n\n\n\n<p>GraphQL is a more modern technology. It\u2019s much more flexible than REST because you can retrieve only the data that you need. What&#8217;s more, GraphQL lets you write queries.<br><\/p>\n\n\n\n<p>Queries are easier to read than API endpoints. Because you can write queries, it is easier to define a clear structure that defines what data you want to retrieve from an API. This behavior is possible because queries are written on the client-side, not the server side.<br><\/p>\n\n\n\n<p>With that said, REST has its own benefits. REST principles are clearly defined and the architecture has been around much longer than GraphQL. This means there is plenty of documentation to which you can refer as you build your API.<br><\/p>\n\n\n\n<p>REST has been successful in helping developers communicate information across the web. As a result of the REST architecture, developers now think in terms of APIs. This avoids the dreaded situation where each version of an application, such as a website, a mobile app, or a watch app, each interface with a back-end system on their own.&nbsp;<br><\/p>\n\n\n\n<p>GraphQL has its drawbacks. As queries get more complicated, the human-readability advantage of GraphQL can get lost. What\u2019s more, GraphQL comes with a lot of architectural overhead. For smaller applications, GraphQL may be more than you need.<br><\/p>\n\n\n\n<p>With a GraphQL API, design can happen on the <a href=\"https:\/\/careerkarma.com\/blog\/what-is-a-front-end-developer\/\">front-end<\/a>. This is because you can access data using queries and mutations. With a REST API, a web developer must write single endpoints that convey information. This all happens on the <a href=\"https:\/\/careerkarma.com\/blog\/what-is-back-end-development\/\">back-end<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>GraphQL is a good investment if you want more granular control over your data. Using queries, you can retrieve only the specific pieces of information you need.<br><\/p>\n\n\n\n<p>REST is better if you want to develop an API with a clearly defined standard that is recognized by most developers. Because GraphQL is still new, its adoption among developers is still nascent. Now you have the knowledge you need to make a clear comparison between GraphQL and REST.<br><\/p>\n","protected":false},"excerpt":{"rendered":"With the growth of the internet, interest in APIs has skyrocketed. &nbsp;Application programming interfaces (APIs) let developers build their own tools upon existing platforms. You can use the Spotify API, for instance, to build programs that can use data on your listening habits and the songs you have listened to most. APIs also help developers&hellip;","protected":false},"author":240,"featured_media":5157,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[50470],"tags":[],"class_list":{"0":"post-23103","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tech-guides"},"acf":{"post_sub_title":"","sprint_id":"","query_class":"Coding","school_sft":"","parent_sft":"","school_privacy_policy":"","has_review":null,"is_sponser_post":"","is_guest_post":[]},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>GraphQL vs. REST: full Guide | Career Karma<\/title>\n<meta name=\"description\" content=\"Learn more about difference between GraphQl and REST API. What is REST? What is QraphQl?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GraphQL vs. REST: A Guide\" \/>\n<meta property=\"og:description\" content=\"Learn more about difference between GraphQl and REST API. What is REST? What is QraphQl?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/\" \/>\n<meta property=\"og:site_name\" content=\"Career Karma\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/facebook.com\/careerkarmaapp\" \/>\n<meta property=\"article:published_time\" content=\"2020-09-24T06:07:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-01T12:00:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"667\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"James Gallagher\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@career_karma\" \/>\n<meta name=\"twitter:site\" content=\"@career_karma\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"James Gallagher\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/\"},\"author\":{\"name\":\"James Gallagher\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#\\\/schema\\\/person\\\/e79364792443fbff794a144c67ec8e94\"},\"headline\":\"GraphQL vs. REST: A Guide\",\"datePublished\":\"2020-09-24T06:07:30+00:00\",\"dateModified\":\"2023-12-01T12:00:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/\"},\"wordCount\":1188,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/safar-safarov-MSN8TFhJ0is-unsplash.jpg\",\"articleSection\":[\"Tech Guides\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/\",\"name\":\"GraphQL vs. REST: full Guide | Career Karma\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/safar-safarov-MSN8TFhJ0is-unsplash.jpg\",\"datePublished\":\"2020-09-24T06:07:30+00:00\",\"dateModified\":\"2023-12-01T12:00:21+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#\\\/schema\\\/person\\\/e79364792443fbff794a144c67ec8e94\"},\"description\":\"Learn more about difference between GraphQl and REST API. What is REST? What is QraphQl?\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/#primaryimage\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/safar-safarov-MSN8TFhJ0is-unsplash.jpg\",\"contentUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/safar-safarov-MSN8TFhJ0is-unsplash.jpg\",\"width\":1000,\"height\":667,\"caption\":\"Laptop with code on screen sitting on desk next to potted plants\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/graphql-vs-rest\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Coding\",\"item\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/code\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"GraphQL vs. REST: A Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/\",\"name\":\"Career Karma\",\"description\":\"Latest Coding Bootcamp News &amp; Career Hacks from Industry Insiders\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#\\\/schema\\\/person\\\/e79364792443fbff794a144c67ec8e94\",\"name\":\"James Gallagher\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/james-gallagher-150x150.jpg\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/james-gallagher-150x150.jpg\",\"contentUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/james-gallagher-150x150.jpg\",\"caption\":\"James Gallagher\"},\"description\":\"James Gallagher is a self-taught programmer and the technical content manager at Career Karma. He has experience in range of programming languages and extensive expertise in Python, HTML, CSS, and JavaScript. James has written hundreds of programming tutorials, and he frequently contributes to publications like Codecademy, Treehouse, Repl.it, Afrotech, and others.\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/author\\\/jamesgallagher\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"GraphQL vs. REST: full Guide | Career Karma","description":"Learn more about difference between GraphQl and REST API. What is REST? What is QraphQl?","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:\/\/careerkarma.com\/blog\/graphql-vs-rest\/","og_locale":"en_US","og_type":"article","og_title":"GraphQL vs. REST: A Guide","og_description":"Learn more about difference between GraphQl and REST API. What is REST? What is QraphQl?","og_url":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/","og_site_name":"Career Karma","article_publisher":"http:\/\/facebook.com\/careerkarmaapp","article_published_time":"2020-09-24T06:07:30+00:00","article_modified_time":"2023-12-01T12:00:21+00:00","og_image":[{"width":1000,"height":667,"url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg","type":"image\/jpeg"}],"author":"James Gallagher","twitter_card":"summary_large_image","twitter_creator":"@career_karma","twitter_site":"@career_karma","twitter_misc":{"Written by":"James Gallagher","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/#article","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/"},"author":{"name":"James Gallagher","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"headline":"GraphQL vs. REST: A Guide","datePublished":"2020-09-24T06:07:30+00:00","dateModified":"2023-12-01T12:00:21+00:00","mainEntityOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/"},"wordCount":1188,"commentCount":0,"image":{"@id":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg","articleSection":["Tech Guides"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/","url":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/","name":"GraphQL vs. REST: full Guide | Career Karma","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/#primaryimage"},"image":{"@id":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg","datePublished":"2020-09-24T06:07:30+00:00","dateModified":"2023-12-01T12:00:21+00:00","author":{"@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"description":"Learn more about difference between GraphQl and REST API. What is REST? What is QraphQl?","breadcrumb":{"@id":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/#primaryimage","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2019\/08\/safar-safarov-MSN8TFhJ0is-unsplash.jpg","width":1000,"height":667,"caption":"Laptop with code on screen sitting on desk next to potted plants"},{"@type":"BreadcrumbList","@id":"https:\/\/careerkarma.com\/blog\/graphql-vs-rest\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/careerkarma.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Coding","item":"https:\/\/careerkarma.com\/blog\/code\/"},{"@type":"ListItem","position":3,"name":"GraphQL vs. REST: A Guide"}]},{"@type":"WebSite","@id":"https:\/\/careerkarma.com\/blog\/#website","url":"https:\/\/careerkarma.com\/blog\/","name":"Career Karma","description":"Latest Coding Bootcamp News &amp; Career Hacks from Industry Insiders","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/careerkarma.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94","name":"James Gallagher","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","caption":"James Gallagher"},"description":"James Gallagher is a self-taught programmer and the technical content manager at Career Karma. He has experience in range of programming languages and extensive expertise in Python, HTML, CSS, and JavaScript. James has written hundreds of programming tutorials, and he frequently contributes to publications like Codecademy, Treehouse, Repl.it, Afrotech, and others.","url":"https:\/\/careerkarma.com\/blog\/author\/jamesgallagher\/"}]}},"_links":{"self":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/23103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/users\/240"}],"replies":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/comments?post=23103"}],"version-history":[{"count":0,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/23103\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media\/5157"}],"wp:attachment":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media?parent=23103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/categories?post=23103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/tags?post=23103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}