{"id":1886,"date":"2025-06-05T20:40:13","date_gmt":"2025-06-05T15:10:13","guid":{"rendered":"https:\/\/geekpython.in\/?p=1886"},"modified":"2025-09-21T23:14:25","modified_gmt":"2025-09-21T17:44:25","slug":"brightdata-mcp","status":"publish","type":"post","link":"https:\/\/geekpython.in\/brightdata-mcp","title":{"rendered":"BrightData&#8217;s MCP Enables AI Agents Fetch Real-time Info"},"content":{"rendered":"\n<p>In the world of artificial intelligence, especially large language models (LLMs), there&#8217;s a quiet revolution happening. It&#8217;s called <strong>Model Context Protocol<\/strong>, or simply <strong>MCP<\/strong>. You may have encountered the term in AI communities or tool integrations, but what exactly is MCP, and why should you care?<\/p>\n\n\n\n<p>Let\u2019s break it down, step by step, and show you how this simple yet powerful concept is solving one of the biggest headaches in AI, which is accessing real-time web data.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<p class=\"responsive-video-wrap clr\"><iframe loading=\"lazy\" title=\"Make AI Agents Fetch Real-time Data using THIS Powerful MCP Server\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/x4dY81COaI0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What Is MCP (Model Context Protocol)?<\/h2>\n\n\n\n<p>Imagine you\u2019ve trained a brilliant AI that knows history, science, programming, and can even write poetry. But ask it what\u2019s trending on Twitter or what the latest YouTube comments are on a viral video, and you\u2019ll likely get outdated, static responses. Why? Because LLMs are not built for real-time web interaction out of the box.<\/p>\n\n\n\n<p>That\u2019s where <strong>MCP<\/strong> steps in.<\/p>\n\n\n\n<p><strong>MCP<\/strong> is an <strong>open standard<\/strong> that acts as a bridge between AI agents (like Claude, GPT, etc.) and real-time data sources like websites, APIs, or databases. Think of it as a universal translator that allows AI models to interact with the constantly-changing web securely and efficiently.<\/p>\n\n\n\n<p>Instead of hardcoding access to different websites or APIs, MCP standardizes the way AI tools request data. It makes live data scraping and interaction much more streamlined and predictable \u2014 no more breaking scripts or bot detection errors.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why Do LLMs Struggle with Real-Time Data?<\/h2>\n\n\n\n<p>Let\u2019s address the elephant in the room.<\/p>\n\n\n\n<p>LLMs like Claude, ChatGPT, and others are trained on massive datasets, but that training is <strong>static<\/strong>. This means the AI only knows what it was trained on. If you ask it for stock prices, breaking news, or fresh YouTube comments, it simply doesn\u2019t know. Even worse, if it tries to guess, it might give you hallucinated or flat-out wrong answers.<\/p>\n\n\n\n<p>Sure, you could plug in some APIs or attempt to write your own scraping scripts. But anyone who&#8217;s tried this knows how quickly you hit roadblocks:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>JavaScript rendering<\/strong><\/li>\n\n\n\n<li><strong>CAPTCHA and anti-bot detection<\/strong><\/li>\n\n\n\n<li><strong>Proxy rotation and management<\/strong><\/li>\n\n\n\n<li><strong>Data formatting inconsistencies<\/strong><\/li>\n\n\n\n<li><strong>Rate limits<\/strong><\/li>\n\n\n\n<li><strong>And much more&#8230;<\/strong><\/li>\n<\/ul>\n\n\n\n<p>To obtain a list of recent comments or product prices, you find yourself immediately immersed in backend development.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A Real-World Example: When LLMs Fail<\/h2>\n\n\n\n<p>Let me give you a quick example.<\/p>\n\n\n\n<p>I asked Claude to fetch the latest comments from a YouTube video. It understood the request just fine\u2026 but couldn\u2019t get the data. That\u2019s because it doesn\u2019t have native access to YouTube\u2019s dynamic content. Claude can only interpret requests, but it can\u2019t execute scraping logic on its own.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1363\" height=\"735\" src=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-6.png\" alt=\"\" class=\"wp-image-1893\" srcset=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-6.png 1363w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-6-300x162.png 300w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-6-1024x552.png 1024w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-6-768x414.png 768w\" sizes=\"auto, (max-width: 1363px) 100vw, 1363px\" \/><\/figure>\n\n\n\n<p>This is a classic scenario where even the smartest LLMs fall short without real-time access tools.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Building Your Own MCP? It\u2019s Harder Than It Looks<\/h2>\n\n\n\n<p>Technically, you can build your own MCP setup. You\u2019d need to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Set up a scraping infrastructure.<\/li>\n\n\n\n<li>Manage rotating proxies.<\/li>\n\n\n\n<li>Handle headless browser environments.<\/li>\n\n\n\n<li>Deal with dynamic web rendering.<\/li>\n\n\n\n<li>Write adapters to plug data into your AI agent.<\/li>\n<\/ul>\n\n\n\n<p>Sounds doable at first, right? But trust me, you\u2019ll soon find yourself debugging edge cases and fighting CAPTCHAs, all for a task that should feel simple. What starts as a weekend project quickly turns into a full-time scraping job.<\/p>\n\n\n\n<p>That\u2019s why most developers and AI researchers look for managed solutions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bright Data\u2019s MCP<\/h2>\n\n\n\n<p>This is where <strong>Bright Data\u2019s MCP<\/strong> changes the game.<\/p>\n\n\n\n<p>Bright Data, a leading data collection platform, has created a <strong>plug-and-play MCP service<\/strong> that gives your AI agent real-time access to the web without dealing with any of the complexity.<\/p>\n\n\n\n<p>Here\u2019s what it offers:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Unblockable access<\/strong> to websites like Amazon, YouTube, LinkedIn, Instagram, X (Twitter), Facebook, TikTok, Zillow, Reddit, and even Google.<\/li>\n\n\n\n<li><strong>Built-in proxy handling<\/strong> \u2013 no need to rotate or manage IPs.<\/li>\n\n\n\n<li><strong>Headless browser support<\/strong> \u2013 for rendering JavaScript-heavy pages.<\/li>\n\n\n\n<li><strong>Remote browser APIs<\/strong> \u2013 so your agent can interact with pages like a real user.<\/li>\n\n\n\n<li><strong>Plenty of ready-made scraping tools<\/strong> \u2013 for different websites and use cases.<\/li>\n<\/ul>\n\n\n\n<p>Everything is handled under the hood, and all you need to do is configure the access; no scraping code required.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Let\u2019s See It in Action<\/h2>\n\n\n\n<p>I ran the same prompt with more tasks using Bright Data\u2019s MCP: \u201cFetch the latest comments from a YouTube video and provide that data in a json file\u201d.<\/p>\n\n\n\n<p><strong>You can see that it worked and that too without any hassle.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1366\" height=\"733\" src=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-5.png\" alt=\"\" class=\"wp-image-1892\" srcset=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-5.png 1366w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-5-300x161.png 300w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-5-1024x549.png 1024w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-5-768x412.png 768w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/figure>\n\n\n\n<p>Behind the scenes, Bright Data\u2019s tools were doing all the heavy lifting: launching a browser, unlocking the page, pulling the data, formatting it, and sending it back to the AI agent.<\/p>\n\n\n\n<p>No errors. No retries. Just results.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Integrate Bright Data\u2019s MCP with Claude Desktop<\/h2>\n\n\n\n<p>Okay, now let\u2019s go through how to actually <strong>connect Bright Data\u2019s MCP<\/strong> with Claude Desktop. It\u2019s simpler than you might think.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Install Node.js<\/h3>\n\n\n\n<p>Make sure <a href=\"https:\/\/nodejs.org\/en\/download\" target=\"_blank\" rel=\"noopener\">Node.js<\/a> is installed on your system. You\u2019ll need the <code>npx<\/code> command to run the MCP server.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Create a Bright Data Account<\/h3>\n\n\n\n<p>Head over to <a href=\"https:\/\/brightdata.com\" target=\"_blank\" rel=\"noopener\">Bright Data<\/a> and sign up. Once your account is ready, log in to the user dashboard.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1345\" height=\"649\" src=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-4.png\" alt=\"\" class=\"wp-image-1891\" srcset=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-4.png 1345w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-4-300x145.png 300w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-4-1024x494.png 1024w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-4-768x371.png 768w\" sizes=\"auto, (max-width: 1345px) 100vw, 1345px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Prepare the Claude Desktop Configuration<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the Claude desktop app.<\/li>\n\n\n\n<li>Click on <strong>File<\/strong> \u2192 <strong>Settings<\/strong> \u2192 <strong>Developer<\/strong> \u2192 <strong>Edit File<\/strong>.<\/li>\n\n\n\n<li>This opens a file named <code>claude-desktop-config.json<\/code>.<\/li>\n\n\n\n<li>Open it in your favorite text editor.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Add MCP Configuration<\/h3>\n\n\n\n<p>Now, go to the <a href=\"https:\/\/github.com\/brightdata-com\/brightdata-mcp\" target=\"_blank\" rel=\"noopener\">GitHub repository<\/a> provided by Bright Data and copy the MCP config code.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"873\" height=\"335\" src=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-3.png\" alt=\"\" class=\"wp-image-1890\" srcset=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-3.png 873w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-3-300x115.png 300w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-3-768x295.png 768w\" sizes=\"auto, (max-width: 873px) 100vw, 873px\" \/><\/figure>\n\n\n\n<p>Paste that into the <code>claude-desktop-config.json<\/code> file.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1366\" height=\"736\" src=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-2.png\" alt=\"\" class=\"wp-image-1889\" srcset=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-2.png 1366w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-2-300x162.png 300w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-2-1024x552.png 1024w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-2-768x414.png 768w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Insert Your Real MCP Credentials<\/h3>\n\n\n\n<p>Once you\u2019ve pasted the configuration block into the <code>claude-desktop-config.json<\/code> file, it\u2019s time to replace the placeholders with your actual values. This is what will connect your Claude Desktop app to Bright Data\u2019s MCP system.<\/p>\n\n\n\n<p>Here\u2019s how to do it:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Head to Your Bright Data Dashboard<\/strong><br>Log in to your Bright Data account and navigate to the <strong>Proxies &amp; Scraping<\/strong> section. This is where you\u2019ll manage the tools needed to enable real-time scraping.<img decoding=\"async\" src=\"https:\/\/cdn.hashnode.com\/res\/hashnode\/image\/upload\/v1748617967029\/f8dad76c-ddab-4d82-bc13-d1458f5e7ba7.png\" alt=\"\"><\/li>\n\n\n\n<li><strong>Create a Scraping Zone<\/strong><br>Click the <strong>\u201cAdd\u201d<\/strong> button and choose <strong>\u201cWeb Unlocker API\u201d<\/strong> as your tool. Once created, you\u2019ll see a dashboard showing your new zone.<img decoding=\"async\" src=\"https:\/\/cdn.hashnode.com\/res\/hashnode\/image\/upload\/v1748618177539\/03184f5d-5bd9-4486-974c-b29659dab3c9.png\" alt=\"\"><\/li>\n\n\n\n<li><strong>Copy the API Key<\/strong><br>You\u2019ll find your <strong>API key<\/strong> in the \u201cAccount Settings\u201d section. Alternatively, Bright Data may have emailed it to you when you signed up. Either way, copy this key and paste it into the relevant <code>\"API_TOKEN\"<\/code> field in your config file.<img decoding=\"async\" src=\"https:\/\/cdn.hashnode.com\/res\/hashnode\/image\/upload\/v1748618631029\/0c7ea15a-535b-4f32-9a44-aa1851c2f81e.png\" alt=\"\"><\/li>\n\n\n\n<li><strong>Add the Web Unlocker Zone Name<\/strong><br>Still in your dashboard, find the name of the <strong>Web Unlocker zone<\/strong> you just created. Copy it and paste it into the <code>\"WEB_UNLOCKER_ZONE\"<\/code> field in your configuration.<img decoding=\"async\" src=\"https:\/\/cdn.hashnode.com\/res\/hashnode\/image\/upload\/v1748619471993\/11291ac4-293d-4218-858a-15df9c08c70c.png\" alt=\"\"><\/li>\n\n\n\n<li><strong>Enable Remote Browsing with Browser API<\/strong><br>Want to supercharge your scraping setup with headless browser access? You can!<br>Just add a <strong>Browser API<\/strong> by clicking \u201cBrowser API\u201d in the \u201cAdd\u201d section.<img decoding=\"async\" src=\"https:\/\/cdn.hashnode.com\/res\/hashnode\/image\/upload\/v1748620737332\/1f67d3b7-f102-433e-8d5a-8df115bfb7f0.png\" alt=\"\">\n<ul class=\"wp-block-list\">\n<li>Give it a name \u2014 something like <code>my-browser-api<\/code>.<\/li>\n\n\n\n<li>After it&#8217;s created, you\u2019ll see a string.<\/li>\n\n\n\n<li>Copy just the key part (not the full URL) and paste it into the <code>\"BROWSER_AUTH\"<\/code> field in your config.<\/li>\n\n\n\n<li><img decoding=\"async\" src=\"https:\/\/cdn.hashnode.com\/res\/hashnode\/image\/upload\/v1748620883182\/4c2c35a8-064f-4d26-bd7f-90ba28ef6062.png\" alt=\"\"><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>This optional step enables your AI agent to interact with websites that require full browser emulation, which is perfect for scraping JavaScript-heavy pages or logging into websites.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: Restart Claude<\/h3>\n\n\n\n<p>Save the configuration file, quit Claude Desktop, and restart the app.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1363\" height=\"735\" src=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-1.png\" alt=\"\" class=\"wp-image-1888\" srcset=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-1.png 1363w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-1-300x162.png 300w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-1-1024x552.png 1024w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-1-768x414.png 768w\" sizes=\"auto, (max-width: 1363px) 100vw, 1363px\" \/><\/figure>\n\n\n\n<p>Once you open it again, you\u2019ll see that all Bright Data MCP tools are now available to use directly within Claude. That\u2019s it, now you\u2019re ready to start scraping real-time web data with zero friction.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1363\" height=\"735\" src=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image.png\" alt=\"BrightData tools\" class=\"wp-image-1887\" srcset=\"https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image.png 1363w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-300x162.png 300w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-1024x552.png 1024w, https:\/\/geekpython.in\/wp-content\/uploads\/2025\/05\/image-768x414.png 768w\" sizes=\"auto, (max-width: 1363px) 100vw, 1363px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">The Big Picture<\/h2>\n\n\n\n<p>The MCP isn\u2019t just another API \u2014 it\u2019s a protocol that aims to standardize how AI tools interact with dynamic data sources. And with platforms like Bright Data offering powerful plug-and-play integrations, you can start building real-time, context-aware agents without worrying about the plumbing.<\/p>\n\n\n\n<p>Instead of writing your own scrapers, debugging browser sessions, or juggling proxies, you can focus on what matters: creating intelligent workflows that adapt to live information.<\/p>\n\n\n\n<p>Whether you&#8217;re working on:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Competitive intelligence<\/li>\n\n\n\n<li>Social media monitoring<\/li>\n\n\n\n<li>Real-time news summaries<\/li>\n\n\n\n<li>E-commerce pricing trackers<\/li>\n\n\n\n<li>AI research assistants<\/li>\n<\/ul>\n\n\n\n<p>&#8230;MCP opens up a whole new world of possibilities.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Large Language Models are impressive \u2014 but without live data, they\u2019re limited. <strong>MCP is the missing puzzle piece<\/strong>, and Bright Data\u2019s implementation makes it incredibly easy to adopt.<\/p>\n\n\n\n<p>If you&#8217;re tired of watching your AI fumble on basic real-time tasks, give MCP a shot. It\u2019s fast, powerful, and surprisingly easy to set up. And if you&#8217;re using Claude Desktop, the whole thing takes under 10 minutes to integrate.<\/p>\n\n\n\n<p>Your AI just got a whole lot smarter.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>That\u2019s all for now.<\/strong><\/p>\n\n\n\n<p><strong>Keep Coding\u270c\u270c<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the world of artificial intelligence, especially large language models (LLMs), there&#8217;s a quiet revolution happening. It&#8217;s called Model Context Protocol, or simply MCP. You may have encountered the term in AI communities or tool integrations, but what exactly is MCP, and why should you care? Let\u2019s break it down, step by step, and show [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1897,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"on","ocean_gallery_id":[],"footnotes":""},"categories":[71,45],"tags":[],"class_list":["post-1886","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-misc","category-web-scraping","entry","has-media"],"_links":{"self":[{"href":"https:\/\/geekpython.in\/wp-json\/wp\/v2\/posts\/1886","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geekpython.in\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/geekpython.in\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/geekpython.in\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/geekpython.in\/wp-json\/wp\/v2\/comments?post=1886"}],"version-history":[{"count":4,"href":"https:\/\/geekpython.in\/wp-json\/wp\/v2\/posts\/1886\/revisions"}],"predecessor-version":[{"id":1900,"href":"https:\/\/geekpython.in\/wp-json\/wp\/v2\/posts\/1886\/revisions\/1900"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/geekpython.in\/wp-json\/wp\/v2\/media\/1897"}],"wp:attachment":[{"href":"https:\/\/geekpython.in\/wp-json\/wp\/v2\/media?parent=1886"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/geekpython.in\/wp-json\/wp\/v2\/categories?post=1886"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/geekpython.in\/wp-json\/wp\/v2\/tags?post=1886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}