{"message":"Shopify Product & Pages API","version":"1.0.0","endpoints":{"GET /api/products":"Get all products (supports ?limit=10&cursor=xyz for pagination)","GET /api/products/:handle":"Get a single product by handle","GET /api/products/pages":"Get all products organized by pages with product names as links","GET /api/products/markdown/:page":"Get products for a specific page as markdown","GET /api/products/:handle/markdown":"Get a single product as markdown","GET /api/pages":"Get all pages (supports ?limit=10&cursor=xyz for pagination)","GET /api/pages/:handle":"Get a single page by handle","GET /api/blogs":"Get all blogs with articles (supports ?limit=10&cursor=xyz for pagination)","GET /api/blogs/:handle":"Get a single blog with articles by handle","GET /api/generate-static":"Generate static markdown files for all products","GET /api/generate-blog-static":"Generate static markdown files for all blogs with cleansed content","GET /api/static-links":"Get all static file URLs for scraping","GET /api/blog-static-links":"Get all blog static file URLs for scraping","GET /api/scraped-static-links":"Get all scraped static file URLs for scraping","GET /sitemap":"HTML sitemap with all static file links for visual browsing and scraping","GET /blog-sitemap":"HTML sitemap with all blog static file links for visual browsing and scraping","GET /scraped-sitemap":"HTML sitemap with all scraped static file links for visual browsing and scraping","POST /api/scrape-url":"Scrape any URL and convert content to AI-processed markdown","GET /static/:filename":"Access generated static markdown files","GET /blog-static/*":"Access generated blog static markdown files","GET /scraped-static/*":"Access scraped static markdown files","GET /health":"Health check"},"documentation":{"Products endpoint":{"url":"/api/products","method":"GET","parameters":{"limit":"Number of products to fetch (max 250, default 10)","cursor":"Pagination cursor for next page"}},"Single product endpoint":{"url":"/api/products/:handle","method":"GET","parameters":{"handle":"Product handle (URL slug)"}},"Products pages overview":{"url":"/api/products/pages","method":"GET","description":"Shows all products organized by pages with clickable product names"},"Paginated products markdown":{"url":"/api/products/markdown/:page","method":"GET","parameters":{"page":"Page number (default: 1)"}},"Single product markdown":{"url":"/api/products/:handle/markdown","method":"GET","parameters":{"handle":"Product handle (URL slug)"}},"Pages endpoint":{"url":"/api/pages","method":"GET","parameters":{"limit":"Number of pages to fetch (max 250, default 10)","cursor":"Pagination cursor for next page"}},"Single page endpoint":{"url":"/api/pages/:handle","method":"GET","parameters":{"handle":"Page handle (URL slug)"}},"Blogs endpoint":{"url":"/api/blogs","method":"GET","parameters":{"limit":"Number of blogs to fetch (max 250, default 10)","cursor":"Pagination cursor for next page"}},"Single blog endpoint":{"url":"/api/blogs/:handle","method":"GET","parameters":{"handle":"Blog handle (URL slug)"}},"Static file generation":{"url":"/api/generate-static","method":"GET","description":"Generate static markdown files for all products and pages"},"Blog static file generation":{"url":"/api/generate-blog-static","method":"GET","description":"Generate static markdown files for all blogs with ChatGPT-cleansed content"},"Static file links":{"url":"/api/static-links","method":"GET","description":"Get all static file URLs for easy scraping"},"Blog static file links":{"url":"/api/blog-static-links","method":"GET","description":"Get all blog static file URLs for easy scraping"},"Scraped static file links":{"url":"/api/scraped-static-links","method":"GET","description":"Get all scraped static file URLs for easy scraping"},"HTML sitemap":{"url":"/sitemap","method":"GET","description":"Visual HTML sitemap with all static file links for browsing and scraping"},"Blog HTML sitemap":{"url":"/blog-sitemap","method":"GET","description":"Visual HTML sitemap with all blog static file links for browsing and scraping"},"Scraped HTML sitemap":{"url":"/scraped-sitemap","method":"GET","description":"Visual HTML sitemap with all scraped static file links for browsing and scraping"},"URL Scraping endpoint":{"url":"/api/scrape-url","method":"POST","description":"Scrape any URL and convert its content to AI-processed markdown","requestBody":{"url":"The URL to scrape (required)","saveToStatic":"Optional boolean - save the scraped content as a static markdown file"},"response":{"url":"The scraped URL","title":"Page title","description":"Page meta description","scrapedAt":"Timestamp of scraping","content":{"basicMarkdown":"Basic HTML-to-markdown conversion","aiProcessedMarkdown":"AI-cleansed and formatted markdown","images":"Array of extracted images with URLs and alt text"},"metadata":"Processing information and statistics","filename":"Generated filename if saveToStatic is true"}},"Static file access":{"url":"/static/:filename","method":"GET","parameters":{"filename":"Name of the static markdown file to access"}}}}