{
    "version": "ujb.site-guide/v1",
    "site": "Autotrader UK",
    "domain": "autotrader.co.uk",
    "category": "automotive",
    "status": "limited",
    "status_label": "Intermittent",
    "success_rate_7d": 33.3,
    "checks_7d": 6,
    "last_checked_at": "2026-11-05T05:35:15Z",
    "last_ok_at": "2026-11-04T11:22:14Z",
    "page_types": [
        {
            "page_type": "Public pages",
            "page_kinds": [
                "search",
                "detail"
            ],
            "status": "limited",
            "success_rate_7d": 33.3,
            "checks_7d": 6,
            "endpoint": "/scrape",
            "params": {
                "js": true,
                "wait_for": 3000
            },
            "proxy": "default",
            "measured": true,
            "max_credits": 5,
            "learned_settings": null,
            "example_url": "https://www.autotrader.co.uk/car-search?make=Toyota&postcode=SW1A1AA",
            "playground": "https://ujeebu.com/playground?endpoint=scrape&url=https%3A%2F%2Fwww.autotrader.co.uk%2Fcar-search%3Fmake%3DToyota%26postcode%3DSW1A1AA&js=true&wait_for=3000&autosend=0&utm_source=site-guide",
            "recipes": [
                {
                    "page_kind": "listing",
                    "label": "Search and listing pages",
                    "recipe": "autotrader",
                    "call": "GET https://api.ujeebu.com/scrape?url=https%3A%2F%2Fwww.autotrader.co.uk%2Fcar-search%3Fmake%3DToyota%26model%3DYaris%26postcode%3DSW1A1AA&recipe=autotrader",
                    "credits": 5,
                    "validated_at": "2026-11-04T11:18:46Z",
                    "params": {
                        "js": true,
                        "wait_for": 3000
                    },
                    "extract_rules": {
                        "cars": {
                            "type": "fn",
                            "fn": "return Array.from(document.querySelectorAll('li[data-advertid]')).map(c => { const a = c.querySelector('a[data-testid=\"search-listing-title\"]'); if (!a) return null; const u = new URL(a.getAttribute('href'), location.origin); const t = Array.from(a.childNodes).filter(n => n.nodeType === 3).map(n => n.textContent).join(' ').trim(); const q = s => { const e = c.querySelector(s); return e ? e.textContent.replace(/\\s+/g, ' ').trim() : null; }; const pe = Array.from(c.querySelectorAll('span')).find(s => /^£[\\d,]+$/.test(s.textContent.trim())); const img = c.querySelector('img[src*=\"atcdn\"]'); return { title: t || null, subtitle: q('[data-testid=\"search-listing-subtitle\"]'), url: u.origin + u.pathname, advert_id: c.getAttribute('data-advertid'), price: pe ? pe.textContent.trim() : null, mileage: q('li[data-testid=\"mileage\"]'), year: q('li[data-testid=\"registered_year\"]'), price_rating: q('li[data-testid^=\"pi_\"]'), location: (q('[data-testid=\"search-listing-location\"]') || '').replace(/^[A-Za-z ]*location\\s*/, '') || null, image: img ? img.getAttribute('src') : null }; }).filter(Boolean);"
                        }
                    },
                    "fields": {
                        "cars": "list of 3+ items",
                        "cars[].advert_id": "number (as text)",
                        "cars[].image": "image URL",
                        "cars[].location": "text",
                        "cars[].mileage": "text",
                        "cars[].price": "text",
                        "cars[].price_rating": "text",
                        "cars[].subtitle": "text",
                        "cars[].title": "text",
                        "cars[].url": "URL",
                        "cars[].year": "text"
                    },
                    "validated_on": [
                        "https://www.autotrader.co.uk/car-search?make=Toyota&model=Yaris&postcode=SW1A1AA",
                        "https://www.autotrader.co.uk/car-search?make=Ford&model=Fiesta&postcode=M11AE"
                    ],
                    "url_pattern": "https://www.autotrader.co.uk/car-search?make={make}&model={model}&postcode={postcode}",
                    "listing_template": null,
                    "pagination": null,
                    "search": {
                        "recipe": "autotrader/search",
                        "result_recipe": "autotrader/listing",
                        "params": [
                            {
                                "name": "make",
                                "type": "string",
                                "required": true,
                                "description": "Car make as on Autotrader UK (Toyota, Ford, Volkswagen).",
                                "example": "Toyota",
                                "transform": [
                                    "collapse_spaces"
                                ],
                                "var": "make"
                            },
                            {
                                "name": "model",
                                "type": "string",
                                "required": false,
                                "description": "Model (Yaris, Fiesta, 3 Series).",
                                "example": "Yaris",
                                "transform": [
                                    "collapse_spaces"
                                ],
                                "var": "model"
                            },
                            {
                                "name": "postcode",
                                "type": "string",
                                "required": false,
                                "default": "SW1A1AA",
                                "pattern": "^[A-Z]{1,2}[0-9][A-Z0-9]?[0-9][A-Z]{2}$",
                                "pattern_hint": "must be a UK postcode (SW1A 1AA, M1 1AE)",
                                "description": "UK postcode the results are sorted around (the default is central London).",
                                "example": "M1 1AE",
                                "transform": [
                                    "uppercase",
                                    {
                                        "op": "replace",
                                        "from": " ",
                                        "to": ""
                                    }
                                ],
                                "var": "postcode"
                            }
                        ],
                        "url_template": "https://www.autotrader.co.uk/car-search{?make,model,postcode}",
                        "pagination": null,
                        "example": {
                            "params": {
                                "make": "Toyota",
                                "model": "Yaris"
                            },
                            "url": "https://www.autotrader.co.uk/car-search?make=Toyota&model=Yaris&postcode=SW1A1AA"
                        },
                        "call": "GET https://api.ujeebu.com/scrape?recipe=autotrader/search&make=Toyota&model=Yaris",
                        "today_call": "GET https://api.ujeebu.com/scrape?url=https%3A%2F%2Fwww.autotrader.co.uk%2Fcar-search%3Fmake%3DToyota%26model%3DYaris%26postcode%3DSW1A1AA&recipe=autotrader%2Flisting",
                        "checked_at": "2026-11-04 11:30:21"
                    }
                }
            ]
        }
    ],
    "guide_url": "https://ujeebu.com/scrape/autotrader",
    "note": "Ujeebu scrapes any public website. These guides are a selection of popular sites we test every day, with settings that work today; a site that is not listed works with the same API: try any URL in the Playground (https://ujeebu.com/playground) or send us the URL (https://ujeebu.com/contact) and we will check it.",
    "billing": "Only HTTP 200 and 404 responses are billed.",
    "auth": "Header ApiKey: <your key>",
    "api_base": "https://api.ujeebu.com",
    "how_to_use_recipes": "GET https://api.ujeebu.com/scrape?url=<page>&recipe=<recipe>: the API applies the recipe's extract_rules and params (yours win when you send them) and answers {\"result\": {...}} with the headers Ujb-Recipe and Ujb-Credits. A recipe with \"recipe\": null is not served by name: POST /scrape with url, the params and extract_rules. Docs: https://ujeebu.com/docs/apis/scrape/recipes"
}