Network Automation Reference

How to Find Your Meraki Organization ID & Network ID (API + Dashboard) – 2026

When I moved from configuring Cisco Meraki networks manually through the GUI dashboard to automating deployments with the Meraki API, the very first wall I hit wasn’t authentication or rate limits — it was simply knowing which organization and network I was actually talking to. Before you can clone a site, push firewall rules, or provision hardware programmatically, you need two identifiers locked in: your Meraki Organization ID and your Meraki Network ID.

In this guide I’ll walk through enabling API access, generating your API key, and then pulling both IDs three different ways — via Postman, via Python, and directly from the Dashboard UI without touching the API at all. I use all three depending on whether I’m scripting something or just need an ID fast during a troubleshooting call.

Step 1: Enable API Access in the Meraki Dashboard

API access is disabled by default on every Meraki org as a security baseline. You have to explicitly turn it on before any external tool — Postman, Python, Terraform, whatever — can talk to your organization.

  1. Log in to your Cisco Meraki Dashboard.
  2. Navigate to Organization > Settings (sometimes labeled Configuration settings depending on your dashboard version).
  3. Scroll down to the Dashboard API access section.
  4. Check the box for Enable API access.
  5. Save your changes at the bottom of the page.

If this box is unchecked, every API call you make later will fail with an authorization error, regardless of how correct your API key or headers are — I’ve burned time debugging “bad” scripts before realizing this toggle was simply off.

Step 2: Generate Your Meraki API Key

Your API key is functionally your admin password for programmatic access. Treat it accordingly.

  1. Click your user profile icon in the top-right corner of the dashboard.
  2. Select My profile.
  3. Scroll to the API access section.
  4. Click Generate new API key.
  5. Copy the key immediately and store it in a password manager. Once you close that window, Meraki will not show you the full key again — you’ll have to revoke and regenerate if you lose it.

Step 3: Set Up Your API Headers

Every request to the Meraki API — whether from Postman or a Python script — needs the same three headers:

HeaderValue
X-Cisco-Meraki-API-Key<Your_Generated_API_Key>
Content-Typeapplication/json
Acceptapplication/json

Miss the X-Cisco-Meraki-API-Key header and you’ll get a 401. Miss Content-Type and some endpoints will silently reject malformed payloads.

Step 4: Get Your Meraki Organization ID

You have three ways to get this. Which one I use depends entirely on context.

Method A: Using Postman

  1. Open Postman and create a new GET request.
  2. Enter the URL: https://api.meraki.com/api/v1/organizations
  3. Under the Headers tab, add X-Cisco-Meraki-API-Key with your key as the value, and Content-Type set to application/json.
  4. Click Send. The response body returns a JSON array of every organization you have access to, each with a name and id field. Save the id string for the org you need.

Method B: Using Python

For anything I’m going to run more than once, I skip Postman and go straight to a script:

Python

import requests
import json

# Define the Meraki endpoint URL for Organizations

url = "https://api.meraki.com/api/v1/organizations"

# Set up the required headers for authentication and data format

headers = {
    "X-Cisco-Meraki-API-Key": "YOUR_API_KEY_HERE",
    "Content-Type": "application/json",
    "Accept": "application/json"
}

# Execute the GET request

response = requests.get(url, headers=headers)

# Parse the JSON response

organizations = response.json()

# Print the output nicely formatted

print(json.dumps(organizations, indent=4))

Run this and look for the id field next to the organization name you’re targeting — that’s your Organization ID.

Method C: Directly in the Dashboard (No API Call Needed)

This is the fastest option if you’re not scripting anything yet and just need the number.

  1. Log in to the Meraki Dashboard and make sure you’re viewing an organization (not a specific network).
  2. Scroll all the way to the bottom of any page. In the footer, you’ll see a line similar to: “Data for [Your Org Name] (organization ID: XXXXXXXXXXXXXXXXXX) is hosted in [Region].”

Here’s what that footer actually looks like — I grabbed this from a Meraki demo org while writing this guide:

Meraki Organization ID
Meraki Organization ID

