I`ve had a few people ask me recently the key differences between Scrapli and Netmiko, and when they should use one over another.

To be fair it can be confusing as on the surface they both:

  • Allow you to interact with various device types via SSH.
  • Both are Python-based.
  • Both allow you to parse your data through Genie, TTP or TextFSM based parsers.

However, the key differences are:


  • Provides support for a large number of device types (iirc ~105).
  • Does not allow you to configure the underlying transport (you are fixed to Paramiko).


  • Provides support for a limited (5) number of devices types. Though the supported device types are the main players (NXOS, JUNOS, EOS etc).
  • Provides support for configuring the underlying transport type. By changing the underlying transport type you can then benefit from faster speeds and greater SSH config support.

Don't get me wrong there are many other differences. Such as Scrapli supports NETCONF, config merges and replaces etc. (full differences in our Scrapli course here). But these are the main ones to know.

So whether to use Netmiko or Scrapli depends on your use case. If you are looking to automate against some Cisco ASAs then Netmiko could be for you. However, if you are wanting to perform configuration pushes to your NXOS estate, at uber-fast speeds, then Scrapli is worth investigating.

Want to learn more about Scrapli or Netmiko? If so check out our courses below:

Network Configuration with Scrapli
Learn how to configure, parse and automate your network with the latest open-source tool - Scrapli.
Network Configuration with Netmiko
Learn how to automate your network with the open-source tool - Netmiko.
Want to Learn Network Automation?
Join our membership and get access to:
  • Full deep-dive course library (inc. Batfish, pyATS, Netmiko)
  • Code repositories inc. full course code, scripts and examples
  • 24x7 multi-vendor labs (Arista, Cisco, Juniper)
  • Private online community
  • Tech demos and sessions

Join Now ➜