Parsing & Analysis

15 endpoints for parsing and analysing developer inputs — regex patterns, cron expressions, timestamps, user-agents, IP/URL/HTTP structures, colours, number bases, semver strings, file permissions, environment files, and card numbers.

Endpoint Purpose
POST /v1/regex-test Test a regex pattern against text
POST /v1/regex-extract Extract capture groups from text
GET /v1/cron-parse Parse a cron expression and return next run times
GET /v1/cron-next Get next execution times for a cron expression
GET /v1/timestamp Convert Unix timestamps ↔ ISO 8601
POST /v1/user-agent Parse a User-Agent string
GET /v1/ip-calc Calculate IP network details from CIDR
GET /v1/url-parse Decompose a URL into components
POST /v1/http-header-parse Parse raw HTTP headers
GET /v1/color-convert Convert a colour between hex, RGB, HSL, and more
GET /v1/base-convert Convert a number between bases (2–36)
POST /v1/semver-compare Compare and sort semantic version strings
GET /v1/chmod-calc Convert between octal and symbolic file permissions
POST /v1/env-parse Parse a .env file into key-value pairs

Python SDK Examples

Test a regex pattern

from toolkitapi import DevTools

with DevTools(api_key="tk_...") as dt:
    result = dt.regex_test(
        pattern=r"^\d{4}-\d{2}-\d{2}$",
        text="2024-06-15",
        flags="i",
    )
    print(result["matched"])     # True
    print(result["matches"])     # List of match objects

Extract capture groups

from toolkitapi import DevTools

with DevTools(api_key="tk_...") as dt:
    result = dt.regex_extract(
        pattern=r"(\w+)@(\w+)\.(\w+)",
        text="Contact [email protected] or [email protected]",
    )
    print(result["captures"])    # [["alice", "example", "com"], ["bob", "corp", "io"]]

Parse a cron expression

from toolkitapi import DevTools

with DevTools(api_key="tk_...") as dt:
    result = dt.cron_parse("0 9 * * MON-FRI", count=5, tz="America/New_York")
    print(result["description"])  # "At 09:00 AM, Monday through Friday"
    print(result["next_runs"])    # Next 5 scheduled times

Convert a Unix timestamp

from toolkitapi import DevTools

with DevTools(api_key="tk_...") as dt:
    result = dt.timestamp(ts=1718438400)
    print(result["iso"])           # "2024-06-15T08:00:00+00:00"
    print(result["relative"])      # "about 2 days ago"

Parse a User-Agent string

from toolkitapi import DevTools

ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"

with DevTools(api_key="tk_...") as dt:
    result = dt.user_agent(ua)
    print(result["browser"]["name"])  # "Chrome"
    print(result["os"]["name"])       # "macOS"
    print(result["device"]["type"])   # "desktop"

Calculate IP network details

from toolkitapi import DevTools

with DevTools(api_key="tk_...") as dt:
    result = dt.ip_calc("192.168.1.0/24")
    print(result["network"])       # "192.168.1.0"
    print(result["broadcast"])     # "192.168.1.255"
    print(result["host_count"])    # 254
    print(result["subnet_mask"])   # "255.255.255.0"

Parse a URL

from toolkitapi import DevTools

with DevTools(api_key="tk_...") as dt:
    result = dt.url_parse("https://api.toolkitapi.io/v1/items?page=2&limit=10#section")
    print(result["scheme"])     # "https"
    print(result["host"])       # "api.toolkitapi.io"
    print(result["path"])       # "/v1/items"
    print(result["query"])      # {"page": "2", "limit": "10"}
    print(result["fragment"])   # "section"

Convert a colour

from toolkitapi import DevTools

with DevTools(api_key="tk_...") as dt:
    result = dt.color_convert("#FF5733")
    print(result["rgb"])    # "rgb(255, 87, 51)"
    print(result["hsl"])    # "hsl(11, 100%, 60%)"
    print(result["hex"])    # "#FF5733"

Compare semantic versions

from toolkitapi import DevTools

with DevTools(api_key="tk_...") as dt:
    result = dt.semver_compare(["1.10.0", "1.9.0", "2.0.0-beta.1", "1.9.1"])
    print(result["sorted"])    # ["1.9.0", "1.9.1", "1.10.0", "2.0.0-beta.1"]

Parse a .env file

from toolkitapi import DevTools

env_content = """
DATABASE_URL=postgres://user:pass@localhost/mydb
DEBUG=true
PORT=8000
# comment line
SECRET_KEY=abc123
"""

with DevTools(api_key="tk_...") as dt:
    result = dt.env_parse(env_content)
    print(result["variables"])   # {"DATABASE_URL": "...", "DEBUG": "true", ...}

Validate a credit card number

from toolkitapi import DevTools

with DevTools(api_key="tk_...") as dt:
    result = dt.card_validate("4111 1111 1111 1111")
    print(result["valid"])    # True
    print(result["network"])  # "Visa"
    print(result["type"])     # "credit"

Tip

The cron-parse endpoint returns a human-readable description alongside next run times, making it useful for both documentation generation and scheduling UIs.