Search isnads
shamela_search_isnadبحث في الأسانيد
Search the 45,220 isnād chains Shamela indexes across ten ḥadīth books (Bukhārī 1681, Muslim 711, Abū Dāwūd 654, Tirmidhī 7895, Nasāʾī 829, Muwaṭṭaʾ 28107, Ṭayālisī 1456, Ibn al-Jārūd 627/13071, ʿIlal al-Tirmidhī 642). Two constraints, both taking narrator ids from shamela_search_narrators: contains requires the narrators to appear ANYWHERE in the chain, and transmission takes [teacher_id, student_id] pairs that must be ADJACENT and in that order — direct audition with nobody in between. transmission is the strictly stronger claim and the one ʿilm al-rijāl asks: «did X actually hear from Y». Every result gives book, page and the chain resolved to names and death years, so a claim can be checked against the printed page with shamela_get_page. Chains run ASCENDING: chain[0] is the Companion, the last link is the collector. At least one constraint is required. Examples: shamela_search_isnad({transmission:[[1580,2779]]}) — chains where Shuʿba heard from al-Ḥakam b. ʿUtayba; shamela_search_isnad({contains:[2779], scope_book_ids:[1681]}) — Shuʿba's chains in al-Bukhārī.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | Chains to skip, for paging. | |
| contains | No | Narrator ids that must ALL appear in the chain, at any position and in any order. Use for «which reports pass through both X and Y». | |
| max_results | No | Chains to return per page (1-100, default 20). | |
| transmission | No | Pairs [teacher_id, student_id] that must appear ADJACENT and in that order — direct transmission, the student having heard from the teacher with nobody in between. This is the question «did X really narrate from Y», and it is strictly stronger than listing both in `contains`. All pairs are ANDed. | |
| scope_book_ids | No | Restrict to these books. The isnād index covers only ten: صحيح البخاري (1681), صحيح مسلم (711), سنن أبي داود (654), سنن الترمذي (7895), سنن النسائي (829), موطأ مالك (28107), مسند الطيالسي (1456), المنتقى لابن الجارود (627 و13071), وعلل الترمذي (642). | |
| 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 |