🔥 The fastest and powerful Python library for Instagram Private API 2026 with HikerAPI SaaS
This report presents the forensic synthetic code analysis of subzeroid/instagrapi, a Python project with 6,475 GitHub stars. SynthScan v2.0 examined 57,383 lines of code across 207 source files, recording 1480 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 24.4 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1480 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/story.py | 20 | def _import_moviepy_for_story(): | CODE |
| LOW | instagrapi/extractors.py | 51 | def _normalize_media_gql_typename(data): | CODE |
| LOW | instagrapi/extractors.py | 193 | def extract_media_comments_preview_gql(data): | CODE |
| LOW | instagrapi/extractors.py | 205 | def extract_media_inline_comment_gql(data, replied_to_comment_id=None): | CODE |
| LOW | instagrapi/extractors.py | 284 | def extract_broadcast_channel(data): | CODE |
| LOW | instagrapi/extractors.py | 406 | def extract_direct_short_thread(data): | CODE |
| LOW | instagrapi/extractors.py | 416 | def _direct_timestamp_from_microseconds(timestamp): | CODE |
| LOW | instagrapi/extractors.py | 430 | def _convert_direct_visual_media_timestamps(visual_media): | CODE |
| LOW | instagrapi/extractors.py | 658 | def extract_story_archive_day(data): | CODE |
| LOW⚡ | instagrapi/mixins/auth.py | 540 | def _infer_bloks_two_factor_challenge(self, data: Dict, verification_code: str = "") -> str: | CODE |
| LOW⚡ | instagrapi/mixins/auth.py | 549 | def _is_unavailable_caa_bloks_login_error(self, exc: ClientError) -> bool: | CODE |
| LOW⚡ | instagrapi/mixins/auth.py | 556 | def _login_with_bloks_two_factor(self, verification_code: str, login_json: Dict, exc: Exception) -> bool: | CODE |
| LOW | instagrapi/mixins/auth.py | 142 | def set_contact_point_prefill(self, usage: str = "prefill") -> Dict: | CODE |
| LOW | instagrapi/mixins/auth.py | 200 | def _timeline_seen_posts_from_response(self, response: Dict) -> List[str]: | CODE |
| LOW | instagrapi/mixins/auth.py | 213 | def _remember_timeline_seen_posts(self, response: Dict) -> None: | CODE |
| LOW | instagrapi/mixins/auth.py | 224 | def _join_timeline_seen_posts(seen_posts: Union[str, Iterable[str], None]) -> str: | CODE |
| LOW | instagrapi/mixins/auth.py | 245 | def _timeline_feed_view_info_json(self, feed_view_info: Union[str, List[Dict], None], seen_posts: str) -> str: | CODE |
| LOW | instagrapi/mixins/auth.py | 255 | def _timeline_session_level_signals_json() -> str: | CODE |
| LOW | instagrapi/mixins/auth.py | 483 | def _find_login_response_value(self, data: Any, key: str) -> Any: | CODE |
| LOW | instagrapi/mixins/auth.py | 499 | def _extract_two_step_verification_context(self, data: Dict) -> str: | CODE |
| LOW | instagrapi/mixins/auth.py | 520 | def _login_response_requires_recovery(self, data: Dict) -> bool: | CODE |
| LOW | instagrapi/mixins/auth.py | 593 | def _login_with_caa_bloks_two_factor(self, verification_code: str, password: str, exc: Exception) -> bool: | CODE |
| LOW | instagrapi/mixins/auth.py | 687 | def _user_short_from_private_stream(self, user_id: str) -> UserShort: | CODE |
| LOW | instagrapi/mixins/auth.py | 1176 | def is_current_or_newer_app_version(value: Any) -> bool: | CODE |
| LOW | instagrapi/mixins/auth.py | 1284 | def generate_android_device_id(self) -> str: | CODE |
| LOW | instagrapi/mixins/auth.py | 1384 | def inject_sessionid_to_public(self) -> bool: | CODE |
| LOW | instagrapi/mixins/bloks.py | 120 | def bloks_challenge_take_challenge( | CODE |
| LOW | instagrapi/mixins/bloks.py | 159 | def bloks_fxcal_link_reels_share( | CODE |
| LOW | instagrapi/mixins/bloks.py | 197 | def bloks_two_step_verification_entrypoint( | CODE |
| LOW | instagrapi/mixins/bloks.py | 240 | def bloks_two_step_verification_method_picker( | CODE |
| LOW | instagrapi/mixins/bloks.py | 274 | def bloks_two_step_verification_select_method( | CODE |
| LOW | instagrapi/mixins/bloks.py | 318 | def bloks_two_step_verification_enter_totp_code( | CODE |
| LOW | instagrapi/mixins/bloks.py | 347 | def bloks_two_step_verification_enter_backup_code( | CODE |
| LOW | instagrapi/mixins/bloks.py | 376 | def bloks_two_step_verification_verify_code( | CODE |
| LOW | instagrapi/mixins/bloks.py | 435 | def bloks_caa_login_send_request( | CODE |
| LOW | instagrapi/mixins/bloks.py | 581 | def _extract_first_json_string(value: str, start: int) -> str: | CODE |
| LOW | instagrapi/mixins/bloks.py | 591 | def bloks_extract_two_step_verification_context(self, result: Dict) -> str: | CODE |
| LOW | instagrapi/mixins/bloks.py | 618 | def bloks_extract_login_response(self, result: Dict) -> Dict[str, Any]: | CODE |
| LOW | instagrapi/mixins/bloks.py | 668 | def bloks_apply_login_response(self, result: Dict) -> bool: | CODE |
| LOW⚡ | instagrapi/mixins/user.py | 1259 | def user_follow_requests_chunk(self, max_amount: int = 0, max_id: str = "") -> Tuple[List[UserShort], str]: | CODE |
| LOW | instagrapi/mixins/user.py | 68 | def _user_info_by_username_public(self, username: str) -> User: | CODE |
| LOW | instagrapi/mixins/user.py | 154 | def user_web_profile_info_gql(self, user_id: str) -> dict: | CODE |
| LOW | instagrapi/mixins/user.py | 176 | def username_from_user_id_gql(self, user_id: str) -> str: | CODE |
| LOW | instagrapi/mixins/user.py | 225 | def user_info_by_username_gql(self, username: str) -> User: | CODE |
| LOW | instagrapi/mixins/user.py | 312 | def _normalize_polaris_profile(user_data: dict) -> dict: | CODE |
| LOW | instagrapi/mixins/user.py | 1104 | def user_followers_private_gql_chunk( | CODE |
| LOW | instagrapi/mixins/user.py | 1154 | def user_followers_private_gql( | CODE |
| LOW | instagrapi/mixins/user.py | 1313 | def user_follow_request_approve(self, user_id: str) -> bool: | CODE |
| LOW | instagrapi/mixins/user.py | 1335 | def user_follow_request_decline(self, user_id: str) -> bool: | CODE |
| LOW | instagrapi/mixins/user.py | 1357 | def user_follow_requests_approve(self, user_ids: List[str]) -> Dict[str, bool]: | CODE |
| LOW | instagrapi/mixins/user.py | 1372 | def user_follow_requests_decline(self, user_ids: List[str]) -> Dict[str, bool]: | CODE |
| LOW | instagrapi/mixins/user.py | 1675 | def unmute_stories_from_follow(self, user_id: str) -> bool: | CODE |
| LOW | instagrapi/mixins/user.py | 1691 | def enable_posts_notifications(self, user_id: str, disable: bool = False) -> bool: | CODE |
| LOW | instagrapi/mixins/user.py | 1714 | def disable_posts_notifications(self, user_id: str) -> bool: | CODE |
| LOW | instagrapi/mixins/user.py | 1729 | def enable_videos_notifications(self, user_id: str, revert: bool = False) -> bool: | CODE |
| LOW | instagrapi/mixins/user.py | 1752 | def disable_videos_notifications(self, user_id: str) -> bool: | CODE |
| LOW | instagrapi/mixins/user.py | 1767 | def enable_reels_notifications(self, user_id: str, revert: bool = False) -> bool: | CODE |
| LOW | instagrapi/mixins/user.py | 1790 | def disable_reels_notifications(self, user_id: str) -> bool: | CODE |
| LOW | instagrapi/mixins/user.py | 1805 | def enable_stories_notifications(self, user_id: str, revert: bool = False) -> bool: | CODE |
| LOW | instagrapi/mixins/user.py | 1828 | def disable_stories_notifications(self, user_id: str) -> bool: | CODE |
| 895 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/story.py | 25 | except Exception as exc: | CODE |
| MEDIUM | instagrapi/story.py | 20 | def _import_moviepy_for_story(): | CODE |
| LOW | instagrapi/image_util.py | 216 | except Exception as exc: | CODE |
| LOW | instagrapi/mixins/auth.py | 1421 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/story.py | 230 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/story.py | 238 | except Exception as e: | CODE |
| MEDIUM | instagrapi/mixins/user.py | 272 | def _inject_sessionid_for_v2_gql(self) -> None: | CODE |
| LOW⚡ | instagrapi/mixins/user.py | 1242 | except Exception as e: | CODE |
| LOW⚡ | instagrapi/mixins/user.py | 1249 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/user.py | 275 | except Exception as exc: | CODE |
| LOW | instagrapi/mixins/user.py | 371 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/user.py | 378 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/user.py | 499 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/user.py | 506 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/user.py | 881 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/user.py | 888 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/user.py | 1409 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/public.py | 386 | except Exception: | CODE |
| MEDIUM | instagrapi/mixins/public.py | 144 | def _build_public_session_retry_strategy(self): | CODE |
| LOW | instagrapi/mixins/graphql.py | 290 | except Exception: | CODE |
| MEDIUM | instagrapi/mixins/graphql.py | 155 | def _json_from_graphql_response(self, response): | CODE |
| MEDIUM | instagrapi/mixins/media.py | 1252 | def public_lookup(): | CODE |
| MEDIUM | instagrapi/mixins/media.py | 1366 | def public_lookup(): | CODE |
| LOW⚡ | instagrapi/mixins/media.py | 55 | except Exception: | CODE |
| LOW | instagrapi/mixins/media.py | 245 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 256 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 291 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 302 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 695 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 702 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1097 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1136 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1183 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1222 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1267 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1278 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1380 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1389 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1431 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1470 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1820 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1855 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1886 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 2033 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 2060 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 2086 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 2107 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 2130 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 2151 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/timeline.py | 103 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/signup.py | 173 | except Exception: | CODE |
| LOW | instagrapi/mixins/signup.py | 996 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/album.py | 224 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/captcha.py | 78 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/hashtag.py | 159 | except Exception: | CODE |
| LOW | instagrapi/mixins/hashtag.py | 198 | except Exception: | CODE |
| LOW | instagrapi/mixins/hashtag.py | 312 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/hashtag.py | 322 | except Exception as e: | CODE |
| MEDIUM | instagrapi/mixins/hashtag.py | 296 | def public_lookup(): | CODE |
| LOW | instagrapi/mixins/location.py | 250 | except Exception: | CODE |
| 115 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/utils/__init__.py | 1 | CODE | |
| LOW | instagrapi/utils/__init__.py | 1 | CODE | |
| LOW | instagrapi/utils/__init__.py | 1 | CODE | |
| LOW | instagrapi/utils/__init__.py | 1 | CODE | |
| LOW | instagrapi/utils/__init__.py | 7 | CODE | |
| LOW | instagrapi/utils/__init__.py | 8 | CODE | |
| LOW | instagrapi/utils/__init__.py | 8 | CODE | |
| LOW | instagrapi/utils/__init__.py | 8 | CODE | |
| LOW | instagrapi/utils/__init__.py | 9 | CODE | |
| LOW | instagrapi/utils/__init__.py | 9 | CODE | |
| LOW | instagrapi/utils/__init__.py | 10 | CODE | |
| LOW | instagrapi/realtime/__init__.py | 1 | CODE | |
| LOW | instagrapi/realtime/__init__.py | 2 | CODE | |
| LOW | instagrapi/realtime/__init__.py | 2 | CODE | |
| LOW | tests/__init__.py | 1 | CODE | |
| LOW | tests/__init__.py | 2 | CODE | |
| LOW | tests/__init__.py | 3 | CODE | |
| LOW | tests/__init__.py | 4 | CODE | |
| LOW | tests/__init__.py | 4 | CODE | |
| LOW | tests/__init__.py | 4 | CODE | |
| LOW | tests/__init__.py | 9 | CODE | |
| LOW | tests/__init__.py | 10 | CODE | |
| LOW | tests/__init__.py | 10 | CODE | |
| LOW | tests/__init__.py | 11 | CODE | |
| LOW | tests/__init__.py | 11 | CODE | |
| LOW | tests/__init__.py | 11 | CODE | |
| LOW | tests/__init__.py | 11 | CODE | |
| LOW | tests/__init__.py | 17 | CODE | |
| LOW | tests/__init__.py | 18 | CODE | |
| LOW | tests/__init__.py | 19 | CODE | |
| LOW | tests/__init__.py | 20 | CODE | |
| LOW | tests/__init__.py | 21 | CODE | |
| LOW | tests/__init__.py | 21 | CODE | |
| LOW | tests/__init__.py | 21 | CODE | |
| LOW | tests/__init__.py | 21 | CODE | |
| LOW | tests/__init__.py | 27 | CODE | |
| LOW | tests/__init__.py | 28 | CODE | |
| LOW | tests/__init__.py | 28 | CODE | |
| LOW | tests/__init__.py | 29 | CODE | |
| LOW | tests/__init__.py | 30 | CODE | |
| LOW | tests/__init__.py | 31 | CODE | |
| LOW | tests/__init__.py | 32 | CODE | |
| LOW | tests/__init__.py | 33 | CODE | |
| LOW | tests/__init__.py | 34 | CODE | |
| LOW | tests/__init__.py | 34 | CODE | |
| LOW | tests/__init__.py | 34 | CODE | |
| LOW | tests/__init__.py | 39 | CODE | |
| LOW | tests/__init__.py | 39 | CODE | |
| LOW | tests/__init__.py | 39 | CODE | |
| LOW | tests/__init__.py | 39 | CODE | |
| LOW | tests/__init__.py | 45 | CODE | |
| LOW | tests/__init__.py | 46 | CODE | |
| LOW | tests/__init__.py | 47 | CODE | |
| LOW | tests/__init__.py | 48 | CODE | |
| LOW | tests/__init__.py | 49 | CODE | |
| LOW | tests/__init__.py | 50 | CODE | |
| LOW | tests/__init__.py | 51 | CODE | |
| LOW | tests/__init__.py | 51 | CODE | |
| LOW | tests/__init__.py | 55 | CODE | |
| LOW | tests/__init__.py | 56 | CODE | |
| 149 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/extractors.py | 430 | CODE | |
| LOW | instagrapi/mixins/auth.py | 483 | CODE | |
| LOW | instagrapi/mixins/auth.py | 737 | CODE | |
| LOW | instagrapi/mixins/bloks.py | 557 | CODE | |
| LOW | instagrapi/mixins/story.py | 349 | CODE | |
| LOW | instagrapi/mixins/user.py | 350 | CODE | |
| LOW | instagrapi/mixins/user.py | 478 | CODE | |
| LOW | instagrapi/mixins/user.py | 857 | CODE | |
| LOW | instagrapi/mixins/user.py | 1204 | CODE | |
| LOW | instagrapi/mixins/fbsearch.py | 14 | CODE | |
| LOW | instagrapi/mixins/public.py | 257 | CODE | |
| LOW | instagrapi/mixins/graphql.py | 207 | CODE | |
| LOW | instagrapi/mixins/media.py | 249 | CODE | |
| LOW | instagrapi/mixins/media.py | 295 | CODE | |
| LOW | instagrapi/mixins/media.py | 674 | CODE | |
| LOW | instagrapi/mixins/signup.py | 111 | CODE | |
| LOW | instagrapi/mixins/signup.py | 215 | CODE | |
| LOW | instagrapi/mixins/signup.py | 243 | CODE | |
| LOW | instagrapi/mixins/signup.py | 676 | CODE | |
| LOW | instagrapi/mixins/signup.py | 919 | CODE | |
| LOW | instagrapi/mixins/album.py | 326 | CODE | |
| LOW | instagrapi/mixins/clip.py | 929 | CODE | |
| LOW | instagrapi/mixins/challenge.py | 378 | CODE | |
| LOW | instagrapi/mixins/challenge.py | 489 | CODE | |
| LOW | instagrapi/mixins/video.py | 608 | CODE | |
| LOW | instagrapi/mixins/private.py | 411 | CODE | |
| LOW | instagrapi/utils/video.py | 56 | CODE | |
| LOW | instagrapi/utils/serialization.py | 8 | CODE | |
| LOW | instagrapi/realtime/mqttot.py | 478 | CODE | |
| LOW | instagrapi/realtime/fbns.py | 254 | CODE | |
| LOW | tests/live/test_download.py | 53 | CODE | |
| LOW | tests/live/test_direct.py | 412 | CODE | |
| LOW | tests/live/test_direct.py | 459 | CODE | |
| LOW | tests/live/test_direct.py | 491 | CODE | |
| LOW | tests/live/test_direct.py | 518 | CODE | |
| LOW | tests/live/test_direct.py | 540 | CODE | |
| LOW | tests/live/test_direct.py | 603 | CODE | |
| LOW | tests/live/test_realtime.py | 64 | CODE | |
| LOW | tests/live/test_story.py | 338 | CODE | |
| LOW | tests/live/test_story.py | 162 | CODE | |
| LOW | tests/live/test_fbns.py | 61 | CODE | |
| LOW | tests/regression/test_challenge.py | 630 | CODE | |
| LOW | tests/regression/test_challenge.py | 652 | CODE | |
| LOW | tests/regression/test_challenge.py | 687 | CODE | |
| LOW | tests/regression/test_public.py | 192 | CODE | |
| LOW | tests/regression/test_signup.py | 306 | CODE | |
| LOW | tests/regression/test_signup.py | 352 | CODE | |
| LOW | tests/regression/test_signup.py | 546 | CODE | |
| LOW | tests/regression/test_signup.py | 623 | CODE | |
| LOW | tests/regression/test_upload.py | 186 | CODE | |
| LOW | tests/regression/test_upload.py | 560 | CODE | |
| LOW | tests/regression/test_upload.py | 575 | CODE | |
| LOW | tests/regression/test_upload.py | 604 | CODE | |
| LOW | tests/regression/test_upload.py | 829 | CODE | |
| LOW | tests/regression/test_upload.py | 844 | CODE | |
| LOW | tests/regression/test_upload.py | 1174 | CODE | |
| LOW | tests/regression/test_upload.py | 1254 | CODE | |
| LOW | tests/regression/test_upload.py | 1326 | CODE | |
| LOW | tests/regression/test_upload.py | 1339 | CODE | |
| LOW | tests/regression/test_upload.py | 1358 | CODE | |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/mixins/auth.py | 1054 | CODE | |
| LOW | instagrapi/mixins/bloks.py | 376 | CODE | |
| LOW | instagrapi/mixins/user.py | 270 | CODE | |
| LOW | instagrapi/mixins/user.py | 2372 | CODE | |
| LOW | instagrapi/mixins/fbsearch.py | 109 | CODE | |
| LOW | instagrapi/mixins/public.py | 558 | CODE | |
| LOW | instagrapi/mixins/media.py | 395 | CODE | |
| LOW | instagrapi/mixins/media.py | 788 | CODE | |
| LOW | instagrapi/mixins/signup.py | 843 | CODE | |
| LOW | instagrapi/mixins/album.py | 126 | CODE | |
| LOW | instagrapi/mixins/album.py | 243 | CODE | |
| LOW | instagrapi/mixins/photo.py | 357 | CODE | |
| LOW | instagrapi/mixins/photo.py | 519 | CODE | |
| LOW | instagrapi/mixins/photo.py | 609 | CODE | |
| LOW | instagrapi/mixins/photo.py | 693 | CODE | |
| LOW | instagrapi/mixins/clip.py | 658 | CODE | |
| LOW | instagrapi/mixins/clip.py | 1073 | CODE | |
| LOW | instagrapi/mixins/video.py | 197 | CODE | |
| LOW | instagrapi/mixins/video.py | 280 | CODE | |
| LOW | instagrapi/mixins/video.py | 608 | CODE | |
| LOW | instagrapi/mixins/video.py | 731 | CODE | |
| LOW | instagrapi/mixins/video.py | 781 | CODE | |
| LOW | instagrapi/realtime/client.py | 186 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | instagrapi/mixins/igtv.py | 0 | response 202 status: {"message": "transcode not finished yet.", "status": "fail"} | STRING |
| HIGH | instagrapi/mixins/album.py | 0 | response 202 status: {"message": "transcode not finished yet.", "status": "fail"} | STRING |
| HIGH | instagrapi/mixins/clip.py | 0 | response 202 status: {"message": "transcode not finished yet.", "status": "fail"} | STRING |
| HIGH | instagrapi/mixins/video.py | 0 | response 202 status: {"message": "transcode not finished yet.", "status": "fail"} | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | instagrapi/mixins/video.py | 853 | # --------------------------------- | COMMENT |
| MEDIUM⚡ | instagrapi/mixins/video.py | 865 | # --------------------------------- | COMMENT |
| MEDIUM⚡ | instagrapi/mixins/video.py | 868 | # --------------------------------- | COMMENT |
| MEDIUM⚡ | instagrapi/mixins/video.py | 877 | # --------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/regression/test_account.py | 9 | result = client.send_password_reset("user@example.com") | CODE |
| LOW⚡ | tests/regression/test_account.py | 18 | "email_or_username": "user@example.com", | CODE |
| LOW⚡ | tests/regression/test_account.py | 31 | client.send_password_reset("user@example.com", recaptcha_challenge_field="challenge") | CODE |
| LOW | docs/usage-guide/direct.md | 130 | DirectMessage(id=300761992574947211231231241955932160, user_id=123123123, thread_id=None, timestamp=datetime.datetime(20 | CODE |
| LOW | docs/usage-guide/direct.md | 130 | DirectMessage(id=300761992574947211231231241955932160, user_id=123123123, thread_id=None, timestamp=datetime.datetime(20 | CODE |
| LOW⚡ | docs/usage-guide/direct.md | 165 | DirectMessage(id=300712312341231237412312312360, user_id=12312312, thread_id=None, timestamp=datetime.datetime(2021, 8, | CODE |
| LOW⚡ | docs/usage-guide/direct.md | 165 | DirectMessage(id=300712312341231237412312312360, user_id=12312312, thread_id=None, timestamp=datetime.datetime(2021, 8, | CODE |
| LOW⚡ | docs/usage-guide/direct.md | 168 | DirectMessage(id=300712312341231237412312312360, user_id=12312312, thread_id=None, timestamp=datetime.datetime(2021, 8, | CODE |
| LOW⚡ | docs/usage-guide/direct.md | 168 | DirectMessage(id=300712312341231237412312312360, user_id=12312312, thread_id=None, timestamp=datetime.datetime(2021, 8, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/live/test_device.py | 30 | request_user_agent = self.cl.last_response.request.headers.get("User-Agent") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/mixins/direct.py | 829 | # Step 3: signed broadcast to raven_attachment/?video=1. | COMMENT |
| LOW | instagrapi/mixins/direct.py | 1050 | # Step 3: broadcast voice_attachment with media_id as attachment_fbid. | COMMENT |
| LOW⚡ | examples/load_session_cookie.py | 130 | # Step 1: Try saved session first | COMMENT |
| LOW⚡ | examples/load_session_cookie.py | 137 | # Step 2: Try browser cookies | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/mixins/direct.py | 829 | # Step 3: signed broadcast to raven_attachment/?video=1. | COMMENT |
| LOW | instagrapi/mixins/direct.py | 1050 | # Step 3: broadcast voice_attachment with media_id as attachment_fbid. | COMMENT |
| LOW⚡ | examples/load_session_cookie.py | 130 | # Step 1: Try saved session first | COMMENT |
| LOW⚡ | examples/load_session_cookie.py | 137 | # Step 2: Try browser cookies | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/config.py | 41 | }, | COMMENT |
| LOW | instagrapi/mixins/video.py | 861 | # "recipient_users":"[]", | COMMENT |
| LOW | instagrapi/mixins/video.py | 901 | # "software": config.SOFTWARE.format(**self.device_settings), | COMMENT |
| LOW | tests/live/test_story.py | 821 | # class BloksTestCase(_helpers.ClientPrivateTestCase): | COMMENT |
| LOW | examples/create_sticker.py | 21 | # sticker_ai = cl.photo_upload_to_cutout_sticker(image_path, bypass_ai=False) | COMMENT |
| LOW | .github/workflows/publish.yml | 1 | name: Publish to PyPI | COMMENT |
| LOW | .github/workflows/codeql-analysis.yml | 1 | # For most projects, this workflow file will not need changing; you simply need | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/mixins/user.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | instagrapi/mixins/captcha.py | 16 | def set_captcha_handler(self, handler: Optional[Callable[[Dict], str]]) -> None: | CODE |
| LOW | instagrapi/utils/__init__.py | 12 | __all__ = [ | CODE |
| LOW | instagrapi/realtime/__init__.py | 4 | __all__ = ["FbnsClient", "FbnsDeviceAuth", "RealtimeClient"] | CODE |
| LOW | tests/helpers.py | 471 | __all__ = [name for name in globals() if not name.startswith("_") and name not in _HELPER_ONLY_NAMES] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/mixins/challenge.py | 674 | # TODO: add validation of account details | COMMENT |