getMerakiNeighbor
Get CDP/LLDP neighbors from Meraki Dashboard API.

More details on IFCONFIG.IT
Requirements
Enable API access, instructions HERE
Install the necessary modules
 pip3 install -r requirements.txt
 
NOTE: I strongly advise to use virtualenv or other Virtual Environment tools.
How to
Provide key from command line
python3 getMerakiNeighbor.py -K 99999999999999999999999999999999999f88ec
 
or export an env variable
export apikey=MYMERAKIDASHBOARDAPIKEY
 
Running the script without parameters will print the list of the available organizations:
python3 getMerakiNeighbor.py
ORGANIZATIONS AVAILABLE
NAME: DevNet Sandbox                            ID: 549236
NAME: Meraki Launchpad🚀                        ID: 537758
 
Specify an organization to print a list of all the networks of the organization
python3 getMerakiNeighbor.py -O 549236
NETWORKS AVAILABLE FOR ORGANIZAZION "DevNet Sandbox" with ID 549236
NETWORK: DevNet Always On Read Only                         ID: L_646829496481099586
NETWORK: test - mx65                                        ID: N_646829496481152899
NETWORK: Long Island Office                                 ID: L_646829496481103488
NETWORK: DNSMB1                                             ID: L_646829496481103758
NETWORK: DNSMB4                                             ID: L_646829496481103761
 
Specify a network to get all the CDP or LLDP neighbors for that newtork:
python3 getMerakiNeighbor.py -O 549236 -N L_646829496481099586
CDP  LOCAL Q2QN-9J8L-SLPD           SOURCE-PORT wan0     REMOTE DEVICE main-sw                                  REMOTE PORT GigabitEthernet1/0/3     REMOTE IP 10.10.10.254
CDP  LOCAL Q2QN-9J8L-SLPD           SOURCE-PORT port10   REMOTE DEVICE 881544dff3af                             REMOTE PORT Port 8                   REMOTE IP 10.182.255.47
LLDP LOCAL Q2QN-9J8L-SLPD           SOURCE-PORT port10   REMOTE DEVICE Meraki MS220-8P - DevNet Always On Read  REMOTE PORT 8                        REMOTE IP 10.182.255.47
 
Apply a filter for a specific protocol, CDP:
python3 getMerakiNeighbor.py -O 549236 -N L_646829496481099586 -P cdp
CDP  LOCAL Q2QN-9J8L-SLPD           SOURCE-PORT wan0     REMOTE DEVICE main-sw                                  REMOTE PORT GigabitEthernet1/0/3     REMOTE IP 10.10.10.254
CDP  LOCAL Q2QN-9J8L-SLPD           SOURCE-PORT port10   REMOTE DEVICE 881544dff3af                             REMOTE PORT Port 8                   REMOTE IP 10.182.255.47
 
or LDDP:
python3 getMerakiNeighbor.py -O 549236 -N L_646829496481099586 -P lldp
LLDP LOCAL Q2QN-9J8L-SLPD           SOURCE-PORT port10   REMOTE DEVICE Meraki MS220-8P - DevNet Always On Read  REMOTE PORT 8                        REMOTE IP 10.182.255.47
 
Use the --all flag to print all the neighbors of a specific organization
python3 getMerakiNeighbor.py -O 549236 --all
CDP  LOCAL Q2QN-9J8L-SLPD           SOURCE-PORT wan0     REMOTE DEVICE main-sw                                  REMOTE PORT GigabitEthernet1/0/3     REMOTE IP 10.10.10.254
CDP  LOCAL Q2QN-9J8L-SLPD           SOURCE-PORT port10   REMOTE DEVICE 881544dff3af                             REMOTE PORT Port 8                   REMOTE IP 10.182.255.47
LLDP LOCAL Q2QN-9J8L-SLPD           SOURCE-PORT port10   REMOTE DEVICE Meraki MS220-8P - DevNet Always On Read  REMOTE PORT 8                        REMOTE IP 10.182.255.47
LLDP LOCAL Q2MD-BHHS-5FDL           SOURCE-PORT wired0   REMOTE DEVICE Meraki MS220-8P - MS220-8P-BE67          REMOTE PORT 2                        REMOTE IP 192.168.128.19
 
Usefult links
Meraki API
Meraki API changelog