Scan timing: clone 5.14s · analysis 6.56s · 5.9 MB · GitHub preflight 513ms
https://github.com/subzeroid/instagrapi
· scanned 2026-06-05 18:24 UTC (4 days, 19 hours ago)
· 10 languages
437 raw signals (191 security + 246 graph) 66th percentile · Python · medium (20-100K LoC) System graph score 88 (lower by 15)
Last scanned 4 days, 19 hours ago · v2 · 153 actionable findings from 2 signal sources. 160 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
75.0 | 0.15 | 11.25 |
security_score |
55.0 | 0.25 | 13.75 |
testing_score |
90.0 | 0.20 | 18.00 |
documentation_score |
89.0 | 0.15 | 13.35 |
practices_score |
82.0 | 0.15 | 12.30 |
code_quality |
42.5 | 0.10 | 4.25 |
| Overall | 1.00 | 72.9 |
All 2334 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
__init__ |
software | healthy | instagrapi/__init__.py:102 |
set_proxy |
software | healthy | instagrapi/__init__.py:133 |
extract_media_v1 |
software | healthy | instagrapi/extractors.py:50 |
extract_media_v1_xma |
software | healthy | instagrapi/extractors.py:91 |
extract_media_gql |
software | healthy | instagrapi/extractors.py:113 |
extract_resource_v1 |
software | healthy | instagrapi/extractors.py:180 |
extract_resource_gql |
software | healthy | instagrapi/extractors.py:201 |
extract_usertag |
software | healthy | instagrapi/extractors.py:206 |
extract_user_short |
software | healthy | instagrapi/extractors.py:212 |
extract_viewer |
software | healthy | instagrapi/extractors.py:219 |
extract_broadcast_channel |
software | healthy | instagrapi/extractors.py:227 |
extract_user_gql |
software | healthy | instagrapi/extractors.py:233 |
extract_user_v1 |
software | healthy | instagrapi/extractors.py:248 |
extract_location |
software | healthy | instagrapi/extractors.py:258 |
extract_comment |
software | healthy | instagrapi/extractors.py:286 |
extract_collection |
software | healthy | instagrapi/extractors.py:293 |
extract_media_oembed |
software | healthy | instagrapi/extractors.py:307 |
extract_direct_thread |
software | healthy | instagrapi/extractors.py:312 |
extract_direct_short_thread |
software | healthy | instagrapi/extractors.py:347 |
extract_direct_response |
software | dead | instagrapi/extractors.py:353 |
_direct_timestamp_from_microseconds |
software | healthy | instagrapi/extractors.py:357 |
_preserve_direct_raw_xma |
software | healthy | instagrapi/extractors.py:361 |
_convert_direct_visual_media_timestamps |
software | healthy | instagrapi/extractors.py:371 |
extract_reply_message |
software | healthy | instagrapi/extractors.py:403 |
extract_direct_message |
software | healthy | instagrapi/extractors.py:433 |
extract_direct_media |
software | healthy | instagrapi/extractors.py:492 |
extract_account |
software | healthy | instagrapi/extractors.py:509 |
extract_hashtag_gql |
software | healthy | instagrapi/extractors.py:515 |
extract_hashtag_v1 |
software | healthy | instagrapi/extractors.py:521 |
extract_story_v1 |
software | healthy | instagrapi/extractors.py:527 |
extract_story_archive_day |
software | healthy | instagrapi/extractors.py:570 |
extract_story_gql |
software | healthy | instagrapi/extractors.py:575 |
extract_highlight_v1 |
software | healthy | instagrapi/extractors.py:619 |
extract_guide_v1 |
software | healthy | instagrapi/extractors.py:626 |
extract_track |
software | healthy | instagrapi/extractors.py:632 |
_extract_about_lispy |
software | healthy | instagrapi/extractors.py:641 |
extract_about_v1 |
software | healthy | instagrapi/extractors.py:662 |
validate_external_url |
software | healthy | instagrapi/types.py:126 |
__hash__ |
software | healthy | instagrapi/types.py:133 |
__eq__ |
software | healthy | instagrapi/types.py:136 |
validate_url_fields |
software | healthy | instagrapi/types.py:477 |
is_seen |
software | healthy | instagrapi/types.py:948 |
__init__ |
software | healthy | instagrapi/exceptions.py:373 |
calc_resize |
software | healthy | instagrapi/image_util.py:24 |
calc_crop |
software | healthy | instagrapi/image_util.py:54 |
is_remote |
software | healthy | instagrapi/image_util.py:93 |
prepare_image |
software | healthy | instagrapi/image_util.py:100 |
prepare_video |
software | healthy | instagrapi/image_util.py:143 |
print_vid_info |
software | healthy | instagrapi/image_util.py:290 |
utcoffset |
software | dead | instagrapi/zones.py:13 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
Client |
software | healthy | instagrapi/__init__.py:55 |
TypesBaseModel |
software | healthy | instagrapi/types.py:14 |
Resource |
software | healthy | instagrapi/types.py:24 |
BioLink |
software | healthy | instagrapi/types.py:32 |
Broadcast |
software | healthy | instagrapi/types.py:42 |
User |
software | healthy | instagrapi/types.py:56 |
About |
software | healthy | instagrapi/types.py:101 |
Account |
software | healthy | instagrapi/types.py:109 |
UserShort |
software | healthy | instagrapi/types.py:132 |
Viewer |
software | healthy | instagrapi/types.py:151 |
Usertag |
software | healthy | instagrapi/types.py:157 |
Location |
software | healthy | instagrapi/types.py:163 |
SharedMediaImageCandidate |
software | healthy | instagrapi/types.py:182 |
ScrubberSpritesheetInfo |
software | healthy | instagrapi/types.py:193 |
ScrubberSpritesheetInfoCandidates |
software | healthy | instagrapi/types.py:210 |
AdditionalCandidates |
software | healthy | instagrapi/types.py:216 |
SharedMediaImageVersions |
software | healthy | instagrapi/types.py:224 |
ClipsAchievementsInfo |
software | healthy | instagrapi/types.py:232 |
AudioReattributionInfo |
software | healthy | instagrapi/types.py:239 |
ClipsAdditionalAudioInfo |
software | healthy | instagrapi/types.py:245 |
ClipsAudioRankingInfo |
software | healthy | instagrapi/types.py:252 |
ClipsBrandedContentTagInfo |
software | healthy | instagrapi/types.py:258 |
ClipsContentAppreciationInfo |
software | healthy | instagrapi/types.py:264 |
ClipsMashupInfo |
software | healthy | instagrapi/types.py:271 |
ClipsConsumptionInfo |
software | healthy | instagrapi/types.py:290 |
ClipsFbDownstreamUseXpostMetadata |
software | healthy | instagrapi/types.py:301 |
ClipsIgArtist |
software | healthy | instagrapi/types.py:307 |
ClipsOriginalSoundInfo |
software | healthy | instagrapi/types.py:322 |
ClipsReusableTextColor |
software | healthy | instagrapi/types.py:362 |
ClipsReusableTextInfo |
software | healthy | instagrapi/types.py:369 |
ClipsMetadata |
software | healthy | instagrapi/types.py:393 |
Media |
software | healthy | instagrapi/types.py:434 |
MediaXma |
software | healthy | instagrapi/types.py:463 |
MediaOembed |
software | healthy | instagrapi/types.py:484 |
Collection |
software | healthy | instagrapi/types.py:502 |
Comment |
software | healthy | instagrapi/types.py:509 |
Hashtag |
software | healthy | instagrapi/types.py:521 |
StoryMention |
software | healthy | instagrapi/types.py:528 |
StoryMedia |
software | healthy | instagrapi/types.py:537 |
StoryHashtag |
software | healthy | instagrapi/types.py:557 |
StoryLocation |
software | healthy | instagrapi/types.py:566 |
StoryStickerLink |
software | healthy | instagrapi/types.py:575 |
StorySticker |
software | healthy | instagrapi/types.py:582 |
StoryPoll |
software | healthy | instagrapi/types.py:595 |
StoryBuild |
software | healthy | instagrapi/types.py:615 |
StoryLink |
software | healthy | instagrapi/types.py:622 |
Story |
software | healthy | instagrapi/types.py:632 |
StoryArchiveDay |
software | healthy | instagrapi/types.py:655 |
Guide |
software | healthy | instagrapi/types.py:663 |
DirectMedia |
software | healthy | instagrapi/types.py:671 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
mkdocs.yml |
software | healthy | mkdocs.yml |
README.md |
software | healthy | README.md |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
.pre-commit-config.yaml |
software | healthy | .pre-commit-config.yaml |
pyproject.toml |
software | healthy | pyproject.toml |
CODE_OF_CONDUCT.md |
software | healthy | CODE_OF_CONDUCT.md |
SECURITY.md |
software | healthy | SECURITY.md |
__init__.py |
software | healthy | instagrapi/__init__.py |
extractors.py |
software | healthy | instagrapi/extractors.py |
types.py |
software | healthy | instagrapi/types.py |
config.py |
software | warning | instagrapi/config.py |
exceptions.py |
software | healthy | instagrapi/exceptions.py |
image_util.py |
software | healthy | instagrapi/image_util.py |
zones.py |
software | healthy | instagrapi/zones.py |
story.py |
software | healthy | instagrapi/story.py |
ids.py |
software | healthy | instagrapi/utils/ids.py |
timing.py |
software | healthy | instagrapi/utils/timing.py |
__init__.py |
software | healthy | instagrapi/utils/__init__.py |
serialization.py |
software | healthy | instagrapi/utils/serialization.py |
auth.py |
software | healthy | instagrapi/utils/auth.py |
validation.py |
software | healthy | instagrapi/utils/validation.py |
logging.py |
software | healthy | instagrapi/utils/logging.py |
video.py |
software | healthy | instagrapi/utils/video.py |
direct.py |
software | healthy | instagrapi/mixins/direct.py |
account.py |
software | healthy | instagrapi/mixins/account.py |
igtv.py |
software | healthy | instagrapi/mixins/igtv.py |
__init__.py |
software | healthy | instagrapi/mixins/__init__.py |
clip.py |
software | healthy | instagrapi/mixins/clip.py |
photo.py |
software | healthy | instagrapi/mixins/photo.py |
private.py |
software | healthy | instagrapi/mixins/private.py |
captcha.py |
software | healthy | instagrapi/mixins/captcha.py |
signup.py |
software | healthy | instagrapi/mixins/signup.py |
album.py |
software | healthy | instagrapi/mixins/album.py |
track.py |
software | healthy | instagrapi/mixins/track.py |
hashtag.py |
software | healthy | instagrapi/mixins/hashtag.py |
highlight.py |
software | healthy | instagrapi/mixins/highlight.py |
auth.py |
software | healthy | instagrapi/mixins/auth.py |
note.py |
software | healthy | instagrapi/mixins/note.py |
location.py |
software | healthy | instagrapi/mixins/location.py |
public.py |
software | healthy | instagrapi/mixins/public.py |
challenge.py |
software | healthy | instagrapi/mixins/challenge.py |
comment.py |
software | healthy | instagrapi/mixins/comment.py |
video.py |
software | healthy | instagrapi/mixins/video.py |
totp.py |
software | healthy | instagrapi/mixins/totp.py |
multiple_accounts.py |
software | healthy | instagrapi/mixins/multiple_accounts.py |
fbsearch.py |
software | healthy | instagrapi/mixins/fbsearch.py |
insights.py |
software | healthy | instagrapi/mixins/insights.py |
fundraiser.py |
software | healthy | instagrapi/mixins/fundraiser.py |
timeline.py |
software | healthy | instagrapi/mixins/timeline.py |
explore.py |
software | healthy | instagrapi/mixins/explore.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_auth_story.py |
security | healthy | tests/regression/test_auth_story.py |
password_literal::tests/regression/test_signup.py |
security | healthy | tests/regression/test_signup.py |
password_literal::tests/regression/test_signup.py |
security | healthy | tests/regression/test_signup.py |
password_literal::tests/regression/test_signup.py |
security | healthy | tests/regression/test_signup.py |
password_literal::tests/regression/test_signup.py |
security | healthy | tests/regression/test_signup.py |
password_literal::tests/regression/test_signup.py |
security | healthy | tests/regression/test_signup.py |
password_literal::tests/regression/test_signup.py |
security | healthy | tests/regression/test_signup.py |
password_literal::tests/regression/test_fbns.py |
security | healthy | tests/regression/test_fbns.py |
password_literal::tests/regression/test_realtime.py |
security | healthy | tests/regression/test_realtime.py |
| Label | Layer | Status | Path |
|---|---|---|---|
instagrapi |
software | healthy | instagrapi |
utils |
software | healthy | instagrapi/utils |
mixins |
software | healthy | instagrapi/mixins |
realtime |
software | healthy | instagrapi/realtime |
tests |
software | healthy | tests |
live |
software | healthy | tests/live |
regression |
software | healthy | tests/regression |
docs |
software | healthy | docs |
usage-guide |
software | healthy | docs/usage-guide |
css |
software | healthy | docs/css |
examples |
software | healthy | examples |
.github |
software | healthy | .github |
ISSUE_TEMPLATE |
software | healthy | .github/ISSUE_TEMPLATE |
workflows |
software | healthy | .github/workflows |
actions |
software | healthy | .github/actions |
install-dependencies |
software | healthy | .github/actions/install-dependencies |
publish-docs-with-mike |
software | healthy | .github/actions/publish-docs-with-mike |
| Label | Layer | Status | Path |
|---|---|---|---|
428.0.0.47 |
network | healthy | instagrapi/config.py |
364.0.0.35 |
network | healthy | instagrapi/config.py |
385.0.0.47 |
network | healthy | instagrapi/config.py |
76.0.0.15 |
network | healthy | instagrapi/config.py |
208.0.0.32 |
network | healthy | instagrapi/config.py |
200.0.0.24 |
network | healthy | instagrapi/mixins/auth.py |
136.0.0.0 |
network | healthy | instagrapi/mixins/public.py |
142.0.0.0 |
network | healthy | instagrapi/mixins/public.py |
121.0.0.0 |
network | healthy | instagrapi/mixins/graphql.py |
127.0.0.1 |
network | healthy | tests/helpers.py |
165.1.0.20 |
network | healthy | tests/live/test_device.py |
165.1.0.29 |
network | healthy | tests/live/test_device.py |
269.0.0.19 |
network | healthy | tests/live/test_client.py |
117.0.0.28 |
network | healthy | tests/live/test_client.py |
| Label | Layer | Status | Path |
|---|---|---|---|
analyze |
cicd | healthy | .github/workflows/codeql-analysis.yml |
live-test |
cicd | healthy | .github/workflows/live-account-tests.yml |
bandit |
cicd | healthy | .github/workflows/python-package.yml |
lint |
cicd | healthy | .github/workflows/python-package.yml |
test-compat |
cicd | healthy | .github/workflows/python-package.yml |
build-docs |
cicd | healthy | .github/workflows/python-package.yml |
update-dev-docs |
cicd | healthy | .github/workflows/python-package.yml |
build |
cicd | healthy | .github/workflows/publish.yml |
publish-pypi |
cicd | healthy | .github/workflows/publish.yml |
github-release |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
IG_SIGNUP_EMAIL_CODE |
cicd | healthy | — |
GITHUB_TOKEN |
cicd | healthy | — |
IG_SIGNUP_EMAIL |
cicd | healthy | — |
PYTHON_VERSION |
cicd | healthy | — |
TEST_ACCOUNTS_URL |
cicd | healthy | — |
IG_SIGNUP_EMAIL_COMMAND |
cicd | healthy | — |
IG_SIGNUP_SMS_CODE_COMMAND |
cicd | healthy | — |
IG_SIGNUP_PHONE_NUMBER |
cicd | healthy | — |
IG_SIGNUP_SMS_CODE |
cicd | healthy | — |
IG_SIGNUP_EMAIL_CODE_COMMAND |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::codeql-analysis |
cicd | healthy | .github/workflows/codeql-analysis.yml |
gha::live-account-tests |
cicd | healthy | .github/workflows/live-account-tests.yml |
gha::python-package |
cicd | healthy | .github/workflows/python-package.yml |
gha::publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-nb66pxrk |
software | healthy | /tmp/repobility-clone-nb66pxrk |
| Label | Layer | Status | Path |
|---|---|---|---|
pubsub |
data | healthy | instagrapi/realtime/client.py |
This page is publicly accessible at:
https://repobility.com/scan/03454a0b-a3a3-48af-905c-c6cf5c8291b6/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/03454a0b-a3a3-48af-905c-c6cf5c8291b6/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.