Scrapp Zero | Home
const PRISM_API_KEY = 'prism_jrfvXGHXOMscbgOD7NrcMgO5K2oQ4OqZ'; const PRISM_ENDPOINT = 'https://prism.trakkr.ai'; const PRISM_TIMEOUT = 1000; // ms // Crawler patterns to optimize for (customizable) const AI_CRAWLERS = [ 'gptbot', 'chatgpt-user', 'oai-searchbot', 'claudebot', 'claude-user', 'claude-searchbot', 'perplexitybot', 'meta-externalagent', 'google-extended', 'cohere-ai', 'applebot-extended', 'amazonbot', 'baiduspider', 'bytespider' ]; addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)); }); async function handleRequest(request) { const url = new URL(request.url); // Quick bypass for non-HTML requests if (url.pathname.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot)$/i)) { return fetch(request); } // Check if AI crawler const ua = (request.headers.get('user-agent') || '').toLowerCase(); const isAICrawler = AI_CRAWLERS.some(bot => ua.includes(bot)); if (!isAICrawler) { return fetch(request); } // Detect crawler type const crawlerType = AI_CRAWLERS.find(bot => ua.includes(bot)) || 'unknown'; try { // Call Prism API with tight timeout const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), PRISM_TIMEOUT); const prismResponse = await fetch(PRISM_ENDPOINT, { method: 'POST', headers: { 'X-API-Key': PRISM_API_KEY, 'X-Crawler-UA': ua.substring(0, 200), 'X-Target-URL': url.toString(), 'Content-Type': 'application/json' }, body: JSON.stringify({ url: url.toString(), pathname: url.pathname, crawler: crawlerType }), signal: controller.signal }); clearTimeout(timeoutId); // Handle rate limiting if (prismResponse.status === 429) { console.log('Prism limit reached'); return fetch(request); } // Handle successful optimization if (prismResponse.ok) { const data = await prismResponse.json(); if (data.optimizedHTML) { return new Response(data.optimizedHTML, { status: 200, headers: { 'Content-Type': 'text/html;charset=UTF-8', 'X-Prism-Optimized': 'true', 'X-Prism-Cache': data.cache || 'MISS' } }); } } } catch (error) { // Timeout or error - serve original immediately console.error('Prism error:', error.message); } // Default: serve original content return fetch(request); }

8 out of 10 of us recycle incorrectly

We all want to do the right thing, but recycling instructions are often vague and inconsistent.

Access our free recycling app on your web browser →

Family looking confused next to waste
Sorting screen on recycling app

Learn what to do with your waste

Just scan the barcode, or search the item, and Scrapp will show you how to sort your waste into the right bin.

Get the upgraded app for your community →

Discover verified, sustainable brands

Look out for the green tick - it means the information you’re seeing comes straight from one of our verified brand partners.

Learn how we're clearing up zero-waste claims →

A photo of a mobile phone with the Scrapp mobile app loaded and a textbox saying "36 million products in the database so far".

Take the guesswork out of 'Check Locally'

Scrapp automatically saves your local waste rules to give you the most up-to-date guidance.

Have a question? See our FAQs →

Fight plastic pollution, together

Each time you use the Scrapp to dispose correctly, you also remove one plastic bottle from nature through our partners, Plastic Bank.

A woman collecting a plastic bottle from the river bank.

The #1 Recycling App

Scrapp helps thousands of people recycle right everyday

I love using this app! It really helps when it comes to know where to put rubbish 10/10

K.77JSK

I've tried out a few recycling apps but none of them work as well as Scrapp does 🙌✨

Tracy

Scrapp is a great app for new recyclers as well as people interested in learning more

Erin

I was already a pretty skilled recycler, but Scrapp proved I still had more to learn

Martha

A real eye opener into the world of recycling. Even well seasoned eco-warriors will be surprised!

Brooklyne

I’ve used this app everyday since I downloaded it!!
🌍♻️

Fin123

I don’t consider myself the most expert recycler - but this app makes it fun! Love the concept.

QasquiatLives

Scrapp is easy to use and has helped me to ensure that I am recycling correctly.

Mariia

Quite simply, this is what the world needs more of.
🤳🥫♻️

Charlie
NEWSLETTER

Stay in the loop

Join our community newsletter to get updates and submit feedback

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Scrapp Web Portal Platform