• Website
  • Server status
  • API documentation
  • Blog
Telegram Icon Community
EN
English
Português
Русский
中文 (中国)
Tiếng Việt
Log in Try for €3.99
  • Website
  • Server status
  • API documentation
  • Blog
  • Telegram Icon Community
  • English (US)
    English
    Português
    Русский
    中文 (中国)
    Tiếng Việt
Log in View Plans

Custom API scripts with Python

Build powerful automation workflows with Python and the Multilogin API. Create, manage, and launch browser profiles with fully customizable scripts.

search icon

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Getting started with Multilogin X automation
  • Basic automation with CLI
  • Low-code automation with Postman
  • Script runner & predefined scripts
  • Puppeteer, Selenium, and Playwright
  • Custom API scripts with Python
  • Quick solutions in Developer Tools
  • Home
  • breadcrumb separator bar
  • Multilogin X
  • breadcrumb separator bar
  • Task automation with API
  • breadcrumb separator bar
  • Custom API scripts with Python
  • breadcrumb separator bar
  • How to export proxy details from browser profiles using Python

How to export proxy details from browser profiles using Python

Written by Marcelo B ( Updated on April 15th, 2025 )

Updated on April 15th, 2025

Generating JSON proxy credentials lists from any set of Multilogin X browser Profile IDs can be streamlined using Python. This article will guide you through the process of creating these lists efficiently.

Before you start

  1. Ensure you have a Python environment set up with the following packages installed:
    1. os
    2. json
    3. dotenv
    4. hashlib
    5. requests
  2. Save the script proxies_to_json.py in your desired folder 

proxies_to_json.py

import os
import json
import dotenv
import hashlib
import requests

dotenv.load_dotenv()

# Credentials are pulled from a local .env file
USERNAME = os.getenv("MLXUSERNAME")
PASSWORD = os.getenv("MLXPASSWORD")

# Insert Your FolderID here
FOLDERID = "91f042e6-xxx-4e1f-adee-5eed6bb47d60"

# Insert your profile_ids.json filepath here
LIST_PATH = "C:/.../files/pid_list.json"

# Paste your string values manually:
LIST_MANUAL = [
    "95f6d02c-xxxx-47c4-b1d4-369801f2a37c",
    "48da90d8-xxxx-40a2-8ccb-2d9e7e3eaebb",
    "e2f9d96a-xxxx-4439-ae74-10beda6bf109",
    "fffca377-xxxx-495e-a408-3a98716e14ea",
    "f3559ca3-xxxx-479c-8a8a-c4b831e8f78b",
    "1c1e09dc-xxxx-4495-979b-7cb805a3a8a1",
    "a66ba910-xxxx-48ac-a6d1-615f996b3a1d",
    "f17140f4-xxxx-47c5-96d5-1b9fd184203b",
    "0a505d93-xxxx-4ba9-bd25-d37bf8bb168d",
]


# API-Related Objects
LOCALHOST = "http://127.0.0.1"
MLX_BASE = "https://api.multilogin.com"
LAUNCHERV1 = "https://launcher.mlx.yt:45001/api/v1"
HEADERS = {"Accept": "application/json", "Content-Type": "application/json"}

# Login Function
def signin() -> str:
    payload = {
        "email": USERNAME,
        "password": hashlib.md5(PASSWORD.encode()).hexdigest(),
    }

    r = requests.post(f"{MLX_BASE}/user/signin", json=payload)

    if r.status_code != 200:
        print(f"\nError during login: {r.text}\n")
        return ""
    else:
        response = r.json()["data"]
        token = response["token"]
        return token


# Search Profiles called "TempName": recently created by the Bulk Create function.
def profile_search():
    url = "https://api.multilogin.com/profile/search"
    body = {
        "is_removed": False,  # Do you wish to search for removed profiles? True/False
        "limit": 100,  # How many profile results do you wish to get?
        "offset": 0,  # Check MLX Documenter page for a full parameter breakdown
        "search_text": "",
        "storage_type": "all",
        "order_by": "created_at",
        "sort": "asc",
    }
    response = requests.request("POST", url, headers=HEADERS, json=body)
    resp_json = json.loads(response.content)
    return resp_json


# Obtain a list of ProfileIDs retrieved by the Profile Search endpoint
def get_profile_ids():
    profile_list = profile_search()

    if profile_list["data"]["total_count"] == 0:
        print("No more profiles found: error in response or end of task.")
        return []
    else:
        if (
            profile_list
            and "data" in profile_list
            and "profiles" in profile_list["data"]
        ):
            profile_ids = [
                profile["id"] for profile in profile_list["data"]["profiles"]
            ]
            return profile_ids
        else:
            print("Error - Please check Get Profile IDs function.")


