Aller au contenu
Argos Sourcing

API REST

Toute la base européenne, en JSON, dans votre code

Les mêmes sociétés que l'interface, les mêmes filtres pays et secteur, renvoyés en JSON stable. Une clef, un en-tête, aucun SDK à installer. L'API est incluse dans chaque offre et n'est jamais facturée à part.

sociétés
18,7 M
pays
25
secteurs
84

Démarrer

Trois étapes, moins de cinq minutes

01

Créer un compte

Gratuit, sans carte bancaire. L'offre Découverte ouvre immédiatement 50 appels par jour et 5 sociétés par appel.

Créer un compte
02

Générer une clef

Dans Mon compte, section Clefs API. La clef commence par as_live_ et n'est affichée qu'une fois : copiez-la dans votre gestionnaire de secrets. Découverte donne 1 clef, Intégration jusqu'à 10.

Mes clefs API
03

Premier appel

Une requête GET, un en-tête Authorization, du JSON en retour. Rien d'autre à installer.

curl "https://sourcing.argos-finance.fr/api/v1/societes?pays=FR&secteur=restauration&limit=5" \
  -H "Authorization: Bearer as_live_XXXXXXXXXXXXXXXXXXXX"

L'en-tête d'authentification

Toutes les routes acceptent la clef en en-tête. Sans clef, l'API répond en mode aperçu : 2 sociétés par appel, offset bloqué à 0. Pratique pour un test rapide ou pour un agent qui découvre la base.

Authorization: Bearer as_live_XXXXXXXXXXXXXXXXXXXX

Tarifs

L'API est incluse dans chaque offre

Aucun appel n'est facturé à l'unité, aucun surcoût à la ligne renvoyée. Vous choisissez une offre, elle fixe un plafond d'appels par jour et un nombre de sociétés par appel. Le reste est identique d'une offre à l'autre : mêmes routes, mêmes champs, même format.

Quotas API par offre
OffreAppels par jourSociétés par appelClefs activesPrix HT
Sans compte (aperçu)020Sans inscription
Découverte5051Gratuit
Starter20050139 EUR / mois
Business1 0002003119 EUR / mois
Intégration5 00050010349 EUR / mois

Concrètement : un compte gratuit donne 50 appels par jour et 5 sociétés par appel, de quoi cadrer un projet. L'offre Intégration donne 5 000 appels par jour et 500 sociétés par appel, soit jusqu'à 2 500 000 lignes par jour, de quoi alimenter un entrepôt de données. Au-delà, écrivez à contact@argos-finance.fr.

Référence

Points d'entrée

GET /api/v1/pays

Les 25 pays avec leurs compteurs et leur source. Public, sans clef.

GET /api/v1/secteurs?pays=FR,IT

Les 84 secteurs avec compteurs, pour tous les pays ou pour un périmètre. Public, sans clef.

GET /api/v1/societes

Recherche paginée. Paramètres : pays, secteur, q, tri, limit, offset, ca_min, ca_max, effectif_min, effectif_max, site_web=1, avec_ca=1.

curl "https://sourcing.argos-finance.fr/api/v1/societes?pays=IT&secteur=machinerie&limit=50" \
  -H "Authorization: Bearer as_live_XXXX"
{
  "total": 12456, "limit": 50, "offset": 0, "apercu": false,
  "societes": [{
    "iso2": "IT", "id": "00123456789", "nom": "ESEMPIO S.P.A.",
    "secteur": "Machinerie", "grand_secteur": "Industrie manufacturière & Matériaux",
    "ville": "Bergamo", "effectif": 240, "ca_eur": 58400000, "ca_year": 2024,
    "site_web": "www.esempio.it", "url_registre": "https://..."
  }]
}

GET /api/v1/societes/{iso}/{id}

