Mikrotik Api — Examples
import asyncio from librouteros import connect async def get_interfaces(): loop = asyncio.get_event_loop() api = await loop.run_in_executor(None, connect, '192.168.88.1', 'admin', '') result = await loop.run_in_executor(None, api, '/interface/print') return result
Let me know in the comments. Want the code as a ready-to-use Python script? Download the gist here. mikrotik api examples
print(f"Active connections: TCP={tcp_count}, UDP={udp_count}") Limit a client’s bandwidth via script. import asyncio from librouteros import connect async def
Make sure /ip service set api-ssl disabled=no is enabled on the router. RouterOS 7.14 introduced REST API, but the classic API also works fine. For large networks, try async: For large networks, try async: Board: RB750Gr3 Uptime:
Board: RB750Gr3 Uptime: 3d5h12m CPU Load: 7% Automating DHCP reservations.
api(cmd='/ip/dhcp-server/lease/add', address='192.168.88.50', mac_address='AA:BB:CC:DD:EE:FF', comment='printer-api') To verify:
conns = api(cmd='/ip/firewall/connection/print') tcp_count = sum(1 for c in conns if c['protocol'] == 'tcp') udp_count = sum(1 for c in conns if c['protocol'] == 'udp')