# Use Profile Metas endpoint to get the Proxy information registrered.
def search_proxy_metas(option_call):
    url = "https://api.multilogin.com/profile/metas"

    if option_call == "1":
        payload = json.dumps({"ids": LIST_MANUAL})

    elif option_call == "2":
        payload = json.dumps({"ids": get_profile_ids()})

    elif option_call == "3":
        with open(LIST_PATH, "r") as file:
            proxies = json.load(file)
        payload = json.dumps({"ids": proxies})
    else:
        print("Invalid option. Restart.")
        return

    response = requests.request("POST", url, headers=HEADERS, data=payload)
    response_object = response.text
    extracted_data = json.loads(
        response_object
    )  # Full Profile Metas object (not only proxies)

    query_result = []

    for profile in extracted_data["data"]["profiles"]:
        proxy_metas = profile["parameters"]["proxy"]
        query_result.append(proxy_metas)

    proxy_json = json.dumps(query_result, indent=4)
    print(proxy_json)

    # Write the JSON with results
    with open("proxy_credentials.json", "w") as json_file:
        json_file.write(proxy_json)

    print(
        f"Total of {len(query_result)} proxies were saved on proxy_credentials.json \n"
    )


# Main function
def main():
    token = signin()
    if token:
        HEADERS.update({"Authorization": f"Bearer {token}"})
    else:
        print("Failed to sign in.")

    option_call = input(
        "\n\n Select method to find proxy list: \n  (1) from PATH \n  (2) from Profile Search \n  (3) Manual List (line 17) \n Write Selection: \n   "
    )

    search_proxy_metas(option_call)


if __name__ == "__main__":
    main()
 
 
  1. Save the .env file in the same folder. 
    1. Add your Multilogin X credentials (email and password)
    2. Add the FolderID: you can find this value using our guides on DevTools or Postman

Running the script

  1. Open your terminal and navigate to the folder containing the script
  2. Run the script proxies_to_json.py
  3. Select the desired input option when prompted

You can choose to input your Profile ID list via path, text, or search, or using the results from the Profile Search endpoint.
If using the Profile Search option, adjust the function parameters accordingly.

 
  1. Check the results in the file proxy_credentials.json stored in the same folder

Was this article helpful?

Give feedback about this article

In this article

  • Before you start
  • Running the script

Multilogin community

Stay informed, share your thoughts, and engage with others!

Telegram Icon Join us on Telegram

Read more on the topic

Blog Post Img

10 Best Datacenter Proxies for Web Scraping (2025 Edition)

Apr 2, 2025 5 min read
Google SERP Img

What is a Google SERP Proxy and Why Should You Care?

Apr 1, 2025 6 min read
UK Proxy Img

What Are Dedicated UK Proxies? Everything You Need to Know

Apr 1, 2025 6 min read
Related Article Title Icon

Related Articles

  • How to import external proxy lists with Python
  • How to launch CookieRobot using Script runner in Postman

ANTIDETECT PLATFORM

  • Antidetect browser
  • Mobile antidetect browser
  • Headless browser
  • Multilogin residential proxies
  • Multi-account management
  • Web automation

RESOURCES

  • Knowledge base
  • API documentation
  • Glossary
  • Blog
  • Multilogin 6 download
  • Server status
  • Release notes

PLATFORM PROXIES

  • Google proxy
  • Facebook proxy
  • Reddit proxy
  • Twitter proxy
  • Amazon proxy
  • LinkedIn proxy

GEO PROXIES

  • Japan proxy
  • UK proxy
  • USA proxy
  • China proxy
  • Canada proxy
  • India proxy

MULTI-ACCOUNT MANAGEMENT

  • Create multiple Facebook accounts
  • Create multiple LinkedIn accounts
  • Create multiple Amazon accounts
  • Create multiple eBay accounts
  • Create multiple Gmail accounts
  • Create multiple Discord accounts

COMPARISON

  • Multilogin vs. Gologin
  • Multilogin vs. Adspower
  • Multilogin vs. Dolphin Anty
  • Multilogin vs. Incognition
  • Multilogin vs. Octo Browser

GET IN TOUCH

  • Contact 24/7 support
    [email protected]
  • Contact sales
  • Affiliate program
  • Careers

© 2025 Multilogin. All rights reserved.

  • Privacy policy
  • Terms of service
  • Cookie policy
Multilogin abstract watermark
  • ANTIDETECT PLATFORM

    • Antidetect browser
    • Mobile antidetect browser
    • Headless browser
    • Multilogin residential proxies
    • Multi-account management
    • Web automation
  • RESOURCES

    • Knowledge base
    • API documentation
    • Glossary
    • Blog
    • Multilogin 6 download
    • Server status
    • Release notes
  • MULTI-ACCOUNT MANAGEMENT

    • Create multiple Facebook accounts
    • Create multiple LinkedIn accounts
    • Create multiple Amazon accounts
    • Create multiple eBay accounts
    • Create multiple Gmail accounts
    • Create multiple Discord accounts
  • COMPARISON

    • Multilogin vs. Gologin
    • Multilogin vs. Adspower
    • Multilogin vs. Dolphin Anty
    • Multilogin vs. Incognition
    • Multilogin vs. Octo Browser
  • PLATFORM PROXIES

    • Google proxy
    • Facebook proxy
    • Reddit proxy
    • Twitter proxy
    • Amazon proxy
    • LinkedIn proxy
  • GEO PROXIES

    • Japan proxy
    • UK proxy
    • USA proxy
    • China proxy
    • Canada proxy
    • India proxy
  • GET IN TOUCH

    • 24/7 support: [email protected]
    • Contact sales
    • Affiliate program
    • Careers
Multilogin abstract watermark
  • Privacy policy
  • Terms of service
  • Cookie policy

© 2025 Multilogin. All rights reserved.

Expand