libscgi is a library offering an useful API for SCGI C written client programs. The library additionally comes with a small SCGI server used for relying the incoming connections from the HTTP server to the client application.


  • Native C interface
  • Fast and thread-safe
  • Multiple request serving (in scgiserver)


You can get the latest, development version source code from our git repository.

NOTE! The 0.9 version had some API changes, because of which backwards compatibility might be broken. For convenience, the previous stable version from the 0.8 tree (with fixes from the 0.9 version) can be found here - libscgi-0.8.1

If you are an Arch Linux user, you can easily find this package in the Arch Linux User Repository (AUR) - thanks go to Henri Häkkinen for preparing and uploading the package. Dive in here for more details.

You can also see all previous stable versions here.

Source Code

You can check out libscgi source code using our GitWeb interface or by simply cloning our repository to your computer. It's as simple as writing:

git clone git://

in your console, provided that you have the git package installed. Of course you can modify and use libscgi at will, as long as you obey the rules of the GNU Public License version 3. We highly encourage you to participate in the development of the project as well - feel free to send us useful patches and links to your branches, and we will consider merging the changes with our main repository. Since security is of high importance in libscgi, we also encourage everyone to test and search for bugs or possible security leaks. Any help is highly appreciated. Please feel free to contact the ASNlibs project maintainer for this purpose - Łukasz 'sil2100' Zemczak.


  1. Getting started with libscgi
  2. Using libscgi in your application
  3. Using scgiserver with your application
  4. Examples

For more specific developer information about libscgi API, see our doxygen generated documentation or the source code headers. Our web hosted doxygen documentation is updated daily from our main git repository, so it is most likely always up-to-date with the latest revision. If you are interested in documentation for the current, stable version, please consult the source code headers from the tarball.