Tools Full text search.

GET /api/search/tools/?page=3
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 3739,
    "next": "https://toolhub.wikimedia.org/api/search/tools/?page=4",
    "previous": "https://toolhub.wikimedia.org/api/search/tools/?page=2",
    "facets": {
        "_filter_tool_type": {
            "doc_count": 3739,
            "tool_type": {
                "meta": {
                    "type": "terms",
                    "param": "tool_type__term",
                    "missing_param": "tool_type__isnull",
                    "missing_value": "--",
                    "multi": false
                },
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 1,
                "buckets": [
                    {
                        "key": "web app",
                        "doc_count": 1381
                    },
                    {
                        "key": "--",
                        "doc_count": 1308
                    },
                    {
                        "key": "user script",
                        "doc_count": 917
                    },
                    {
                        "key": "bot",
                        "doc_count": 57
                    },
                    {
                        "key": "other",
                        "doc_count": 34
                    },
                    {
                        "key": "gadget",
                        "doc_count": 25
                    },
                    {
                        "key": "coding framework",
                        "doc_count": 9
                    },
                    {
                        "key": "command line tool",
                        "doc_count": 9
                    },
                    {
                        "key": "desktop app",
                        "doc_count": 9
                    },
                    {
                        "key": "template",
                        "doc_count": 1
                    }
                ]
            }
        },
        "_filter_content_types": {
            "doc_count": 3739,
            "content_types": {
                "meta": {
                    "type": "terms",
                    "param": "content_types__term",
                    "missing_param": "content_types__isnull",
                    "missing_value": "--",
                    "multi": true
                },
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 112,
                "buckets": [
                    {
                        "key": "--",
                        "doc_count": 3589
                    },
                    {
                        "key": "software",
                        "doc_count": 36
                    },
                    {
                        "key": "article",
                        "doc_count": 29
                    },
                    {
                        "key": "data::structured",
                        "doc_count": 29
                    },
                    {
                        "key": "image",
                        "doc_count": 29
                    },
                    {
                        "key": "data::user",
                        "doc_count": 15
                    },
                    {
                        "key": "data::event",
                        "doc_count": 12
                    },
                    {
                        "key": "data::bibliography",
                        "doc_count": 11
                    },
                    {
                        "key": "audio",
                        "doc_count": 10
                    },
                    {
                        "key": "data::category",
                        "doc_count": 10
                    }
                ]
            }
        },
        "_filter_ui_language": {
            "doc_count": 3739,
            "ui_language": {
                "meta": {
                    "type": "terms",
                    "param": "ui_language__term",
                    "missing_param": "ui_language__isnull",
                    "missing_value": "--",
                    "multi": true
                },
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 503,
                "buckets": [
                    {
                        "key": "--",
                        "doc_count": 3319
                    },
                    {
                        "key": "en",
                        "doc_count": 397
                    },
                    {
                        "key": "de",
                        "doc_count": 63
                    },
                    {
                        "key": "es",
                        "doc_count": 55
                    },
                    {
                        "key": "pt",
                        "doc_count": 40
                    },
                    {
                        "key": "fr",
                        "doc_count": 33
                    },
                    {
                        "key": "en-gb",
                        "doc_count": 25
                    },
                    {
                        "key": "af",
                        "doc_count": 24
                    },
                    {
                        "key": "ru",
                        "doc_count": 21
                    },
                    {
                        "key": "it",
                        "doc_count": 19
                    }
                ]
            }
        },
        "_filter_origin": {
            "doc_count": 3739,
            "origin": {
                "meta": {
                    "type": "terms",
                    "param": "origin__term",
                    "missing_param": "origin__isnull",
                    "missing_value": "--",
                    "multi": false
                },
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 0,
                "buckets": [
                    {
                        "key": "crawler",
                        "doc_count": 3520
                    },
                    {
                        "key": "api",
                        "doc_count": 219
                    }
                ]
            }
        },
        "_filter_license": {
            "doc_count": 3739,
            "license": {
                "meta": {
                    "type": "terms",
                    "param": "license__term",
                    "missing_param": "license__isnull",
                    "missing_value": "--",
                    "multi": false
                },
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 229,
                "buckets": [
                    {
                        "key": "MIT",
                        "doc_count": 942
                    },
                    {
                        "key": "CC-BY-SA-4.0",
                        "doc_count": 836
                    },
                    {
                        "key": "--",
                        "doc_count": 469
                    },
                    {
                        "key": "GPL-3.0-only",
                        "doc_count": 458
                    },
                    {
                        "key": "GPL-3.0-or-later",
                        "doc_count": 317
                    },
                    {
                        "key": "Apache-2.0",
                        "doc_count": 219
                    },
                    {
                        "key": "AGPL-3.0-only",
                        "doc_count": 92
                    },
                    {
                        "key": "GPL-2.0-only",
                        "doc_count": 88
                    },
                    {
                        "key": "AGPL-3.0-or-later",
                        "doc_count": 49
                    },
                    {
                        "key": "BSD-3-Clause",
                        "doc_count": 40
                    }
                ]
            }
        },
        "_filter_author": {
            "doc_count": 3739,
            "author": {
                "meta": {
                    "type": "terms",
                    "param": "author__term",
                    "missing_param": "author__isnull",
                    "missing_value": "--",
                    "multi": false
                },
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 3472,
                "buckets": [
                    {
                        "key": "Magnus Manske",
                        "doc_count": 184
                    },
                    {
                        "key": "Bryan Davis",
                        "doc_count": 68
                    },
                    {
                        "key": "Legoktm",
                        "doc_count": 63
                    },
                    {
                        "key": "BrandonXLF",
                        "doc_count": 48
                    },
                    {
                        "key": "Enterprisey",
                        "doc_count": 44
                    },
                    {
                        "key": "MusikAnimal",
                        "doc_count": 44
                    },
                    {
                        "key": "SD0001",
                        "doc_count": 28
                    },
                    {
                        "key": "Hay Kranen",
                        "doc_count": 27
                    },
                    {
                        "key": "Amir Sarabadani",
                        "doc_count": 26
                    },
                    {
                        "key": "David Caro",
                        "doc_count": 26
                    }
                ]
            }
        },
        "_filter_tasks": {
            "doc_count": 3739,
            "tasks": {
                "meta": {
                    "type": "terms",
                    "param": "tasks__term",
                    "missing_param": "tasks__isnull",
                    "missing_value": "--",
                    "multi": true
                },
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 114,
                "buckets": [
                    {
                        "key": "--",
                        "doc_count": 3605
                    },
                    {
                        "key": "analysis",
                        "doc_count": 29
                    },
                    {
                        "key": "editing",
                        "doc_count": 26
                    },
                    {
                        "key": "tools",
                        "doc_count": 24
                    },
                    {
                        "key": "ranking",
                        "doc_count": 15
                    },
                    {
                        "key": "categorizing",
                        "doc_count": 14
                    },
                    {
                        "key": "creating",
                        "doc_count": 13
                    },
                    {
                        "key": "uploading",
                        "doc_count": 13
                    },
                    {
                        "key": "policy_violation",
                        "doc_count": 11
                    },
                    {
                        "key": "reading",
                        "doc_count": 11
                    }
                ]
            }
        },
        "_filter_wiki": {
            "doc_count": 3739,
            "wiki": {
                "meta": {
                    "type": "terms",
                    "param": "wiki__term",
                    "missing_param": "wiki__isnull",
                    "missing_value": "--",
                    "multi": true
                },
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 85,
                "buckets": [
                    {
                        "key": "--",
                        "doc_count": 3478
                    },
                    {
                        "key": "wikidata.org",
                        "doc_count": 86
                    },
                    {
                        "key": "*",
                        "doc_count": 62
                    },
                    {
                        "key": "commons.wikimedia.org",
                        "doc_count": 47
                    },
                    {
                        "key": "*.wikipedia.org",
                        "doc_count": 18
                    },
                    {
                        "key": "*.wikisource.org",
                        "doc_count": 13
                    },
                    {
                        "key": "en.wikipedia.org",
                        "doc_count": 13
                    },
                    {
                        "key": "*.wikidata.org",
                        "doc_count": 4
                    },
                    {
                        "key": "meta.wikimedia.org",
                        "doc_count": 4
                    },
                    {
                        "key": "ar.wikipedia.org",
                        "doc_count": 3
                    }
                ]
            }
        },
        "_filter_audiences": {
            "doc_count": 3739,
            "audiences": {
                "meta": {
                    "type": "terms",
                    "param": "audiences__term",
                    "missing_param": "audiences__isnull",
                    "missing_value": "--",
                    "multi": true
                },
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 0,
                "buckets": [
                    {
                        "key": "--",
                        "doc_count": 3563
                    },
                    {
                        "key": "editor",
                        "doc_count": 105
                    },
                    {
                        "key": "developer",
                        "doc_count": 60
                    },
                    {
                        "key": "reader",
                        "doc_count": 42
                    },
                    {
                        "key": "admin",
                        "doc_count": 28
                    },
                    {
                        "key": "organizer",
                        "doc_count": 28
                    },
                    {
                        "key": "researcher",
                        "doc_count": 28
                    }
                ]
            }
        },
        "_filter_subject_domains": {
            "doc_count": 3739,
            "subject_domains": {
                "meta": {
                    "type": "terms",
                    "param": "subject_domains__term",
                    "missing_param": "subject_domains__isnull",
                    "missing_value": "--",
                    "multi": true
                },
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 0,
                "buckets": [
                    {
                        "key": "--",
                        "doc_count": 3690
                    },
                    {
                        "key": "glam",
                        "doc_count": 24
                    },
                    {
                        "key": "cultural",
                        "doc_count": 15
                    },
                    {
                        "key": "geography",
                        "doc_count": 12
                    },
                    {
                        "key": "history",
                        "doc_count": 11
                    },
                    {
                        "key": "language",
                        "doc_count": 11
                    },
                    {
                        "key": "outreach",
                        "doc_count": 10
                    },
                    {
                        "key": "science",
                        "doc_count": 10
                    },
                    {
                        "key": "biography",
                        "doc_count": 9
                    },
                    {
                        "key": "education",
                        "doc_count": 7
                    }
                ]
            }
        },
        "_filter_keywords": {
            "doc_count": 3739,
            "keywords": {
                "meta": {
                    "type": "terms",
                    "param": "keywords__term",
                    "missing_param": "keywords__isnull",
                    "missing_value": "--",
                    "multi": true
                },
                "doc_count_error_upper_bound": 0,
                "sum_other_doc_count": 3827,
                "buckets": [
                    {
                        "key": "--",
                        "doc_count": 1910
                    },
                    {
                        "key": "wikidata",
                        "doc_count": 342
                    },
                    {
                        "key": "bot",
                        "doc_count": 157
                    },
                    {
                        "key": "python",
                        "doc_count": 134
                    },
                    {
                        "key": "wikipedia",
                        "doc_count": 112
                    },
                    {
                        "key": "commons",
                        "doc_count": 103
                    },
                    {
                        "key": "pywikibot",
                        "doc_count": 99
                    },
                    {
                        "key": "api",
                        "doc_count": 75
                    },
                    {
                        "key": "wikimedia commons",
                        "doc_count": 74
                    },
                    {
                        "key": "statistics",
                        "doc_count": 67
                    }
                ]
            }
        }
    },
    "results": [
        {
            "name": "toolforge-yapping-sodium",
            "title": "Yapperbot (Sodium flavored)",
            "description": "SodiumBot service to take over Naptya's Yapperbot's roles",
            "url": "https://toolsadmin.wikimedia.org/tools/id/yapping-sodium",
            "keywords": [
                "golang"
            ],
            "author": [
                {
                    "name": "Naypta",
                    "wiki_username": null,
                    "developer_username": null,
                    "email": null,
                    "url": null
                }
            ],
            "repository": "https://github.com/sohomdatta1/yapperbot-services",
            "subtitle": null,
            "openhub_id": null,
            "url_alternates": [],
            "bot_username": null,
            "deprecated": false,
            "replaced_by": null,
            "experimental": false,
            "for_wikis": [],
            "icon": null,
            "license": "GPL-3.0-only",
            "sponsor": [],
            "available_ui_languages": [],
            "technology_used": [
                "Toolforge"
            ],
            "tool_type": null,
            "api_url": null,
            "developer_docs_url": [],
            "user_docs_url": [],
            "feedback_url": [],
            "privacy_policy_url": [],
            "translate_url": null,
            "bugtracker_url": null,
            "annotations": {
                "wikidata_qid": null,
                "audiences": [],
                "content_types": [],
                "tasks": [],
                "subject_domains": [],
                "deprecated": false,
                "replaced_by": null,
                "experimental": false,
                "for_wikis": [],
                "icon": null,
                "available_ui_languages": [],
                "tool_type": null,
                "repository": null,
                "api_url": null,
                "developer_docs_url": [],
                "user_docs_url": [],
                "feedback_url": [],
                "privacy_policy_url": [],
                "translate_url": null,
                "bugtracker_url": null
            },
            "_schema": "/toolinfo/1.2.2",
            "_language": "en",
            "origin": "crawler",
            "created_by": {
                "id": 9,
                "username": "Toolhub"
            },
            "created_date": "2025-06-18T11:00:35.103094+00:00",
            "modified_by": {
                "id": 9,
                "username": "Toolhub"
            },
            "modified_date": "2025-06-29T04:00:28.531403+00:00"
        },
        {
            "name": "toolforge-wdbench",
            "title": "Wikidata workbench",
            "description": "Displays authors and author strings in series ordinal order.\r\nAllow deletion of  authors and author string claims, with transfer of sources and qualifiers to retained claims.",
            "url": "https://wdbench.toolforge.org/",
            "keywords": [],
            "author": [
                {
                    "name": "William Avery",
                    "wiki_username": null,
                    "developer_username": null,
                    "email": null,
                    "url": null
                }
            ],
            "repository": "https://gitlab.wikimedia.org/williamavery/wdbench",
            "subtitle": null,
            "openhub_id": null,
            "url_alternates": [],
            "bot_username": null,
            "deprecated": false,
            "replaced_by": null,
            "experimental": false,
            "for_wikis": [],
            "icon": null,
            "license": "MIT",
            "sponsor": [],
            "available_ui_languages": [],
            "technology_used": [
                "Toolforge"
            ],
            "tool_type": "web app",
            "api_url": null,
            "developer_docs_url": [],
            "user_docs_url": [],
            "feedback_url": [],
            "privacy_policy_url": [],
            "translate_url": null,
            "bugtracker_url": null,
            "annotations": {
                "wikidata_qid": null,
                "audiences": [],
                "content_types": [],
                "tasks": [],
                "subject_domains": [],
                "deprecated": false,
                "replaced_by": null,
                "experimental": false,
                "for_wikis": [],
                "icon": null,
                "available_ui_languages": [],
                "tool_type": null,
                "repository": null,
                "api_url": null,
                "developer_docs_url": [],
                "user_docs_url": [],
                "feedback_url": [],
                "privacy_policy_url": [],
                "translate_url": null,
                "bugtracker_url": null
            },
            "_schema": "/toolinfo/1.2.2",
            "_language": "en",
            "origin": "crawler",
            "created_by": {
                "id": 9,
                "username": "Toolhub"
            },
            "created_date": "2025-06-16T22:00:31.299777+00:00",
            "modified_by": {
                "id": 9,
                "username": "Toolhub"
            },
            "modified_date": "2025-06-16T22:00:31.299857+00:00"
        },
        {
            "name": "enwiki-daniel-quinlan-filterdiff",
            "title": "FilterDiff",
            "description": "Improves the readability of Special:AbuseFilter version diffs.",
            "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/FilterDiff.js",
            "keywords": [],
            "author": [
                {
                    "name": "Daniel Quinlan",
                    "wiki_username": null,
                    "developer_username": null,
                    "email": null,
                    "url": null
                }
            ],
            "repository": null,
            "subtitle": null,
            "openhub_id": null,
            "url_alternates": [],
            "bot_username": null,
            "deprecated": false,
            "replaced_by": null,
            "experimental": false,
            "for_wikis": [],
            "icon": null,
            "license": "CC-BY-SA-4.0",
            "sponsor": [],
            "available_ui_languages": [],
            "technology_used": [],
            "tool_type": "user script",
            "api_url": null,
            "developer_docs_url": [],
            "user_docs_url": [
                {
                    "language": "en",
                    "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/FilterDiff"
                }
            ],
            "feedback_url": [],
            "privacy_policy_url": [],
            "translate_url": null,
            "bugtracker_url": null,
            "annotations": {
                "wikidata_qid": null,
                "audiences": [],
                "content_types": [],
                "tasks": [],
                "subject_domains": [],
                "deprecated": false,
                "replaced_by": null,
                "experimental": false,
                "for_wikis": [],
                "icon": null,
                "available_ui_languages": [],
                "tool_type": null,
                "repository": null,
                "api_url": null,
                "developer_docs_url": [],
                "user_docs_url": [],
                "feedback_url": [],
                "privacy_policy_url": [],
                "translate_url": null,
                "bugtracker_url": null
            },
            "_schema": null,
            "_language": "en",
            "origin": "crawler",
            "created_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "created_date": "2025-06-15T04:01:14.140707+00:00",
            "modified_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "modified_date": "2025-06-15T04:01:14.140746+00:00"
        },
        {
            "name": "enwiki-daniel-quinlan-filterblame",
            "title": "FilterBlame",
            "description": "Makes it easy to find the version of an AbuseFilter where specific text was added or removed.",
            "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/FilterBlame.js",
            "keywords": [],
            "author": [
                {
                    "name": "Daniel Quinlan",
                    "wiki_username": null,
                    "developer_username": null,
                    "email": null,
                    "url": null
                }
            ],
            "repository": null,
            "subtitle": null,
            "openhub_id": null,
            "url_alternates": [],
            "bot_username": null,
            "deprecated": false,
            "replaced_by": null,
            "experimental": false,
            "for_wikis": [],
            "icon": null,
            "license": "CC-BY-SA-4.0",
            "sponsor": [],
            "available_ui_languages": [],
            "technology_used": [],
            "tool_type": "user script",
            "api_url": null,
            "developer_docs_url": [],
            "user_docs_url": [
                {
                    "language": "en",
                    "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/FilterBlame"
                }
            ],
            "feedback_url": [],
            "privacy_policy_url": [],
            "translate_url": null,
            "bugtracker_url": null,
            "annotations": {
                "wikidata_qid": null,
                "audiences": [],
                "content_types": [],
                "tasks": [],
                "subject_domains": [],
                "deprecated": false,
                "replaced_by": null,
                "experimental": false,
                "for_wikis": [],
                "icon": null,
                "available_ui_languages": [],
                "tool_type": null,
                "repository": null,
                "api_url": null,
                "developer_docs_url": [],
                "user_docs_url": [],
                "feedback_url": [],
                "privacy_policy_url": [],
                "translate_url": null,
                "bugtracker_url": null
            },
            "_schema": null,
            "_language": "en",
            "origin": "crawler",
            "created_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "created_date": "2025-06-15T04:01:14.014358+00:00",
            "modified_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "modified_date": "2025-06-15T04:01:14.014394+00:00"
        },
        {
            "name": "enwiki-daniel-quinlan-socktags",
            "title": "SockTags",
            "description": "Enhances sockpuppet investigation pages with visual tags.",
            "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/SockTags.js",
            "keywords": [],
            "author": [
                {
                    "name": "Daniel Quinlan",
                    "wiki_username": null,
                    "developer_username": null,
                    "email": null,
                    "url": null
                }
            ],
            "repository": null,
            "subtitle": null,
            "openhub_id": null,
            "url_alternates": [],
            "bot_username": null,
            "deprecated": false,
            "replaced_by": null,
            "experimental": false,
            "for_wikis": [],
            "icon": null,
            "license": "CC-BY-SA-4.0",
            "sponsor": [],
            "available_ui_languages": [],
            "technology_used": [],
            "tool_type": "user script",
            "api_url": null,
            "developer_docs_url": [],
            "user_docs_url": [
                {
                    "language": "en",
                    "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/SockTags"
                }
            ],
            "feedback_url": [],
            "privacy_policy_url": [],
            "translate_url": null,
            "bugtracker_url": null,
            "annotations": {
                "wikidata_qid": null,
                "audiences": [],
                "content_types": [],
                "tasks": [],
                "subject_domains": [],
                "deprecated": false,
                "replaced_by": null,
                "experimental": false,
                "for_wikis": [],
                "icon": null,
                "available_ui_languages": [],
                "tool_type": null,
                "repository": null,
                "api_url": null,
                "developer_docs_url": [],
                "user_docs_url": [],
                "feedback_url": [],
                "privacy_policy_url": [],
                "translate_url": null,
                "bugtracker_url": null
            },
            "_schema": null,
            "_language": "en",
            "origin": "crawler",
            "created_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "created_date": "2025-06-15T04:01:07.306987+00:00",
            "modified_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "modified_date": "2025-06-15T04:01:07.307026+00:00"
        },
        {
            "name": "enwiki-daniel-quinlan-rangehelper",
            "title": "RangeHelper",
            "description": "Streamlines interacting with IP addresses and IP ranges.",
            "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/RangeHelper.js",
            "keywords": [],
            "author": [
                {
                    "name": "Daniel Quinlan",
                    "wiki_username": null,
                    "developer_username": null,
                    "email": null,
                    "url": null
                }
            ],
            "repository": null,
            "subtitle": null,
            "openhub_id": null,
            "url_alternates": [],
            "bot_username": null,
            "deprecated": false,
            "replaced_by": null,
            "experimental": false,
            "for_wikis": [],
            "icon": null,
            "license": "CC-BY-SA-4.0",
            "sponsor": [],
            "available_ui_languages": [],
            "technology_used": [],
            "tool_type": "user script",
            "api_url": null,
            "developer_docs_url": [],
            "user_docs_url": [
                {
                    "language": "en",
                    "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/RangeHelper"
                }
            ],
            "feedback_url": [],
            "privacy_policy_url": [],
            "translate_url": null,
            "bugtracker_url": null,
            "annotations": {
                "wikidata_qid": null,
                "audiences": [],
                "content_types": [],
                "tasks": [],
                "subject_domains": [],
                "deprecated": false,
                "replaced_by": null,
                "experimental": false,
                "for_wikis": [],
                "icon": null,
                "available_ui_languages": [],
                "tool_type": null,
                "repository": null,
                "api_url": null,
                "developer_docs_url": [],
                "user_docs_url": [],
                "feedback_url": [],
                "privacy_policy_url": [],
                "translate_url": null,
                "bugtracker_url": null
            },
            "_schema": null,
            "_language": "en",
            "origin": "crawler",
            "created_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "created_date": "2025-06-15T04:01:07.163559+00:00",
            "modified_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "modified_date": "2025-06-15T04:01:07.163599+00:00"
        },
        {
            "name": "enwiki-daniel-quinlan-userhighlighter",
            "title": "UserHighlighter",
            "description": "Highlights users based on groups and blocks.",
            "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/UserHighlighter.js",
            "keywords": [],
            "author": [
                {
                    "name": "Daniel Quinlan",
                    "wiki_username": null,
                    "developer_username": null,
                    "email": null,
                    "url": null
                }
            ],
            "repository": null,
            "subtitle": null,
            "openhub_id": null,
            "url_alternates": [],
            "bot_username": null,
            "deprecated": false,
            "replaced_by": null,
            "experimental": false,
            "for_wikis": [],
            "icon": null,
            "license": "CC-BY-SA-4.0",
            "sponsor": [],
            "available_ui_languages": [],
            "technology_used": [],
            "tool_type": "user script",
            "api_url": null,
            "developer_docs_url": [],
            "user_docs_url": [
                {
                    "language": "en",
                    "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/UserHighlighter"
                }
            ],
            "feedback_url": [],
            "privacy_policy_url": [],
            "translate_url": null,
            "bugtracker_url": null,
            "annotations": {
                "wikidata_qid": null,
                "audiences": [],
                "content_types": [],
                "tasks": [],
                "subject_domains": [],
                "deprecated": false,
                "replaced_by": null,
                "experimental": false,
                "for_wikis": [],
                "icon": null,
                "available_ui_languages": [],
                "tool_type": null,
                "repository": null,
                "api_url": null,
                "developer_docs_url": [],
                "user_docs_url": [],
                "feedback_url": [],
                "privacy_policy_url": [],
                "translate_url": null,
                "bugtracker_url": null
            },
            "_schema": null,
            "_language": "en",
            "origin": "crawler",
            "created_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "created_date": "2025-06-15T04:01:06.893448+00:00",
            "modified_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "modified_date": "2025-06-15T04:01:06.893507+00:00"
        },
        {
            "name": "enwiki-daniel-quinlan-unfiltered",
            "title": "Unfiltered",
            "description": "Provides a complete view of user edit activity by displaying edit filter hits, including removed and unsuccessful edits.",
            "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/Unfiltered.js",
            "keywords": [],
            "author": [
                {
                    "name": "Daniel Quinlan",
                    "wiki_username": null,
                    "developer_username": null,
                    "email": null,
                    "url": null
                }
            ],
            "repository": null,
            "subtitle": null,
            "openhub_id": null,
            "url_alternates": [],
            "bot_username": null,
            "deprecated": false,
            "replaced_by": null,
            "experimental": false,
            "for_wikis": [],
            "icon": null,
            "license": "CC-BY-SA-4.0",
            "sponsor": [],
            "available_ui_languages": [],
            "technology_used": [],
            "tool_type": "user script",
            "api_url": null,
            "developer_docs_url": [],
            "user_docs_url": [
                {
                    "language": "en",
                    "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/Unfiltered"
                }
            ],
            "feedback_url": [],
            "privacy_policy_url": [],
            "translate_url": null,
            "bugtracker_url": null,
            "annotations": {
                "wikidata_qid": null,
                "audiences": [],
                "content_types": [],
                "tasks": [],
                "subject_domains": [],
                "deprecated": false,
                "replaced_by": null,
                "experimental": false,
                "for_wikis": [],
                "icon": null,
                "available_ui_languages": [],
                "tool_type": null,
                "repository": null,
                "api_url": null,
                "developer_docs_url": [],
                "user_docs_url": [],
                "feedback_url": [],
                "privacy_policy_url": [],
                "translate_url": null,
                "bugtracker_url": null
            },
            "_schema": null,
            "_language": "en",
            "origin": "crawler",
            "created_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "created_date": "2025-06-15T04:01:06.398028+00:00",
            "modified_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "modified_date": "2025-06-15T04:01:06.398065+00:00"
        },
        {
            "name": "enwiki-daniel-quinlan-vanilla",
            "title": "Vanilla",
            "description": "Replaces custom signatures with simplified formats.",
            "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/Vanilla.js",
            "keywords": [],
            "author": [
                {
                    "name": "Daniel Quinlan",
                    "wiki_username": null,
                    "developer_username": null,
                    "email": null,
                    "url": null
                }
            ],
            "repository": null,
            "subtitle": null,
            "openhub_id": null,
            "url_alternates": [],
            "bot_username": null,
            "deprecated": false,
            "replaced_by": null,
            "experimental": false,
            "for_wikis": [],
            "icon": null,
            "license": "CC-BY-SA-4.0",
            "sponsor": [],
            "available_ui_languages": [],
            "technology_used": [],
            "tool_type": "user script",
            "api_url": null,
            "developer_docs_url": [],
            "user_docs_url": [
                {
                    "language": "en",
                    "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/Vanilla"
                }
            ],
            "feedback_url": [],
            "privacy_policy_url": [],
            "translate_url": null,
            "bugtracker_url": null,
            "annotations": {
                "wikidata_qid": null,
                "audiences": [],
                "content_types": [],
                "tasks": [],
                "subject_domains": [],
                "deprecated": false,
                "replaced_by": null,
                "experimental": false,
                "for_wikis": [],
                "icon": null,
                "available_ui_languages": [],
                "tool_type": null,
                "repository": null,
                "api_url": null,
                "developer_docs_url": [],
                "user_docs_url": [],
                "feedback_url": [],
                "privacy_policy_url": [],
                "translate_url": null,
                "bugtracker_url": null
            },
            "_schema": null,
            "_language": "en",
            "origin": "crawler",
            "created_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "created_date": "2025-06-15T04:01:03.869395+00:00",
            "modified_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "modified_date": "2025-06-15T04:01:03.869435+00:00"
        },
        {
            "name": "enwiki-daniel-quinlan-clock",
            "title": "Clock",
            "description": "Displays a UTC clock at the bottom right corner of Wikipedia pages.",
            "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/Clock.js",
            "keywords": [],
            "author": [
                {
                    "name": "Daniel Quinlan",
                    "wiki_username": null,
                    "developer_username": null,
                    "email": null,
                    "url": null
                }
            ],
            "repository": null,
            "subtitle": null,
            "openhub_id": null,
            "url_alternates": [],
            "bot_username": null,
            "deprecated": false,
            "replaced_by": null,
            "experimental": false,
            "for_wikis": [],
            "icon": null,
            "license": "CC-BY-SA-4.0",
            "sponsor": [],
            "available_ui_languages": [],
            "technology_used": [],
            "tool_type": "user script",
            "api_url": null,
            "developer_docs_url": [],
            "user_docs_url": [
                {
                    "language": "en",
                    "url": "https://en.wikipedia.org/wiki/User:Daniel_Quinlan/Scripts/Clock"
                }
            ],
            "feedback_url": [],
            "privacy_policy_url": [],
            "translate_url": null,
            "bugtracker_url": null,
            "annotations": {
                "wikidata_qid": null,
                "audiences": [],
                "content_types": [],
                "tasks": [],
                "subject_domains": [],
                "deprecated": false,
                "replaced_by": null,
                "experimental": false,
                "for_wikis": [],
                "icon": null,
                "available_ui_languages": [],
                "tool_type": null,
                "repository": null,
                "api_url": null,
                "developer_docs_url": [],
                "user_docs_url": [],
                "feedback_url": [],
                "privacy_policy_url": [],
                "translate_url": null,
                "bugtracker_url": null
            },
            "_schema": null,
            "_language": "en",
            "origin": "crawler",
            "created_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "created_date": "2025-06-15T04:01:01.525420+00:00",
            "modified_by": {
                "id": 3,
                "username": "BDavis (WMF)"
            },
            "modified_date": "2025-06-15T04:01:01.525461+00:00"
        }
    ]
}