<!-- Source: https://docs.squirro.com/en/latest/technical/api/index.html -->
# APIs and SDKs

This page provides an overview of the tools and software development kits (SDKs) you can use to develop on the Squirro platform and the Squirro APIs providing access to all services and entities of Squirro.

## Squirro Client

For information about the Python SDK that grants access to all Squirro APIs, see the [SquirroClient (Python SDK)](squirro_client/index.md#squirro-client) page. You can also build custom integrations with external dashboards or the Squirro Studio plugin.

Reference: For a complete list of API mixin classes, see the [APIs by Topic](squirro_client/sc-api-topics.md#sc-api-topics) page.

## Squirro Toolbox

The Squirro Toolbox provides many command line interface (CLI) utilities that are useful in working with Squirro.

For more details, see the [Squirro Toolbox](toolbox/index.md#api-sdk-toolbox) page, or download a copy from the [Downloads section](https://go.squirro.com/downloads) (license required).

## JavaScript SDK

The Squirro JavaScript SDK allows you to integrate Squirro into any web-enabled framework and embed Squirro into dashboards both in desktop and mobile environments.

For more information, see the [JavaScript SDK](javascript-sdk.md#api-sdk-javascript) page.

## Item Format

An item is a piece of information that is consumed through the Squirro platform. When data is ingested into Squirro, the [Data Processing Pipeline](../data-processing/index.md#data-processing) transforms a record from a data source to a Squirro item and writes it into the index.

Squirro items are represented in JSON format.

To learn more, see the [Item Format](item-format.md#data-loading-item) page.

## Authentication

All Squirro API resources are protected and authentication credentials for HTTP authentication (using the `Authorization` header) are mandatory.

To learn more about API authentication, see the [Authentication](authentication.md#api-authentication) page.

## Common Status Codes

For a list of common response status codes, see the [Common Status Codes](common-status.md#api-common-status) page.

## Common Headers

For a list of common Request Headers that the Squirro web services use, see the [Common Headers](common-headers.md#api-common-headers) page.

## Data Modeling

For information on using keywords to add structured and semi-structured information to [Squirro Items](item-format.md#data-loading-item), see the [Data Modeling](data-modeling.md#data-modeling) page.

To learn about detecting catalysts of significant events, see the [Catalyst Data Model](catalyst.md#catalyst-data-model) page.

## Search API

The search API returns the items held in a project and lets you select which item fields come back with each result. It also covers reading a single item, exporting many items, and finding out which keyword facets a project holds.

For the request syntax, the available field names, and worked examples, see the [Search API](search-api.md#api-search) page.

## Search Aggregations

Aggregations let the search API return counts, statistics, and grouped
breakdowns alongside (or instead of) items. They power facets, timelines, bar
charts, and community panels in Squirro dashboards.

For the request syntax, available methods, and worked examples, see the [Search Aggregations](aggregations.md#api-aggregations) page.

## Microservices APIs

The Squirro platform consists of multiple microservices, each with its own REST API. For detailed documentation of each service with version-specific API references, see the [Microservices APIs](services/index.md#api-services) page.
