skillfed

RESTinstance

Robot Framework library for RESTful JSON APIs

restinstance v1.8.0 84.2K downloads/30d#14,020 on PyPI220
Copyleft license LGPLv3 Active released

What it is and what it does

RESTinstance bridges Robot Framework and REST API testing by providing keywords that let you write API tests in plain language rather than code. You make HTTP requests (GET, POST, PUT, PATCH, DELETE), then validate responses using assertions tied to JSON types and paths—no custom validation logic needed. The library automatically generates JSON Schema from your requests and responses, which you can refine through tests and export to file or extend into a full OpenAPI spec. This schema-first approach reduces test maintenance when API response values change, because tests focus on type and structure rather than hardcoded values.

The library depends on established tools: requests for HTTP, jsonschema and openapi-core for validation, GenSON for schema generation, and jsonpath-ng for querying nested JSON. It supports JSON Schema Draft 2020-12 and 2019-09, and OpenAPI 3.0, 3.1, and 3.2. Robot Framework's language-agnostic syntax means tests can be written and maintained by non-programmers, making it suitable for teams where QA and developers have different skill levels.

Use it for:

  • Write API contract tests in plain language without programming, using Robot Framework's keyword-driven syntax to validate endpoints.
  • Auto-generate and refine JSON Schema from test runs, then export it as a reusable spec or extend it to OpenAPI for documentation.
  • Test multiple HTTP methods (GET, POST, PUT, PATCH, DELETE) against the same endpoint and verify both status codes and response structure.
  • Query nested JSON responses using JSONPath to assert on specific fields across multiple objects in a single test step.
  • Validate API responses against an existing OpenAPI spec to ensure the implementation matches the contract.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

RESTinstance is a Robot Framework library that lets you write API tests in plain language, validating JSON responses against schemas and OpenAPI specifications without requiring programming expertise.

Yes. RESTinstance is actively maintained, has low install friction, and fills a clear niche: API testing in Robot Framework without programming. The copyleft license is not a barrier for internal testing. Choose it if your team uses Robot Framework or prefers keyword-driven test syntax; avoid it if you need a Python-native test library or are already invested in pytest or another framework.

Install

restinstance on PyPI

pip

pip install restinstance

uv

uv add restinstance

poetry

poetry add restinstance

Installing RESTinstance

Before you install

Low install friction with a pure Python wheel distribution. The package is actively maintained with recent commits and supports current Python versions (3.11–3.14). Twelve runtime dependencies are all well-established libraries (requests, jsonschema, openapi-core, etc.), so dependency resolution is straightforward.

License in practice

Licensed under LGPLv3 (copyleft). If you distribute software that uses RESTinstance, you must make your own source code available under a compatible license. For internal testing use, this poses no constraint.

Quickstart

pip install RESTinstance

# In a Robot Framework test file:
*** Settings ***
Library    REST    https://api.example.com

*** Test Cases ***
Test API
    GET    /endpoint
    Integer    response status    200

Requires Robot Framework to be installed separately and Python 3.11 or later. Tests are written in Robot Framework's .robot syntax, not Python.

Verify before relying

  • Whether the package's JSON Schema generation feature remains accurate as APIs evolve in production use.
  • Performance characteristics when testing large JSON payloads or high-volume request sequences.

Package facts

License LGPLv3 (copyleft)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 12 — docutils, flex, GenSON, jsonpath-ng, jsonschema, openapi-core, pygments, pytz, requests, robotframework, tzlocal, setuptools
Maintenance actively maintained — 130 days since the last release
Last repo commit
First released
Downloads 84,190/month — #14,020 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: restinstance-1.8.0-py3-none-any.whl

Keywords: robotframework, library, http, json, api

Development Status :: 5 - Production/StableFramework :: Robot FrameworkFramework :: Robot Framework :: LibraryLicense :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)Operating System :: OS IndependentProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: Testing

Tags

robot framework api testingjson schema validation testingopenapi test automationrestful api test libraryrobot framework rest testingjson api test keywordsautomated api testing framework
robot-frameworkapi-testingjson-schema

More Python Modules packages