{
    "version": "ujb.site-guide/v1",
    "site": "Kijiji",
    "domain": "kijiji.ca",
    "category": "classifieds",
    "status": "working",
    "status_label": "Working",
    "success_rate_7d": 100,
    "checks_7d": 6,
    "last_checked_at": "2026-11-05T17:03:40Z",
    "last_ok_at": "2026-11-05T17:03:40Z",
    "page_types": [
        {
            "page_type": "Public pages",
            "page_kinds": [
                "page",
                "detail"
            ],
            "status": "working",
            "success_rate_7d": 100,
            "checks_7d": 6,
            "endpoint": "/scrape",
            "params": {
                "js": true
            },
            "proxy": "default",
            "measured": true,
            "max_credits": 5,
            "learned_settings": null,
            "example_url": "https://www.kijiji.ca/b-canada/bike/k0l0",
            "playground": "https://ujeebu.com/playground?endpoint=scrape&url=https%3A%2F%2Fwww.kijiji.ca%2Fb-canada%2Fbike%2Fk0l0&js=true&autosend=0&uj_from=site-guide",
            "recipes": [
                {
                    "page_kind": "listing",
                    "label": "Search and listing pages",
                    "recipe": "kijiji",
                    "call": "GET https://api.ujeebu.com/scrape?url=https%3A%2F%2Fwww.kijiji.ca%2Fb-canada%2Fbike%2Fk0l0&recipe=kijiji",
                    "credits": 5,
                    "validated_at": "2026-11-04T11:14:23Z",
                    "params": {
                        "js": true
                    },
                    "extract_rules": {
                        "ads": {
                            "type": "fn",
                            "fn": "const e = document.getElementById('__NEXT_DATA__'); if (!e) return null; const d = JSON.parse(e.textContent); const A = (d.props && d.props.pageProps && d.props.pageProps.__APOLLO_STATE__) || {}; return Object.keys(A).filter(k => /^[A-Za-z]*Listing:/.test(k)).map(k => A[k]).filter(x => x && x.url && x.title).map(x => { const p = x.price || {}; return { title: x.title, url: x.url, price: typeof p.amount === 'number' ? p.amount / 100 : null, price_type: p.type || null, location: x.location ? x.location.name || null : null, posted: x.activationDate || null, image: (x.imageUrls || [])[0] || null, top_ad: !!(x.flags && x.flags.topAd) }; });"
                        }
                    },
                    "fields": {
                        "ads": "list of 3+ items",
                        "ads[].image": "URL",
                        "ads[].location": "text",
                        "ads[].posted": "date",
                        "ads[].price": "number",
                        "ads[].price_type": "text",
                        "ads[].title": "text",
                        "ads[].top_ad": "number (as text)",
                        "ads[].url": "URL"
                    },
                    "validated_on": [
                        "https://www.kijiji.ca/b-canada/bike/k0l0",
                        "https://www.kijiji.ca/b-canada/sofa/k0l0"
                    ],
                    "url_pattern": "https://www.kijiji.ca/b-canada/{slug}/k0l0",
                    "listing_template": null,
                    "pagination": null,
                    "search": {
                        "recipe": "kijiji/search",
                        "result_recipe": "kijiji/listing",
                        "params": [
                            {
                                "name": "query",
                                "type": "string",
                                "required": true,
                                "description": "Search words, all of Canada (they become the URL slug: mountain bike = mountain-bike).",
                                "example": "mountain bike",
                                "transform": [
                                    "slugify"
                                ],
                                "var": "query"
                            },
                            {
                                "name": "page",
                                "type": "int",
                                "required": false,
                                "default": 1,
                                "min": 1,
                                "max": 10,
                                "description": "Result page, 1 is the first page.",
                                "example": 2,
                                "var": "page"
                            }
                        ],
                        "url_template": "https://www.kijiji.ca/b-canada/{query}/page-{page}/k0l0",
                        "pagination": {
                            "param": "page",
                            "var": "page",
                            "start": 1,
                            "max": 10,
                            "how": "path",
                            "first": "include"
                        },
                        "example": {
                            "params": {
                                "query": "bike"
                            },
                            "url": "https://www.kijiji.ca/b-canada/bike/page-1/k0l0"
                        },
                        "call": "GET https://api.ujeebu.com/scrape?recipe=kijiji/search&query=bike",
                        "today_call": "GET https://api.ujeebu.com/scrape?url=https%3A%2F%2Fwww.kijiji.ca%2Fb-canada%2Fbike%2Fpage-1%2Fk0l0&recipe=kijiji%2Flisting",
                        "checked_at": "2026-11-04 11:28:55"
                    }
                }
            ]
        }
    ],
    "guide_url": "https://ujeebu.com/scrape/kijiji",
    "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"
}