🔥 The fastest and powerful Python library for Instagram Private API 2026 with HikerAPI SaaS
This report summarizes scanner evidence for subzeroid/instagrapi, a Python project with 6,934 GitHub stars. SynthScan examined 68,677 lines of code across 243 source files, recording 1908 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 27.5 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 1461 finding(s).
Are imports declared and package/API names verified? 222 finding(s).
Are wrappers, guards, and repeated structures necessary? 1565 finding(s).
Which changes need focused human review? 1908 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1908 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| 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 | 197 | def extract_media_comments_preview_gql(data): | CODE |
| LOW | instagrapi/extractors.py | 209 | def extract_media_inline_comment_gql(data, replied_to_comment_id=None): | CODE |
| LOW | instagrapi/extractors.py | 288 | def extract_broadcast_channel(data): | CODE |
| LOW | instagrapi/extractors.py | 410 | def extract_direct_short_thread(data): | CODE |
| LOW | instagrapi/extractors.py | 420 | def _direct_timestamp_from_microseconds(timestamp): | CODE |
| LOW | instagrapi/extractors.py | 434 | def _convert_direct_visual_media_timestamps(visual_media): | CODE |
| LOW | instagrapi/extractors.py | 662 | def extract_story_archive_day(data): | CODE |
| LOW | instagrapi/mixins/auth.py | 145 | def set_contact_point_prefill(self, usage: str = "prefill") -> Dict: | CODE |
| LOW | instagrapi/mixins/auth.py | 203 | def _timeline_seen_posts_from_response(self, response: Dict) -> List[str]: | CODE |
| LOW | instagrapi/mixins/auth.py | 216 | def _remember_timeline_seen_posts(self, response: Dict) -> None: | CODE |
| LOW | instagrapi/mixins/auth.py | 227 | def _join_timeline_seen_posts(seen_posts: Union[str, Iterable[str], None]) -> str: | CODE |
| LOW | instagrapi/mixins/auth.py | 248 | 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 | 258 | def _timeline_session_level_signals_json() -> str: | CODE |
| LOW | instagrapi/mixins/auth.py | 493 | def _find_login_response_value(self, data: Any, key: str) -> Any: | CODE |
| LOW | instagrapi/mixins/auth.py | 509 | def _extract_two_step_verification_context(self, data: Dict) -> str: | CODE |
| LOW | instagrapi/mixins/auth.py | 536 | def _infer_bloks_two_factor_challenge(self, data: Dict, verification_code: str = "") -> str: | CODE |
| LOW | instagrapi/mixins/auth.py | 545 | def _is_unavailable_caa_login_error(self, exc: ClientError) -> bool: | CODE |
| LOW | instagrapi/mixins/auth.py | 580 | def _login_with_bloks_two_factor(self, verification_code: str, login_json: Dict, exc: Exception) -> bool: | CODE |
| LOW | instagrapi/mixins/auth.py | 680 | def _user_short_from_private_stream(self, user_id: str) -> UserShort: | CODE |
| LOW | instagrapi/mixins/auth.py | 730 | def _caa_result_action_markers(self, outcome: Dict) -> List[str]: | CODE |
| LOW | instagrapi/mixins/auth.py | 1313 | def is_current_or_newer_app_version(value: Any) -> bool: | CODE |
| LOW | instagrapi/mixins/auth.py | 1424 | def generate_android_device_id(self) -> str: | CODE |
| LOW | instagrapi/mixins/auth.py | 1524 | def inject_sessionid_to_public(self) -> bool: | CODE |
| LOW | instagrapi/mixins/bloks.py | 156 | def bloks_challenge_take_challenge( | CODE |
| LOW | instagrapi/mixins/bloks.py | 195 | def bloks_fxcal_link_reels_share( | CODE |
| LOW | instagrapi/mixins/bloks.py | 233 | def bloks_two_step_verification_entrypoint( | CODE |
| LOW | instagrapi/mixins/bloks.py | 276 | def bloks_two_step_verification_method_picker( | CODE |
| LOW | instagrapi/mixins/bloks.py | 310 | def bloks_two_step_verification_select_method( | CODE |
| LOW | instagrapi/mixins/bloks.py | 354 | def bloks_two_step_verification_enter_totp_code( | CODE |
| LOW | instagrapi/mixins/bloks.py | 383 | def bloks_two_step_verification_enter_backup_code( | CODE |
| LOW | instagrapi/mixins/bloks.py | 412 | def bloks_two_step_verification_verify_code( | CODE |
| LOW | instagrapi/mixins/bloks.py | 516 | def bloks_caa_login_process_client_data( | CODE |
| LOW | instagrapi/mixins/bloks.py | 562 | def bloks_caa_login_oauth_token_fetch( | CODE |
| LOW | instagrapi/mixins/bloks.py | 637 | def bloks_caa_login_send_request( | CODE |
| LOW | instagrapi/mixins/bloks.py | 846 | def bloks_caa_login_needs_two_step(self, result: Dict) -> bool: | CODE |
| LOW | instagrapi/mixins/bloks.py | 851 | def _bloks_parenthesized_expression(value: str, start: int) -> str: | CODE |
| LOW | instagrapi/mixins/bloks.py | 907 | def bloks_extract_context_data(self, result: Dict, app_id: str) -> str: | CODE |
| LOW | instagrapi/mixins/bloks.py | 911 | def _bloks_extract_context_value(self, result: Dict, app_id: str, context_key: str) -> str: | CODE |
| LOW | instagrapi/mixins/bloks.py | 949 | def bloks_ap_two_step_verification_entrypoint( | CODE |
| LOW | instagrapi/mixins/bloks.py | 981 | def bloks_ap_two_step_verification_code_entry( | CODE |
| LOW | instagrapi/mixins/bloks.py | 1006 | def bloks_ap_two_step_verification_submit_code( | CODE |
| LOW | instagrapi/mixins/bloks.py | 1038 | def bloks_caa_resolve_two_step_verification( | CODE |
| LOW | instagrapi/mixins/bloks.py | 1102 | def _extract_first_json_string(value: str, start: int) -> str: | CODE |
| LOW | instagrapi/mixins/bloks.py | 1112 | def bloks_extract_two_step_verification_context(self, result: Dict) -> str: | CODE |
| LOW | instagrapi/mixins/bloks.py | 1133 | def bloks_extract_login_response(self, result: Dict) -> Dict[str, Any]: | CODE |
| LOW | instagrapi/mixins/bloks.py | 1183 | def bloks_apply_login_response(self, result: Dict) -> bool: | CODE |
| LOW⚡ | instagrapi/mixins/user.py | 1377 | 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 | 177 | def username_from_user_id_gql(self, user_id: str) -> str: | CODE |
| LOW | instagrapi/mixins/user.py | 226 | def user_info_by_username_gql(self, username: str) -> User: | CODE |
| LOW | instagrapi/mixins/user.py | 316 | def _normalize_polaris_profile(user_data: dict) -> dict: | CODE |
| LOW | instagrapi/mixins/user.py | 760 | def user_following_private_gql_chunk( | CODE |
| LOW | instagrapi/mixins/user.py | 810 | def user_following_private_gql( | CODE |
| LOW | instagrapi/mixins/user.py | 1213 | def user_followers_private_gql_chunk( | CODE |
| LOW | instagrapi/mixins/user.py | 1263 | def user_followers_private_gql( | CODE |
| LOW | instagrapi/mixins/user.py | 1431 | def user_follow_request_approve(self, user_id: str) -> bool: | CODE |
| LOW | instagrapi/mixins/user.py | 1453 | def user_follow_request_decline(self, user_id: str) -> bool: | CODE |
| 1253 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 | 1561 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/bloks.py | 677 | except Exception: | 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 | 273 | def _inject_sessionid_for_v2_gql(self) -> None: | CODE |
| LOW⚡ | instagrapi/mixins/user.py | 985 | except Exception as e: | CODE |
| LOW⚡ | instagrapi/mixins/user.py | 990 | except Exception as e: | CODE |
| LOW⚡ | instagrapi/mixins/user.py | 997 | except Exception as e: | CODE |
| LOW⚡ | instagrapi/mixins/user.py | 1352 | except Exception as e: | CODE |
| LOW⚡ | instagrapi/mixins/user.py | 1360 | except Exception as e: | CODE |
| LOW⚡ | instagrapi/mixins/user.py | 1367 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/user.py | 276 | except Exception as exc: | CODE |
| LOW | instagrapi/mixins/user.py | 375 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/user.py | 382 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/user.py | 503 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/user.py | 510 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/user.py | 1527 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/public.py | 408 | 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 | 1258 | def public_lookup(): | CODE |
| MEDIUM | instagrapi/mixins/media.py | 1371 | def public_lookup(): | CODE |
| LOW⚡ | instagrapi/mixins/media.py | 55 | except Exception: | CODE |
| LOW | instagrapi/mixins/media.py | 249 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 260 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 295 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 306 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 701 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 708 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1103 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1142 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1189 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1228 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1273 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1284 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1385 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1394 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1436 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1475 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1825 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1860 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 1891 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 2089 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 2116 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 2142 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 2163 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 2186 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/media.py | 2207 | except Exception as e: | CODE |
| LOW | instagrapi/mixins/timeline.py | 104 | 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 | 256 | 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 |
| 128 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/mixins/auth.py | 18 | CODE | |
| LOW | instagrapi/mixins/clip.py | 14 | 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 | 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 | |
| 152 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | instagrapi/extractors.py | 739 | except IndexError: | CODE |
| HIGH | instagrapi/extractors.py | 751 | except IndexError: | CODE |
| HIGH | instagrapi/extractors.py | 745 | except IndexError: | CODE |
| HIGH | instagrapi/extractors.py | 749 | except IndexError: | CODE |
| HIGH | instagrapi/mixins/public.py | 475 | except JSONDecodeError: | CODE |
| HIGH | instagrapi/mixins/signup.py | 195 | except json.JSONDecodeError: | CODE |
| HIGH | instagrapi/mixins/signup.py | 211 | except json.JSONDecodeError: | CODE |
| HIGH | instagrapi/mixins/location.py | 122 | except IndexError: | CODE |
| HIGH | instagrapi/mixins/location.py | 150 | except IndexError: | CODE |
| HIGH | instagrapi/mixins/clip.py | 604 | except ClientError: | CODE |
| HIGH | instagrapi/mixins/private.py | 529 | except ValueError: | CODE |
| HIGH | instagrapi/realtime/client.py | 386 | except json.JSONDecodeError: | CODE |
| HIGH | instagrapi/realtime/mqttot.py | 315 | except OSError: | CODE |
| HIGH | tests/helpers.py | 467 | except FileNotFoundError: | CODE |
| HIGH | tests/live/test_download.py | 15 | except ImportError: | CODE |
| HIGH | tests/live/test_user.py | 578 | except Exception: | CODE |
| HIGH | tests/live/test_direct.py | 91 | except DirectThreadNotFound: | CODE |
| HIGH | tests/live/test_realtime.py | 144 | except TimeoutError: | CODE |
| HIGH | tests/live/test_archive.py | 50 | except Exception: | CODE |
| HIGH | tests/live/test_insights.py | 145 | except Exception: | CODE |
| HIGH | tests/live/test_comments.py | 18 | except ImportError: | CODE |
| HIGH | tests/regression/test_fbns.py | 303 | except ConnectionError: | CODE |
| HIGH | tests/regression/test_fbns.py | 320 | except TimeoutError: | CODE |
| HIGH | examples/load_session_cookie.py | 87 | except OSError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/extractors.py | 434 | CODE | |
| LOW | instagrapi/mixins/auth.py | 493 | CODE | |
| LOW | instagrapi/mixins/auth.py | 837 | CODE | |
| LOW | instagrapi/mixins/bloks.py | 831 | CODE | |
| LOW | instagrapi/mixins/bloks.py | 851 | CODE | |
| LOW | instagrapi/mixins/bloks.py | 877 | CODE | |
| LOW | instagrapi/mixins/bloks.py | 911 | CODE | |
| LOW | instagrapi/mixins/bloks.py | 1078 | CODE | |
| LOW | instagrapi/mixins/story.py | 349 | CODE | |
| LOW | instagrapi/mixins/user.py | 354 | CODE | |
| LOW | instagrapi/mixins/user.py | 482 | CODE | |
| LOW | instagrapi/mixins/user.py | 961 | CODE | |
| LOW | instagrapi/mixins/user.py | 1313 | CODE | |
| LOW | instagrapi/mixins/fbsearch.py | 14 | CODE | |
| LOW | instagrapi/mixins/public.py | 277 | CODE | |
| LOW | instagrapi/mixins/graphql.py | 207 | CODE | |
| LOW | instagrapi/mixins/media.py | 253 | CODE | |
| LOW | instagrapi/mixins/media.py | 299 | CODE | |
| LOW | instagrapi/mixins/media.py | 680 | 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 | 362 | CODE | |
| LOW | instagrapi/mixins/crossposting.py | 172 | CODE | |
| LOW | instagrapi/mixins/crossposting.py | 220 | CODE | |
| LOW | instagrapi/mixins/crossposting.py | 339 | CODE | |
| LOW | instagrapi/mixins/clip.py | 489 | CODE | |
| LOW | instagrapi/mixins/clip.py | 1015 | CODE | |
| LOW | instagrapi/mixins/challenge.py | 378 | CODE | |
| LOW | instagrapi/mixins/challenge.py | 489 | CODE | |
| LOW | instagrapi/mixins/video.py | 639 | CODE | |
| LOW | instagrapi/mixins/private.py | 441 | CODE | |
| LOW | instagrapi/utils/video.py | 56 | CODE | |
| LOW | instagrapi/utils/serialization.py | 8 | CODE | |
| LOW | instagrapi/realtime/mqttot.py | 484 | CODE | |
| LOW | instagrapi/realtime/fbns.py | 254 | CODE | |
| LOW | tests/http2_server.py | 24 | CODE | |
| LOW | tests/http2_server.py | 64 | CODE | |
| LOW | tests/http2_server.py | 255 | CODE | |
| LOW | tests/http2_server.py | 265 | CODE | |
| LOW | tests/socks5_proxy.py | 20 | CODE | |
| LOW | tests/socks5_proxy.py | 25 | CODE | |
| LOW | tests/live/test_download.py | 53 | CODE | |
| LOW | tests/live/test_direct.py | 313 | CODE | |
| LOW | tests/live/test_direct.py | 470 | CODE | |
| LOW | tests/live/test_direct.py | 517 | CODE | |
| LOW | tests/live/test_direct.py | 549 | CODE | |
| LOW | tests/live/test_direct.py | 576 | CODE | |
| LOW | tests/live/test_direct.py | 598 | CODE | |
| LOW | tests/live/test_direct.py | 661 | CODE | |
| LOW | tests/live/test_private_transport.py | 73 | 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_retry.py | 147 | CODE | |
| LOW | tests/regression/test_user.py | 1348 | CODE | |
| LOW | tests/regression/test_challenge.py | 630 | CODE | |
| 44 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | instagrapi/mixins/auth.py | 1187 | CODE | |
| LOW | instagrapi/mixins/bloks.py | 412 | CODE | |
| LOW | instagrapi/mixins/bloks.py | 637 | CODE | |
| LOW | instagrapi/mixins/user.py | 271 | CODE | |
| LOW | instagrapi/mixins/user.py | 2490 | CODE | |
| LOW | instagrapi/mixins/fbsearch.py | 109 | CODE | |
| LOW | instagrapi/mixins/public.py | 592 | CODE | |
| LOW | instagrapi/mixins/media.py | 399 | CODE | |
| LOW | instagrapi/mixins/media.py | 794 | CODE | |
| LOW | instagrapi/mixins/signup.py | 843 | CODE | |
| LOW | instagrapi/mixins/album.py | 127 | CODE | |
| LOW | instagrapi/mixins/album.py | 274 | CODE | |
| LOW | instagrapi/mixins/crossposting.py | 621 | CODE | |
| LOW | instagrapi/mixins/photo.py | 250 | CODE | |
| LOW | instagrapi/mixins/photo.py | 388 | CODE | |
| LOW | instagrapi/mixins/photo.py | 555 | CODE | |
| LOW | instagrapi/mixins/photo.py | 644 | CODE | |
| LOW | instagrapi/mixins/photo.py | 728 | CODE | |
| LOW | instagrapi/mixins/clip.py | 730 | CODE | |
| LOW | instagrapi/mixins/clip.py | 1159 | CODE | |
| LOW | instagrapi/mixins/video.py | 198 | CODE | |
| LOW | instagrapi/mixins/video.py | 281 | CODE | |
| LOW | instagrapi/mixins/video.py | 436 | CODE | |
| LOW | instagrapi/mixins/video.py | 639 | CODE | |
| LOW | instagrapi/mixins/video.py | 761 | CODE | |
| LOW | instagrapi/mixins/video.py | 811 | 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 | 895 | # --------------------------------- | COMMENT |
| MEDIUM⚡ | instagrapi/mixins/video.py | 898 | # --------------------------------- | COMMENT |
| MEDIUM⚡ | instagrapi/mixins/video.py | 907 | # --------------------------------- | COMMENT |
| MEDIUM | instagrapi/mixins/video.py | 883 | # --------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/regression/test_account.py | 37 | result = client.send_password_reset("user@example.com") | CODE |
| LOW⚡ | tests/regression/test_account.py | 46 | "email_or_username": "user@example.com", | CODE |
| LOW⚡ | tests/regression/test_account.py | 59 | client.send_password_reset("user@example.com", recaptcha_challenge_field="challenge") | CODE |
| LOW | docs/usage-guide/direct.md | 127 | DirectMessage(id=300761992574947211231231241955932160, user_id=123123123, thread_id=None, timestamp=datetime.datetime(20 | CODE |
| LOW | docs/usage-guide/direct.md | 127 | DirectMessage(id=300761992574947211231231241955932160, user_id=123123123, thread_id=None, timestamp=datetime.datetime(20 | CODE |
| LOW⚡ | docs/usage-guide/direct.md | 162 | DirectMessage(id=300712312341231237412312312360, user_id=12312312, thread_id=None, timestamp=datetime.datetime(2021, 8, | CODE |
| LOW⚡ | docs/usage-guide/direct.md | 162 | 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 | 165 | 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/config.py | 61 | COMMENT | |
| LOW | instagrapi/mixins/video.py | 881 | # USE extra_data TO EXTEND THE SETTINGS OF THE LOADED STORY, | COMMENT |
| LOW | instagrapi/mixins/video.py | 921 | # "imported_taken_at": str(timestamp - 5 * 24 * 3600), # 5 days ago | COMMENT |
| LOW | instagrapi/mixins/video.py | 941 | # "xpost_surface": "auto_xpost", | 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/direct.py | 880 | # Step 3: signed broadcast to raven_attachment/?video=1. | COMMENT |
| LOW | instagrapi/mixins/direct.py | 1131 | # 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 | 880 | # Step 3: signed broadcast to raven_attachment/?video=1. | COMMENT |
| LOW | instagrapi/mixins/direct.py | 1131 | # 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/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 | 486 | __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 |