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
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 compteGé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 APIPremier 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§eur=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_XXXXXXXXXXXXXXXXXXXXTarifs
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.
| Offre | Appels par jour | Sociétés par appel | Clefs actives | Prix HT |
|---|---|---|---|---|
| Sans compte (aperçu) | 0 | 2 | 0 | Sans inscription |
| Découverte | 50 | 5 | 1 | Gratuit |
| Starter | 200 | 50 | 1 | 39 EUR / mois |
| Business | 1 000 | 200 | 3 | 119 EUR / mois |
| Intégration | 5 000 | 500 | 10 | 349 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§eur=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§eur=restauration&limit=500" \
-H "Authorization: Bearer as_live_XXXX" -o restauration_FR_BE.xlsxConventions
pays: codes ISO 2 lettres séparés par des virgules ;UKpour 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_euren euros ;ca_last×ca_multen 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§eur=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§eur=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§eur=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.
| HTTP | code | Quand, et quoi faire |
|---|---|---|
| 400 | pays_inconnu, secteur_inconnu | Un 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. |
| 401 | compte_requis | L'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. |
| 429 | quota_api, quota_export, trop_de_requetes | Plafond 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. |
| 503 | indisponible, config | Service 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