# Sirene Lookup

> Search French companies and associations via the SIRENE registry. Use when the user asks to find a company by name, SIREN/SIRET number, location, or NAF code. Covers all registered entities in France.

- Skill: `thewatcher01/sirene-lookup` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add thewatcher01/sirene-lookup`
- Raw SKILL.md: https://api.skillmd.com/api/skills/thewatcher01/sirene-lookup/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: TheWatcher01 (https://skillmd.com/u/thewatcher01)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/thewatcher01/sirene-lookup

---


# sirene-lookup

Search the French SIRENE registry to find companies and associations.

## Triggers

- `/sirene OVH Roubaix`
- `/sirene 424761419`
- "trouve l'entreprise X"
- "quel est le SIRET de Y"
- "entreprises dans le secteur Z a Toulouse"

## How it works

The skill queries two complementary APIs:

1. **Recherche Entreprises DINUM** (no auth required) — fast full-text search by name, location, NAF code. Best for fuzzy lookups.
2. **INSEE SIRENE V3.11** (requires `INSEE_API_KEY` env var) — authoritative data with full details. Used when a SIREN/SIRET is known or when DINUM results need enrichment. Graceful fallback if no key is set.

## RGPD compliance

Only entities with `statutDiffusionEtablissement === "O"` (publicly diffusible) are returned. Non-diffusible entities are silently filtered out.

## Usage

```bash
python3 {baseDir}/scripts/sirene.py --query "OVH Roubaix" --format json
python3 {baseDir}/scripts/sirene.py --query "424761419" --format text
python3 {baseDir}/scripts/sirene.py --query "cybersecurite" --department 31 --format json
```

## Arguments

| Argument       | Required | Default | Description                              |
|----------------|----------|---------|------------------------------------------|
| `--query`      | yes      |         | Company name, SIREN, SIRET, or keywords  |
| `--department`  | no       |         | Filter by department code (e.g. 31, 75)  |
| `--per-page`   | no       | 10      | Number of results (1-25)                 |
| `--format`     | no       | json    | Output format: `json` or `text`          |

## Output fields

- `siren` — 9-digit SIREN number
- `siret` — 14-digit SIRET (headquarters)
- `denomination` — legal name
- `address` — full postal address
- `naf_code` — NAF/APE activity code
- `naf_label` — human-readable activity label
- `effectif` — workforce bracket
- `categorie_juridique` — legal form
- `date_creation` — creation date
- `etat_administratif` — active/closed

## Environment variables

| Variable        | Required | Description                     |
|-----------------|----------|---------------------------------|
| `INSEE_API_KEY` | no       | Bearer token for INSEE SIRENE V3.11. Without it, only DINUM API is used. |

