[Index de la documentation](https://prescriptio.fr/docs/llms.txt)

# Chercher des marchés publics

L'opération REST marches.search de Prescriptio sert à rechercher les avis de marchés publics du bâti.

### Exemple d'appel, synthétique

**curl**

```bash
curl -sS https://prescriptio.fr/api/mcp/v1/marches.search \
  -H 'Authorization: Bearer <jeton>' \
  -H 'Content-Type: application/json' \
  -d '{"avec_dce":true,"limit":20,"localisation":{"dept":"69"},"query":"isolation","sort":"deadline","type":"ouvert"}'
```

**Corps JSON**

```json
{
  "avec_dce": true,
  "limit": 20,
  "localisation": {
    "dept": "69"
  },
  "query": "isolation",
  "sort": "deadline",
  "type": "ouvert"
}
```

### Forme de la réponse, générée depuis le schéma

```json
{
  "_meta": {},
  "next_cursor": "<texte>",
  "results": [
    {
      "fields": {
        "acheteur": "<texte>",
        "codes_cpv": [
          "<texte>"
        ],
        "date_attribution": "<texte>",
        "date_limite": "<texte>",
        "date_publication": "<texte>",
        "dce_consultable": false,
        "dept": "<texte>",
        "duree_mois": 0,
        "id_boamp": "<texte>",
        "jours_avant_cloture": 0,
        "montant_attribution": 0,
        "montant_estime_max": 0,
        "nature": "<texte>",
        "statut": "<texte>",
        "titulaire": "<texte>",
        "type_marche": "<texte>",
        "url": "<texte>",
        "url_avis": "<texte>",
        "ville": "<texte>"
      },
      "id": "<texte>",
      "resume": "<texte>",
      "titre": "<texte>"
    }
  ],
  "total_estimated": 0
}
```

## Paramètres du corps

| Nom | Type | Requis | Description |
|---|---|---|---|
| `avec_dce` | booléen | — | true = uniquement les marchés dont le DOSSIER (DCE) est consultable DANS Prescriptio via marches_dce — pas le lien externe plateforme acheteur. Chaque résultat porte fields.dce_consultable. |
| `cloture_dans_jours` | entier | — | Date limite dans les N prochains jours (7 = ferment cette semaine). Combiner avec sort:"deadline". (min 0, max 3650) |
| `cursor` | texte | — | Curseur next_cursor de la page précédente, repassé tel quel. |
| `limit` | entier | — | (min 1, max 50, défaut `20`) |
| `localisation` | objet | — | Zone géographique, UNE granularité. National = omettre (jamais dept:"all"). |
| `localisation.commune` | texte | — | Nom de la commune de l'ACHETEUR. |
| `localisation.dept` | texte | — | Code département : 01-95, 2A/2B ou 971-978 (ex : "69"). |
| `localisation.region` | texte | — | Nom de région (ex : Auvergne-Rhone-Alpes, PACA) — couvre tous ses départements en un appel. |
| `publie_depuis_jours` | entier | — | Publiés dans les N derniers jours (1 = veille du jour). Combiner avec sort:"recent". (min 0, max 3650) |
| `query` | texte | — | Recherche plein texte (titre, objet, acheteur, CPV). UNE requête = UN sujet : le plein texte exige TOUS les mots. Optionnelle si un filtre date/zone/type est fourni. |
| `sort` | texte | — | deadline = ferme le plus tot d'abord ; recent = publié le plus récemment d'abord ; pertinence (défaut avec query). (valeurs : `deadline` · `recent` · `pertinence`) |
| `type` | texte | — | ouvert = encore en consultation (une offre peut etre déposée) ; ferme = cloture ou attribue. Omis = les deux. (valeurs : `ouvert` · `ferme`) |

## En bref

| | |
|---|---|
| Adresse | `POST /api/mcp/v1/marches.search` |
| Contrat | 3.0.0 |
| Portée OAuth | `mcp:read` |
| Conditions d’accès | Chaque action conserve ses droits, ses conditions d’offre et ses quotas ; sa présence dans le catalogue ne les lève pas. |
| Outil MCP | [`marches_rechercher`](https://prescriptio.fr/docs/api/marches_rechercher) : même traitement |

## Erreurs et quotas

Cet outil ne consomme aucune unité de dossier : chercher est gratuit, c'est la lecture d'un dossier (`marches_dce`, `mairies_deliberations` et leurs téléchargements) qui est décomptée.

Les codes HTTP, le corps d’erreur et les compteurs d’appels et de dossiers sont communs. Chaque action conserve aussi ses droits et plafonds métier : [Codes d'erreur](https://prescriptio.fr/docs/reference/erreurs) et [Authentification et quotas](https://prescriptio.fr/docs/reference/authentification#les-quotas).

## Les pages qui s'en servent

Calculé depuis la documentation : chaque page qui cite `marches.search`.

- [Les marchés publics](https://prescriptio.fr/docs/donnees/marches-publics) : Documentation, Les données
- [Moteur de recherche](https://prescriptio.fr/docs/recherche) : Documentation, Les modules
- [Appels d'offres](https://prescriptio.fr/docs/appels-offres) : Documentation, Les modules
- [API REST](https://prescriptio.fr/docs/integrations/api-rest) : IA, Intégrations
- [OpenAPI](https://prescriptio.fr/docs/reference/openapi) : Référence, Pour commencer

## Voir aussi

- [Référence API](https://prescriptio.fr/docs/reference) : L'adresse, l'authentification et les codes de réponse
- [marches_rechercher](https://prescriptio.fr/docs/api/marches_rechercher) : La même action par le connecteur MCP
- [OpenAPI](https://prescriptio.fr/openapi.json) : Le schéma machine de toutes les opérations
