Reports & downloads API
Fetch full report data, download exported files, get PageSpeed audits, and retrieve the changelog for any completed job.
Overview
Once a job reaches completed, its report data and exported files become available. This section covers fetching the full report (products, collections, pages), downloading individual files, retrieving the PageSpeed audit, and reading the per-job changelog.
Base URL: https://shopsniffer.com/api
GET /reports/:id Stable
Full report with products, collections, and pages. Returns the complete analysis dataset.
Auth: None for public jobs; API key or session required for private jobs.
Job UUID.
bashcurl https://shopsniffer.com/api/reports/a1b2c3d4-e5f6-7890-abcd-ef1234567890
json{ "job": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "domain": "allbirds.com", "status": "completed" }, "counts": { "products": 156, "collections": 24, "pages": 18 }, "products": [ { "id": 7891011121, "title": "Tree Runners", "handle": "mens-tree-runners", "vendor": "Allbirds", "product_type": "Shoes", "tags": ["men", "running", "sustainable"], "variants": [ { "id": 43210987654, "title": "10 / Fog", "price": "98.00", "compare_at_price": null, "sku": "TR-FOG-10", "inventory_quantity": null } ], "images": [ { "src": "https://cdn.shopify.com/s/files/1/0001/tree-runners.jpg", "alt": "Tree Runners - Fog" } ] } ], "collections": [ { "id": 12345, "title": "Men's Shoes", "handle": "mens-shoes", "body_html": "<p>Comfortable shoes made from natural materials.</p>", "image": { "src": "https://cdn.shopify.com/..." } } ], "pages": [ { "id": 67890, "title": "Our Story", "handle": "our-story", "body_html": "<p>Founded in New Zealand...</p>" } ] }
json{ "error": "Report not found" }
GET /downloads Stable
Download an exported file. Returns raw file content — CSV text, JSON array, or PNG image.
Job UUID.
File name. One of: products.csv, products.json, collections.json, pages.json, screenshot.png.
bashcurl "https://shopsniffer.com/api/downloads?jobId=a1b2c3d4-…&key=products.csv" \ -o products.csv
Response: raw file content with Content-Type set appropriately (text/csv, application/json, or image/png).
json{ "error": "Missing key or jobId parameter" }
json{ "error": "Job or file not found" }
Download URLs are also available directly in the job.downloads object returned by GET /jobs/:id — no need to construct them manually.
GET /pagespeed/:jobId Stable
Google PageSpeed Insights audit data for the store's homepage. Returns the full Lighthouse result object.
Auth: None.
Job UUID.
json{ "data": { "lighthouseResult": { "categories": { "performance": { "score": 0.72 }, "accessibility": { "score": 0.91 }, "best-practices": { "score": 0.83 }, "seo": { "score": 0.95 } }, "audits": { "largest-contentful-paint": { "numericValue": 2450 }, "cumulative-layout-shift": { "numericValue": 0.08 }, "total-blocking-time": { "numericValue": 320 }, "speed-index": { "numericValue": 3200 } } } } }
Scores range from 0 to 1 (multiply by 100 for the familiar 0-100 display). Numeric values for audits are in milliseconds unless otherwise noted. See Google's Lighthouse docs for the full audit reference.
GET /changelog/:jobId Stable
Per-job changelog — structured diff versus the previous completed job for the same store. Empty for the first-ever job on a store.
Auth: None.
Job UUID.
json{ "changes": [ { "date": "2026-04-12", "added": 3, "removed": 1, "price_changes": 5, "details": [ { "type": "added", "title": "Spring Collection Jacket", "handle": "spring-jacket" }, { "type": "price_change", "title": "Tree Runners", "old_price": "98.00", "new_price": "108.00" } ] } ] }
For the full per-store change history across all snapshots, use GET /store-detail/:slug/changes in the monitoring API.
GET /free-export Stable
Free preview of the first 100 products from any Shopify store. No authentication required — great for trial integrations.
Shopify store domain.
bashcurl "https://shopsniffer.com/api/free-export?domain=allbirds.com"
json{ "products": [ { "id": 7891011121, "title": "Tree Runners", "handle": "mens-tree-runners", "vendor": "Allbirds", "variants": [{ "id": 43210987654, "price": "98.00", "sku": "TR-FOG-10" }], "images": [{ "src": "https://cdn.shopify.com/..." }] } ] }
json{ "error": "Failed to fetch: 404" }
Free export is rate-limited at the Cloudflare edge per IP. Sustained abuse is automatically blocked. For reliable access, use an API key and POST /jobs instead.