The organization ID sits right there in parentheses next to the org name, with the hosting region shown at the end of the line. No API key, no Postman collection, no script — just scroll and read.

  1. Alternatively, you can hit https://api.meraki.com/api/v1/organizations directly in your browser while logged into the dashboard, and it will render the same JSON array Postman would return.

Meraki Organization ID

 

I use this dashboard footer method constantly when I’m on a call with someone and just need to confirm which org we’re troubleshooting in — it’s faster than opening Postman.

Step 5: Get Your Meraki Network ID

Once you have the Organization ID, you can list every network under it — branches, teleworker VPNs, HQ, whatever you’ve built.

Method A: Using Postman

  1. Create a new GET request.
  2. Enter the URL: https://api.meraki.com/api/v1/organizations/{organizationId}/networks, replacing {organizationId} with the ID from Step 4.
  3. Set the same headers as before.
  4. Click Send. You’ll get a JSON list of every network, each with a name (like “Branch 1” or “HQ Wireless”) and its own id.

Method B: Using Python

Python

import requests
import json

# Replace with your actual Organization ID from Step 4

org_id = "YOUR_ORG_ID_HERE"

# Define the endpoint URL dynamically using an f-string

url = f"https://api.meraki.com/api/v1/organizations/{org_id}/networks"

# Set up the required headers

headers = {
    "X-Cisco-Meraki-API-Key": "YOUR_API_KEY_HERE",
    "Content-Type": "application/json",
    "Accept": "application/json"
}

# Execute the GET request

response = requests.get(url, headers=headers)

# Parse and format the JSON response

networks = response.json()

# Print the output

print(json.dumps(networks, indent=4))

Scroll the output for the network name you’re targeting, and grab the matching id.

Method C: Directly from the Dashboard URL

This is the one I reach for most often, honestly, because it requires zero tooling.

  1. In the Dashboard, click into the specific network you’re interested in — go to Network-wide, Security & SD-WAN, or any network-level page.
  2. Look at your browser’s address bar. The URL will follow a pattern like:
    https://dashboard.meraki.com/network/N_1234567890/manage/...
  3. The segment right after /network/ — in this example, N_1234567890is your Network ID. It always starts with N_ (or L_ for some legacy network types).

No API call, no headers, no waiting on a response — just look at the address bar.

Next Steps: Moving Toward Automation

With both IDs documented, you’ve got the foundation for real Meraki API automation: cloning existing networks to spin up new sites instantly, copying configuration templates across branches, binding devices, or pushing firewall and VPN settings programmatically instead of clicking through the GUI one network at a time.

If you’re building out Python-based automation further, my guide on Python NETCONF Automation with ncclient is a good next stop for extending this same scripting approach to Cisco IOS-XE devices.


FAQ

Q: Do I need API access enabled to see the Organization ID in the dashboard footer?
A: No. The dashboard footer method (Step 4, Method C) works regardless of whether API access is enabled — it’s a UI element, not an API response. You only need API access enabled for the Postman and Python methods.

Q: My Network ID starts with “L_” instead of “N_” — is that a problem?
A: No. Meraki uses L_ prefixes for some legacy or specific network types (this shows up more often on older organizations). Functionally it works the same as an N_ prefixed ID in API calls.

Q: Can I have more than one Organization ID under the same login?
A: Yes. If your Meraki login has access to multiple organizations, the /organizations endpoint returns all of them as an array — you’ll need to identify the correct one by its name field before pulling networks under it.

Q: Is the Organization ID sensitive information I need to protect like the API key?
A: The Organization ID itself isn’t a secret — it’s just an identifier. Your API key is what needs password-manager-level protection, since that’s what actually authenticates requests.

Q: Why does my Postman request return a 404 on the networks endpoint?
A: This almost always means the Organization ID in your URL path is wrong or malformed — double-check you copied the full id string from the organizations response, not the name.

Advertisement

Leave a Comment

Sign in with Google to comment — verifies you're a real person. No WordPress account is created; nothing beyond your name and email is used.

Signed in — you can comment below.