The articles below are published under my name. I've also ghostwritten many more for web scraping and data companies. Those aren't public, but I can share samples.
- Best AI tools for small business: 8 affordable picks by job
- Model collapse: why AI models degrade and how to prevent it
- How to do question answering from a PDF with Python and RAG
- AI agent vs. MCP server: which one should you build?
- How to ground a LlamaIndex RAG app in fresh web data
- Clutch.co data: how to collect it and what it reveals about agency rankings
- How AI agents use competitor data (and how to build one)
- AI agent infrastructure stack: from web data to retrieval
- Bing rank tracker: 3 ways to check your rankings
- AI Overviews optimization: get cited, not just ranked
- Measure LLM brand visibility: a data-driven approach
- Build your own ad monitoring tool with Apify in a day
- Real-time compensation benchmarking: A hands-on guide
- Talent market intelligence: A hands-on guide for recruiters
- TikTok lead generation: organic, paid, and scraping compared
- YouTube trending topics: How to track what's going viral
- How to use the Google Maps API in Python
- Go vs. Python: pros and cons
- How to build a Python web crawler step-by-step
- How to scrape Google Maps data using Python
- Find elements in Selenium
- How to scrape Google Finance
- How to scrape Yahoo Finance
- How to parse XML
- Python cache: a complete guide
- Python lxml tutorial
- How to handle timeouts in Python Requests
- Python dictionaries: a comprehensive guide for devs
- How to post JSON data with Python Requests
- How to save an image with Python
- Python tuple vs. list
- How to parse HTML in Python with PyQuery or Beautiful Soup
- How to use the Discord API in Python
- How to use the GitHub API in Python
- How to use Python to connect and interact with APIs
- DSPy MCP Server: Build a Web Research Agent with Bright Data
- Cherry Studio MCP Tutorial: Add Bright Data for Web Search and Scraping
- Microsoft Agent Framework MCP Server: Add Live Web Search and Scraping with Bright Data
- Bright Data vs. Parallel: Which Web Search API Is Right for Your AI Agent?
- Claude Code Routines: Schedule Daily Web Monitoring with Bright Data
- Is There a Google Search API? Options After Custom Search
- How to Scrape AliExpress Data at Scale
- How to Scrape Target Products at Scale
- How to Scrape ZoomInfo at Scale
- How to Scrape Yahoo Finance in Python
- How to Scrape Walmart at Scale
- How to Scrape Yelp in Python: Businesses and Reviews
- How to Scrape Zillow Without Missing Data
- How to Scrape Naver Shopping and SmartStore Data
- How to Bypass Kasada in 2026
- Auto parts and tire data: pricing, fitment, product matching, and market coverage
- How to Scrape Etsy: 2026 Guide
- How to Scrape Pinterest in 2026
- Giving self-hosted MiniMax M3 agents live web access with Bright Data
- Cursor + Bright Data vs a default coding agent setup: building a real price tracker
- How to feed Amazon Bedrock Knowledge Bases with live web data using Bright Data
- Internet Archive vs Common Crawl vs web archive
- Building Production AI Agents with TrueForge + Bright Data MCP
- Build a Semantic Job Search Engine with Bright Data, LanceDB, and Cohere
- Running Amazon Nova Act agents in production with Bright Data
- Build Web Scrapers from a Prompt with Kiro and Bright Data
- Build an account research agent in Salesforce Agentforce with Bright Data
- Web Scraping with Scrapling: A Python Tutorial (2026)
- Search APIs vs. Knowledge Supply Chains: Why Enterprise Agents Need More Than Just Search
- How to Build a RAG Pipeline with Bright Data and Weaviate
- 6 Ways to Connect Live Web Data to Tableau (2026)
- Build an AI Web Scraping Agent with Nanobot and Bright Data
- Google Search URL Parameters & Operators: 2026 List (50+)
- How to Build an Amazon Pipeline with Bright Data + Mage AI
- Best LinkedIn Data Providers: Choosing the Right Solution in 2026
- Building an AI-Powered Amazon Product Analyzer with Bright Data, Gemini, and Streamlit
- AI Data Mapping: A Complete Guide
- AI Data Enrichment: Enhancing Data for Smarter Decisions
- How to Scrape Google AI Mode: Complete Guide
- How to Scrape NASDAQ Data: Step-by-Step Guide
- Building a Web Data Extraction App with Lovable, Supabase, and Bright Data
- Building Web Scraping Agents with CrewAI & Bright Data’s Model Context Protocol (MCP)
- Traditional Web Scraping vs. Model Context Protocol (MCP): The Developer’s Guide
- Building AI-Ready Vector Datasets for LLMs: A Guide with Bright Data, Google Gemini, and Pinecone
- Fine-Tuning Gemma 3: A Step-by-Step Guide with Custom Q&A Dataset
- Web Scraping With MCP Servers: A Step-by-Step Guide
- Top 7 Browser Automation Tools in 2026
- Web Scraping with LLaMA 3: Turn Any Website into Structured JSON (2026 Guide)
- How to Scrape Amazon ASIN With Python & Bright Data
- B2B Data Guide 2026: Sources, Types, Decay Prevention & Provider Selection
- How to Scrape Google Flights
- Geographical Pricing Explained
- How to Scrape Wikipedia With Python
- Most Popular Anti-Scraping Techniques in 2026
- Pagination in Web Scraping Guide
- How to Scrape Glassdoor: Step-By-Step Guide 2026
- Auto-Repairing Web Scraping: Self-Healing Selenium Workflows
- Playwright & Puppeteer on AWS Lambda: Serverless Scraping Guide
- Bots Block Bots: Why Anti-Bot Systems Flag LLM Browsers
- How to Build a Data Retriever With Dify AI Agents
- Undetected ChromeDriver in Python: 2026 Guide and Alternatives
- Nodriver Python Tutorial: Stealth Web Scraping in 2026
- How to scrape Google Trends with Python using ScrapingBee
- Zero-Shot E-Commerce Scraping: Call the LLM Last
- MCP servers for web scraping: carry control, not data
- Parsing TDMRep and AI.txt: Purpose-Based Scraping Controls
- Declarative Web Automation: Transitioning from CSS Selectors to ReAct Agent Loops
- How to Track Competitor Prices Using Web Scraping (Python Tutorial)
- Cloudflare Scraper: How to Bypass Cloudflare With ScrapingBee API
- How To Set Up A Rotating Proxy In Puppeteer
- How To Set Up A Rotating Proxy In Selenium With Python
- 10 Tips on How to make Python's Beautiful Soup faster when scraping
- Cloudscraper Python guide: Scrape Cloudflare sites step by step
- BeautifulSoup tutorial: Scraping web pages with Python
- How to bypass error 1005 'access denied, you have been banned' when scraping
- Scrapy Playwright Tutorial: How to Scrape Dynamic Websites
- Puppeteer Stealth Tutorial; How to Set Up & Use (+ Working Alternatives)
- How to Scrape Google Images
- How to Scrape Google Trends
- Automated Web Scraping with Python AutoScraper
- How to Scrape Google News
- How to Scrape Google Flights
- ScrapeGraphAI Tutorial - Scraping Websites with LLMs
- ScrapeGraphAI Tutorial - Getting Started with LLMs Web Scraping
- Avoid Detection with Puppeteer Stealth
- How to Make Playwright Scraping Undetectable
- Web Scraping with Playwright Series Part 4 - Avoid Getting Blocked
- Web Scraping with Playwright Series Part 3 - Storing Data
- Web Scraping with Playwright Series Part 2 - Building a Scraper
- Web Scraping with Playwright Series Part 1 - Getting Started
- Error 407 Proxy Authentication Required: Causes and Fixes
- Benchmarking Datacenter Proxies Under Concurrency
- How to Verify a Mobile Proxy's Carrier, ASN, and Location
- Scraper API Retry Handling for Production Pipelines
- Cross-Country Ecommerce Price Monitoring: How to Get and Prove Local Prices
- Scraper API vs. Scraping Browser: When to Use Each One
- Monitor website changes in Python without false alerts
- Python Web Crawler: How to Build One That Scales With Asyncio
- Kernel.sh Review 2026: Speed, Concurrency and Real Pricing
- Website Automation for Logged-In Accounts: 2026 Guide
- Cloudflare Browser Rendering: Benchmark, Limits & Cloud Alternatives
- Browser as a Service (BaaS): Architecture, Use Cases & 2026 Guide
- Browser Automation Tools 2026: Playwright vs Puppeteer
- Playwright Automation Tool in the Cloud: Setup & Benchmarks
Tutorials on Python, data science and JavaScript, including my first web scraping guides.
- Exponents in Python: A Comprehensive Guide for Beginners
- Pandas Profiling (ydata-profiling) in Python: A Guide for Beginners
- Pandas Reset Index Tutorial
- MongoDB Certification: A Complete Guide
- Adagrad Optimizer Explained: How It Works, Implementation, & Comparisons
- Data Analysis With Data-Forge
- Web Scraping With Node.Js And Cheerio
- Formatting Compact Numbers With JavaScript
- Step By Step: Toggling Elements Using React Hooks
- Scraping Web Pages With Puppeteer
My other software and CS articles are over in dev-articles.
To work together, email hello@doccraft.dev or find me on LinkedIn.