Fiche complète. Les états financiers ligne à ligne (bilan, compte de résultat, jusqu'à 5 exercices) sont renvoyés aux appels identifiés.

curl "https://sourcing.argos-finance.fr/api/v1/societes/FR/552032534" -H "Authorization: Bearer as_live_XXXX"

GET|POST /api/v1/export

Classeur xlsx du périmètre (mêmes paramètres, plus lang=fr|en). Compte requis, quota mensuel : 2 classeurs avec Découverte, 100 avec Intégration.

curl -L "https://sourcing.argos-finance.fr/api/v1/export?pays=FR,BE&secteur=restauration&limit=500" \
  -H "Authorization: Bearer as_live_XXXX" -o restauration_FR_BE.xlsx

Conventions

  • pays : codes ISO 2 lettres séparés par des virgules ; UK pour le Royaume-Uni.
  • secteur : slug ou libellé FR exact, plusieurs valeurs avec |.
  • tri : ca_desc (défaut), ca_asc, nom, effectif_desc, recent, capital_desc, score.
  • Montants : ca_eur en euros ; ca_last × ca_mult en devise locale (ca_devise).
  • Réponses JSON UTF-8, CORS ouvert sur /api/v1, pagination par limit + offset.

Python

import requests

CLE = "as_live_XXXX"
r = requests.get("https://sourcing.argos-finance.fr/api/v1/societes",
    params={"pays": "FR,BE", "secteur": "restauration|hotellerie", "limit": 100},
    headers={"Authorization": f"Bearer {CLE}"})
r.raise_for_status()
for s in r.json()["societes"]:
    print(s["nom"], s["ville"], s["ca_eur"])

JavaScript

const r = await fetch("https://sourcing.argos-finance.fr/api/v1/societes?pays=IT&secteur=machinerie&limit=50",
  { headers: { Authorization: "Bearer as_live_XXXX" } });
const { total, societes } = await r.json();

Pagination : limit et offset

limit ne dépasse jamais le plafond de votre offre (5 sociétés en Découverte, 200 en Business, 500 en Intégration) : une valeur supérieure est ramenée au plafond, sans erreur. total donne le nombre réel de sociétés du périmètre : parcourez-le en incrémentant offset.

# page 1 : sociétés 1 à 500
curl "https://sourcing.argos-finance.fr/api/v1/societes?pays=DE&secteur=machinerie&limit=500&offset=0" \
  -H "Authorization: Bearer as_live_XXXX"
# page 2 : sociétés 501 à 1000
curl "https://sourcing.argos-finance.fr/api/v1/societes?pays=DE&secteur=machinerie&limit=500&offset=500" \
  -H "Authorization: Bearer as_live_XXXX"
import requests

CLE, PAGE = "as_live_XXXX", 200
params = {"pays": "DE", "secteur": "machinerie", "limit": PAGE, "offset": 0}
tout = []
while True:
    r = requests.get("https://sourcing.argos-finance.fr/api/v1/societes", params=params,
                     headers={"Authorization": f"Bearer {CLE}"})
    r.raise_for_status()
    j = r.json()
    tout += j["societes"]
    params["offset"] += PAGE
    if params["offset"] >= j["total"] or not j["societes"]:
        break
print(len(tout), "sociétés")

Gérer le 429 (quota atteint)

Chaque réponse identifiée porte X-Quota-Used et X-Quota-Limit : surveillez-les pour vous arrêter avant le mur. Le quota est journalier, il repart à minuit UTC : une nouvelle tentative immédiate ne sert à rien, mieux vaut reprendre la boucle le lendemain depuis le dernier offset.

r = requests.get(url, params=params, headers=entetes)

if r.status_code == 429:
    utilise = r.headers.get("X-Quota-Used")
    limite = r.headers.get("X-Quota-Limit")
    # { "erreur": { "code": "quota_api", "message": "...", "quota": {...} } }
    raise SystemExit(
        f"Quota journalier atteint : {utilise}/{limite}. "
        f"Reprendre demain a l'offset {params['offset']}."
    )

r.raise_for_status()
const r = await fetch(url, { headers });
if (r.status === 429) {
  const utilise = r.headers.get("X-Quota-Used");
  const limite = r.headers.get("X-Quota-Limit");
  console.warn(`Quota atteint : ${utilise}/${limite}, reprise demain (UTC).`);
  return null;
}

Robustesse

Codes d'erreur

Toutes les erreurs sortent sous la même forme, avec un code machine et un message lisible. Un paramètre inconnu n'est jamais ignoré en silence : il provoque une erreur qui nomme la valeur en cause, pour qu'un script ne travaille jamais sur un périmètre différent de celui qu'il croit interroger.

HTTPcodeQuand, et quoi faire
400pays_inconnu, secteur_inconnuUn pays ou un secteur envoyé n'existe pas dans le référentiel. Le paramètre n'est jamais ignoré en silence : la réponse nomme la valeur fautive et renvoie vers /api/v1/pays ou /api/v1/secteurs.
401compte_requisL'appel demande une ressource réservée aux comptes (export Excel, états financiers détaillés) sans clef valide. Créez un compte, générez une clef, passez-la en en-tête Authorization.
429quota_api, quota_export, trop_de_requetesPlafond atteint. Les en-têtes X-Quota-Used et X-Quota-Limit donnent la consommation et la limite de l'offre. Le compteur API repart à minuit UTC, celui des exports le premier jour du mois civil.
503indisponible, configService momentanément indisponible (base en cours de rafraîchissement, paiement non configuré). Réessayez, l'appel est sans effet de bord.
{
  "erreur": {
    "code": "secteur_inconnu",
    "message": "Secteur inconnu : machinerei. Liste des 84 secteurs sur /api/v1/secteurs.",
    "secteurs_inconnus": ["machinerei"]
  }
}

Assistants IA et agents

Une base qu'un agent sait interroger seul

Le plus court chemin est le serveur MCP : une ligne de configuration dans Claude ou dans votre agent, et il dispose d'outils nommés pour chercher, lire une fiche et lire les comptes déposés. Sinon, donnez-lui l'adresse de la spécification OpenAPI : il découvre les routes et les champs sans documentation supplémentaire. Le fichier llms.txt résume le site et ses règles en langage naturel, pour le contexte.

  • Serveur MCP public, huit outils en lecture seule, sans état.
  • OpenAPI 3.1, réponses JSON stables, CORS ouvert sur /api/v1.
  • Mode aperçu sans clef (2 sociétés) pour un premier essai, puis clef pour le volume.
  • Une clef par agent : révoquez-la sans toucher aux autres.

À donner à votre assistant

https://sourcing.argos-finance.fr/api/mcp
https://sourcing.argos-finance.fr/openapi.json
https://sourcing.argos-finance.fr/llms.txt