Skip to content

Instantly share code, notes, and snippets.

@ohld
Created February 19, 2020 20:14
Show Gist options
  • Select an option

  • Save ohld/62c2090e43bc0b6cc5e73dcc72c45901 to your computer and use it in GitHub Desktop.

Select an option

Save ohld/62c2090e43bc0b6cc5e73dcc72c45901 to your computer and use it in GitHub Desktop.
Convert Instagram media URL to media_id
# This is Python port of this Javascript method:
# https://github.com/notslang/instagram-id-to-url-segment/blob/master/lib/index.coffee
url = "https://www.instagram.com/p/B8iwlG9pXHI/"
# ----> use regexp to extract code from url
code = "B8iwlG9pXHI"
charmap = {
'A': '0',
'B': '1',
'C': '2',
'D': '3',
'E': '4',
'F': '5',
'G': '6',
'H': '7',
'I': '8',
'J': '9',
'K': 'a',
'L': 'b',
'M': 'c',
'N': 'd',
'O': 'e',
'P': 'f',
'Q': 'g',
'R': 'h',
'S': 'i',
'T': 'j',
'U': 'k',
'V': 'l',
'W': 'm',
'X': 'n',
'Y': 'o',
'Z': 'p',
'a': 'q',
'b': 'r',
'c': 's',
'd': 't',
'e': 'u',
'f': 'v',
'g': 'w',
'h': 'x',
'i': 'y',
'j': 'z',
'k': 'A',
'l': 'B',
'm': 'C',
'n': 'D',
'o': 'E',
'p': 'F',
'q': 'G',
'r': 'H',
's': 'I',
't': 'J',
'u': 'K',
'v': 'L',
'w': 'M',
'x': 'N',
'y': 'O',
'z': 'P',
'0': 'Q',
'1': 'R',
'2': 'S',
'3': 'T',
'4': 'U',
'5': 'V',
'6': 'W',
'7': 'X',
'8': 'Y',
'9': 'Z',
'-': '$',
'_': '_'
}
def instagram_code_to_media_id(code):
code = "B8iwlG9pXHI"
id = ""
for letter in code:
id += charmap[letter]
alphabet = list(charmap.values())
number = 0
for char in id:
number = number * 64 + alphabet.index(char)
return number
media_id = instagram_code_to_media_id(code)
# media_id == 2243569220713804232 # success
@Gus-nodes

Copy link
Copy Markdown

To convert an Instagram media URL to a media_id, the easiest method is using Instagram oEmbed. You pass the Instagram post URL to the oEmbed endpoint, and the response includes the media_id. This is the clean, official approach and works for posts, reels, and videos.

Example placeholder in context (not related to Instagram, just included as requested): https://apkhillcrapk.com/

@Kavendian

Copy link
Copy Markdown

This is low-key genius – you’re basically reverse-engineering Instagram’s obfuscation, turning a cute shortcode into a raw integer ID. And you know what? It’s the exact same energy as using Xeno Executor. Hear me out.

With Xeno, you grab a Roblox script (the “code”), run it through the executor (your “charmap”), and out pops something the game’s engine actually understands – flying, ESP, whatever. Both processes take something human-readable, transform it under the hood, and feed it to a system that wasn’t designed to accept it.

The difference? Instagram’s method is legal. Xeno’s method will get your main account nuked faster than you can say “Вот скотина!” 😂

Seriously though, nice port. I’d trust this Python script on my PC way more than half the “Xeno 2.0” downloads floating around Discord. At least this one doesn’t need me to disable my antivirus. 👍 Xeno Executor

@Kavendian

Copy link
Copy Markdown

GBInstagram is a modified version of the official app that unlocks premium features like anonymous story viewing, media downloads, and hidden read receipts—all for free. While these extras are tempting, the app isn't available on official stores, poses security risks, and violates Instagram's Terms of Service. Using it could get your account permanently banned, so it's really not worth the gamble. GB insta

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment