Search isnad narrators
shamela_search_narratorsبحث في رجال الأسانيد
Find a ḥadīth narrator (راوٍ) by name in Shamela's rijāl register — 18,989 narrators with death years 2-774 AH. This is the entry point for ʿilm al-rijāl: every other narrator/isnād tool takes the narrator_id this returns. The query is folded the same way page search folds Arabic, so «شعبه» finds «شعبة» and tashkeel is ignored; tokens are ANDed and match anywhere in the short name, the full lineage, or the shuhra / laqab / kunya / nisba — so «الزهري» and «الأعمش», which are how these men are actually cited, now find them. Results are ordered by how much the register documents a man (the size of his jarḥ-wa-taʿdīl dossier), death year breaking ties: the narrator an isnād would actually name comes ahead of an obscure namesake. Names are common in this corpus — always check the death year and grade before deciding which «محمد بن إسماعيل» you have. Examples: shamela_search_narrators({query:'شعبة بن الحجاج'}), shamela_search_narrators({query:'الزهري'}).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum narrators to return (1-50, default 10). | |
| query | Yes | Part of the narrator's name, in Arabic. Matched against the short name, the full lineage, and the register's الشهرة / اللقب / الكنية / النسب — so «الزهري» and «الأعمش» reach the men known by those nisbas even though neither appears in their recorded name. Folding is the same the page search uses, so «شعبه» finds «شعبة» and tashkeel is ignored. Tokens are ANDed and match anywhere, so «شعبة الحجاج» works even though the name reads «شعبة بن الحجاج». Results are ordered by how much al-jarḥ wa-l-taʿdīl the register holds on each man — the most-discussed «الزهري» first — with the earliest death year breaking ties. | |
| offset | No | Narrators to skip, for paging. Common names match in the thousands — «محمد بن» matches 3,620 — so page with this or narrow the query. | |
| response_format | No | Output format for the human-readable text. 'markdown' (default) is best for direct display; 'json' returns the same data as a single JSON code block; 'none' skips the rendered text entirely and returns a one-line pointer, leaving `structuredContent` as the whole answer. The structured data is returned in `structuredContent` regardless of this setting, so a caller that parses it should pass 'none' — the character budget is measured over BOTH channels, and the unread copy is otherwise spending most of it. Requires the 'response_format.none' capability (see shamela_brief). | markdown |