<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/response-cli-is-an-api-ipspace-net-blog-vr1um0nlw" -->

---
title: Response: CLI Is an API « ipSpace.net blog | daily.dev
description: A discussion sparked by a previous post on screen scraping in 2025, featuring two expert perspectives on whether CLI can be treated as an API. Andrew...
canonical: https://daily.dev/posts/response-cli-is-an-api-ipspace-net-blog-vr1um0nlw
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Response: CLI Is an API « ipSpace.net blog | daily.dev
og:description: A discussion sparked by a previous post on screen scraping in 2025, featuring two expert perspectives on whether CLI can be treated as an API. Andrew...
og:url: https://daily.dev/posts/response-cli-is-an-api-ipspace-net-blog-vr1um0nlw
og:image: https://api.daily.dev/og/posts/VR1uM0nLW.png
og:image:alt: Response: CLI Is an API « ipSpace.net blog
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Response: CLI Is an API « ipSpace.net blog

**[ipSpace.net Blog](https://daily.dev/sources/ipspace)** · 2 min read · 0 upvotes · 0 comments

## Summary

A discussion sparked by a previous post on screen scraping in 2025, featuring two expert perspectives on whether CLI can be treated as an API. Andrew Yourtchenko argues CLI is an API and that screen scraping can be made robust with defensive regex patterns, conservative data capture, and Option-type handling. Dr. Tony Przygienda counters that regex-based parsing is fundamentally flawed because it cannot understand semantic structure, making such solutions a maintenance nightmare. The blog author sides with Tony but acknowledges that vendors' cumbersome structured APIs often make screen scraping the pragmatic choice. Cisco's pyATS/Genie and ConfD on IOS/XE are cited as vendor attempts to address CLI parsing.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.ipspace.net/2025/05/response-cli-api>

## Questions this post answers

### What are the conditions that make CLI screen scraping with regex more reliable for network automation?

Three conditions make CLI screen scraping more maintainable: write regexes defensively and permissively (ignore unmatched spaces and tabs), be conservative about captured data so failures produce no data rather than garbage, and handle all parsed data as Option/nullable types so you always check for presence before use. These same practices are needed even with structured APIs when handling schema changes.

_Network engineers weighing CLI parsing vs structured APIs find the ongoing debate tracked on daily.dev._

## Similar posts on daily.dev

- [AI has made the CLI more important and powerful](https://daily.dev/posts/ai-has-made-the-cli-more-important-and-powerful-ecb25bhyr) · The Register · 1 upvotes · 0 comments
- [One Flexible Tool Beats a Hundred Dedicated Ones](https://daily.dev/posts/one-flexible-tool-beats-a-hundred-dedicated-ones-zvmphzsef) · Towards Data Science · 0 upvotes · 0 comments

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#networking](https://daily.dev/tags/networking), [#cli](https://daily.dev/tags/cli)

[View this post on daily.dev](https://daily.dev/posts/response-cli-is-an-api-ipspace-net-blog-vr1um0nlw)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Response: CLI Is an API « ipSpace.net blog","url":"https://daily.dev/posts/response-cli-is-an-api-ipspace-net-blog-vr1um0nlw","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/response-cli-is-an-api-ipspace-net-blog-vr1um0nlw"},"datePublished":"2026-08-11T08:53:14.270Z","dateModified":"2026-08-11T09:00:07.129Z","description":"A discussion sparked by a previous post on screen scraping in 2025, featuring two expert perspectives on whether CLI can be treated as an API. Andrew...","image":"https://media.daily.dev/image/upload/s--HRgLpUt6--/f_auto/v1722860399/public/Placeholder%2003","thumbnailUrl":"https://media.daily.dev/image/upload/s--HRgLpUt6--/f_auto/v1722860399/public/Placeholder%2003","isAccessibleForFree":true,"articleSection":"ipSpace.net Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ipSpace.net Blog","logo":"https://media.daily.dev/image/upload/s--xS7E82MT--/f_auto,q_auto/v1786438303/logos/ipspace?_a=BAMAMicg0","url":"https://daily.dev/sources/ipspace"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/response-cli-is-an-api-ipspace-net-blog-vr1um0nlw","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"architecture,networking,cli","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ipSpace.net Blog","item":"https://daily.dev/sources/ipspace"},{"@type":"ListItem","position":3,"name":"Response: CLI Is an API « ipSpace.net blog"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/response-cli-is-an-api-ipspace-net-blog-vr1um0nlw#faq","mainEntity":[{"@type":"Question","name":"What are the conditions that make CLI screen scraping with regex more reliable for network automation?","acceptedAnswer":{"@type":"Answer","text":"Three conditions make CLI screen scraping more maintainable: write regexes defensively and permissively (ignore unmatched spaces and tabs), be conservative about captured data so failures produce no data rather than garbage, and handle all parsed data as Option/nullable types so you always check for presence before use. These same practices are needed even with structured APIs when handling schema changes. Network engineers weighing CLI parsing vs structured APIs find the ongoing debate tracked on daily.dev."}}]}
```

