<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://crawlengineer.com</loc>
<lastmod>2026-10-26T13:16:03.283Z</lastmod>
<changefreq>daily</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://crawlengineer.com/sections/anti-bot-challenges</loc>
<lastmod>2026-10-15T11:31:33.320Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://crawlengineer.com/sections/extraction-patterns</loc>
<lastmod>2026-10-20T12:36:14.427Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://crawlengineer.com/sections/scraping-architecture</loc>
<lastmod>2026-10-26T13:16:03.283Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://crawlengineer.com/sections/data-retrieval-apis</loc>
<lastmod>2026-09-30T17:35:58.111Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://crawlengineer.com/sections/data-infrastructure</loc>
<lastmod>2026-10-23T13:07:49.373Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://crawlengineer.com/sections/features</loc>
<lastmod>2026-09-10T16:26:23.508Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://crawlengineer.com/authors/deja-okonkwo</loc>
<lastmod>2026-10-26T13:16:03.283Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://crawlengineer.com/authors/tomasz-wierzbicki</loc>
<lastmod>2026-10-26T13:16:03.283Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://crawlengineer.com/authors/caleb-schreiber</loc>
<lastmod>2026-10-26T13:16:03.283Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://crawlengineer.com/authors/priya-nandakumar</loc>
<lastmod>2026-10-26T13:16:03.283Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/component-selection-tradeoffs-when-engineering-a-large-scale-web-scraping-pipeli</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/985e5c02-75be-4e84-b67d-7b2643ddcb52.jpeg</image:loc>
</image:image>
<lastmod>2026-10-26T13:16:03.283Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/etl-handoff-patterns-between-crawlers-and-warehouse-ingestion-layers</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/0688dc1a-e1d9-4ffa-97ea-82c0c05ae85c.jpeg</image:loc>
</image:image>
<lastmod>2026-10-24T11:50:45.943Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/scraping-api-pricing-models-compared-across-providers</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/9e3edfbf-0467-4a00-a05e-df1e5b9c5442.jpeg</image:loc>
</image:image>
<lastmod>2026-10-23T13:07:49.373Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/total-cost-of-ownership-for-self-hosted-web-scraping-infrastructure</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/2d6dd23b-aae0-402a-bc4e-80fcbf7d8f79.jpeg</image:loc>
</image:image>
<lastmod>2026-10-21T11:55:58.597Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/deduplication-and-normalization-of-extracted-web-records</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/48edbd12-e24a-465f-8706-a634d116df87.jpeg</image:loc>
</image:image>
<lastmod>2026-10-20T12:36:14.427Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/ai-assisted-extraction-for-inconsistent-page-layouts</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/7867271d-d2cd-4f17-8634-7c76e0159537.jpeg</image:loc>
</image:image>
<lastmod>2026-10-19T11:21:05.857Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/json-ld-and-structured-markup-extraction-from-web-pages</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/9b08a695-cab5-4f60-a073-f3b02ef0d001.jpeg</image:loc>
</image:image>
<lastmod>2026-10-17T11:31:58.666Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/handling-schema-drift-in-long-running-extraction-pipelines</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/a3be034e-dfa9-4b7b-b510-bccde889a250.jpeg</image:loc>
</image:image>
<lastmod>2026-10-16T11:56:04.663Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/evaluating-web-scraping-apis-on-javascript-rendering-fidelity-and-dom-completene</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/42fa75da-e88c-4dde-9a0c-ae96460353d6.jpeg</image:loc>
</image:image>
<lastmod>2026-10-15T11:31:33.320Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/extracting-structured-brand-data-from-company-websites</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/530cee84-154f-46a7-9dd5-958630e64a31.jpeg</image:loc>
</image:image>
<lastmod>2026-10-13T11:36:25.555Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/css-selector-vs-xpath-vs-ai-extraction-for-structured-data</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/64ea9df7-58ce-4ac0-8014-924e3fe75992.jpeg</image:loc>
</image:image>
<lastmod>2026-10-12T11:31:38.657Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/handling-pagination-and-infinite-scroll-in-extraction-pipelines</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/dab18b89-80f4-4c0b-8990-6f07d2a1ebfc.jpeg</image:loc>
</image:image>
<lastmod>2026-10-11T13:40:06.695Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/benchmarking-web-scraping-apis-under-real-anti-bot-pressure</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/b9d18c84-c0d4-45b0-96d2-54839e92f918.jpeg</image:loc>
</image:image>
<lastmod>2026-10-10T12:15:36.146Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/html-to-llm-ready-markdown-conversion-at-scale</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/fdbf24a1-0843-4ecb-9756-5010e8462598.jpeg</image:loc>
</image:image>
<lastmod>2026-10-09T12:35:36.320Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/json-schema-design-for-structured-web-data-extraction</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/ec19d9dc-e1d8-4321-a6f3-e46346c76ed4.jpeg</image:loc>
</image:image>
<lastmod>2026-10-08T12:30:35.522Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/rate-limit-detection-and-adaptive-throttling-in-scrapers</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/ae7a28d7-0529-4b17-b0d7-71e7e2bfaaaa.jpeg</image:loc>
</image:image>
<lastmod>2026-10-07T11:30:35.089Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/captcha-handling-strategies-for-automated-scrapers</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/61f7f8a2-b2b4-40ef-8208-c967bb4a3aeb.png</image:loc>
</image:image>
<lastmod>2026-10-06T12:40:33.104Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/rotating-proxy-architecture-for-high-volume-scraping</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/c3af1c78-1396-435e-a9ef-81300d7b81df.jpeg</image:loc>
</image:image>
<lastmod>2026-10-05T12:30:16.835Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/captcha-solving-services-in-production-scraping-systems</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/8aa45258-a9b5-4b69-936a-30d9ca258a9d.jpeg</image:loc>
</image:image>
<lastmod>2026-10-03T12:49:38.023Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/headless-browser-memory-and-crash-management-in-long-running-scrapers</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/d18054d2-e559-4e93-bdc9-b7b4aa2d6b23.jpeg</image:loc>
</image:image>
<lastmod>2026-10-02T13:46:10.141Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/web-data-api-authentication-and-secret-management-for-ai-pipelines</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/0ce4256d-0375-4869-a8c9-d288ea77abb0.jpeg</image:loc>
</image:image>
<lastmod>2026-09-30T17:35:58.111Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/webhook-vs-polling-for-async-web-data-api-delivery</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/bd2c4d0f-ff5b-4de7-9c02-b344128af5e9.jpeg</image:loc>
</image:image>
<lastmod>2026-09-30T16:46:20.934Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/latency-management-for-real-time-web-data-api-calls-in-agent-tools</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/134324eb-1ddc-4642-8300-422ec860d35b.jpeg</image:loc>
</image:image>
<lastmod>2026-09-30T02:10:58.749Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/error-handling-and-retry-logic-for-web-data-api-consumers</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/a09798a4-3b0c-494b-9e8c-0239208be761.jpeg</image:loc>
</image:image>
<lastmod>2026-09-28T04:40:45.566Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/caching-strategies-for-live-web-data-api-responses</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/8c6b11b6-7962-4cc2-9cae-514ef371c13e.jpeg</image:loc>
</image:image>
<lastmod>2026-09-26T23:09:22.081Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/crawl-and-index-api-integration-with-langchain-and-llamaindex</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/97ce4e9c-3aab-458e-9fdd-a8b999237f9e.jpeg</image:loc>
</image:image>
<lastmod>2026-09-25T11:44:04.416Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/browser-fingerprinting-evasion-in-production-scrapers</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/7d0805df-ebcc-49b1-b3d0-b19e1f3d9995.jpeg</image:loc>
</image:image>
<lastmod>2026-09-23T11:38:44.676Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/anti-bot-detection-bypass-using-managed-scraping-apis</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/21b401f2-c5a1-4e81-b911-90dd2476901b.jpeg</image:loc>
</image:image>
<lastmod>2026-09-22T13:30:29.929Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/rendering-strategy-selection-for-scraping-javascript-applications</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/78066d8a-857b-4486-9662-4692fc4d9c74.jpeg</image:loc>
</image:image>
<lastmod>2026-09-21T12:23:44.439Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/javascript-rendering-failure-modes-in-ai-data-pipelines</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/606a231e-5606-4eb5-9f8f-48490ef513f7.jpeg</image:loc>
</image:image>
<lastmod>2026-09-20T11:44:24.759Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/selenium-legacy-migration-to-modern-scraping-stacks</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/37f9c8e4-5c1b-4889-a2de-a6a2ffb8ea67.jpeg</image:loc>
</image:image>
<lastmod>2026-09-19T12:48:14.935Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/horizontal-scaling-strategies-for-distributed-crawlers</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/2e2bfa47-21b9-4d50-905f-e93afca091d9.jpeg</image:loc>
</image:image>
<lastmod>2026-09-18T12:28:54.453Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/puppeteer-vs-playwright-for-production-scraping</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/f31957cb-0e96-455b-b7b8-5d96b4c058df.jpeg</image:loc>
</image:image>
<lastmod>2026-09-17T13:24:46.946Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/full-site-crawl-vs-targeted-url-fetch-for-ai-data-pipelines</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/87068da5-d2e1-47f5-9759-292cd6cadea9.jpeg</image:loc>
</image:image>
<lastmod>2026-09-16T13:34:03.551Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/crawl-scheduling-patterns-for-live-web-data-pipelines</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/0279f651-59cd-45ba-9f83-126d06b54c10.jpeg</image:loc>
</image:image>
<lastmod>2026-09-15T23:14:20.397Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/managed-crawling-apis-for-rag-index-freshness</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/5b670490-f537-479e-992a-5f2602e5e552.jpeg</image:loc>
</image:image>
<lastmod>2026-09-15T22:43:51.965Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/scraping-architecture-for-llm-pipeline-data-ingestion</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/1a247b29-9352-44f2-8e54-c67f814468b0.jpeg</image:loc>
</image:image>
<lastmod>2026-09-13T00:46:57.469Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://crawlengineer.com/posts/rest-api-pagination-patterns-for-large-web-dataset-retrieval</loc>
<image:image>
<image:loc>https://mcxtywzsmeezbwapdahq.supabase.co/storage/v1/object/public/canvas-images/52afbafb-f52e-4777-b3b0-205387f888b6/canvas/2af14e75-97db-44cc-b19c-781effee69f0/generated/1c04ad6b-a56c-49d8-a2bc-92d89bbf0805.jpeg</image:loc>
</image:image>
<lastmod>2026-09-10T16:26:23.508Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
