API publiques de SAM.gov – Prototype de connecteur de données publiques
Ce guide technique détaille l'intégration des API publiques de SAM.gov pour le développement d'un prototype de connecteur. Il couvre la mise en œuvre des flux clés : vérification d'identité des entités, historique des contrats, filtrage des exclusions et veille sur les marchés publics.

Introduction aux API de SAM.gov
SAM.gov met à disposition des API publiques pour accéder directement aux données des entités fédérales, aux attributions de contrats, aux exclusions, aux opportunités de marchés et aux exports de données en masse. Elles permettent d'intégrer facilement ces flux officiels dans vos plateformes d'analyse, outils de conformité ou systèmes de veille sur les marchés publics.
Notes importantes :
- La plupart des API nécessitent une clé API publique obtenue à partir de votre compte SAM.gov (page Account Details).
- Les limites de requêtes varient selon le type de compte : les utilisateurs non fédéraux sans rôle spécifique sont limités à 10 requêtes/jour ; les utilisateurs disposant de rôles ou de comptes système peuvent atteindre 1 000 à 10 000 requêtes/jour.
- Certaines données peuvent inclure des informations de Dun & Bradstreet (D&B) soumises à des restrictions d'utilisation.
- Pour les prototypes, utilisez toujours des données publiques et respectez les conditions d'utilisation de la GSA.
1. API SAM.gov Entity Management (Gestion des entités)
Documentation officielle : https://open.gsa.gov/api/entity-api/
Description : Permet de récupérer les informations publiques d'enregistrement des entités, notamment l'UEI, la raison sociale (legal business name), le statut d'enregistrement, le statut de l'UEI, les dates de création/expiration, l'indicateur d'affichage public, etc. Prend en charge les données Publices, FOUO et Sensibles en fonction des autorisations de votre compte.
Point de terminaison principal : GET https://api.sam.gov/entity-information/v3/entities (version v4 également disponible)
Paramètres de requête clés
api_key: Requis – Votre clé API publiqueueiSAM: Identifiant unique de l'entité (un seul identifiant de 12 caractères ou jusqu'à 100 valeurs)cageCode: Code CAGE à 5 caractères (unique ou jusqu'à 100 valeurs)samRegistered: Yes / No (Oui / Non, valeur par défaut : Yes)registrationStatus: ID Assigned, Active, Expired, etc.ueiStatus: Active, Inactive, etc.legalBusinessName,dbaName: Recherche par nom commercial partiel ou completphysicalAddressCity,physicalAddressStateCode,physicalAddressCountryCode,physicalAddressZipCode- Filtres de date (date unique ou plage [MM/JJ/AAAA,MM/JJ/AAAA]) :
registrationDate,activationDate,updateDate,registrationExpirationDate,ueiCreationDate,ueiExpirationDate publicDisplayFlag: Y / NincludeSections: entityRegistration, entityOverview, entityGeneralInformation, etc.page,size: Paginationq: Recherche en texte libre (prend en charge les opérateurs avancés)
Exemple cURL
curl -X GET "https://api.sam.gov/entity-information/v3/entities?api_key=VOTRE_CLE_API&samRegistered=No&includeSections=entityRegistration&size=10"
2. API SAM.gov Contract Awards (Attributions de contrats)
Documentation officielle : https://open.gsa.gov/api/contract-awards/
Description : Fournit des enregistrements détaillés sur les attributions de contrats fédéraux (Awards & IDVs), y compris les informations sur l'attributaire, les montants engagés (obligated dollars), l'agence attributrice, les codes NAICS/PSC, les détails de la mise en concurrence, etc. Prend en charge les données révélées (Revealed) et non révélées (Unrevealed).
Point de terminaison principal : GET https://api.sam.gov/contract-awards/v1/search
Paramètres de requête clés
api_key: Requislimit: Maximum 100 enregistrements par page (par défaut 10)offset: Paginationuei/awardeeUniqueEntityId: UEI de l'attributaire (jusqu'à 100 valeurs)awardeeCageCode: Code CAGE (jusqu'à 100 valeurs)dollarsObligated,totalDollarsObligated: Valeur unique ou plage [min,max]- Paramètres de date (unique ou plage [MM/JJ/AAAA,MM/JJ/AAAA]) :
lastModifiedDate,dateSigned,approvedDate,createdDate,closedDate,periodOfPerformanceStartDate, etc. naicsCode,productOrServiceCode: Codes NAICS & PSC (jusqu'à 100 valeurs)contractingDepartmentCode,contractingSubtierCode,contractingOfficeCodepiid,modificationNumber,solicitationIDpiidAggregation=yes (nécessite le paramètre piid)deletedStatus=yesincludeSections: contractId, coreData, awardDetails, awardeeData, nasaSpecificq: Recherche en texte libreformat: csv / json (pour l'extraction de masse asynchrone) et plus encore...
Exemple cURL
curl -X GET "https://api.sam.gov/contract-awards/v1/search?api_key=VOTRE_CLE_API&lastModifiedDate=[01/01/2025,]&dollarsObligated=[0.0,100000000.99]&contractingDepartmentCode=9700"
3. API SAM.gov Exclusions (Exclusions)
Documentation officielle : https://open.gsa.gov/api/exclusions-api/
Description : Permet de rechercher des entités et des individus qui ont été exclus, suspendus ou interdits de soumissionner à des marchés publics fédéraux.
Point de terminaison principal : GET https://api.sam.gov/entity-information/v4/exclusions
Paramètres de requête clés
api_key: Requisq: Recherche en texte libre (prend en charge AND, OR, :, =, et le caractère générique *)ueiSAM/samUEIcageCodeclassification: Firm (Entreprise), Individual (Individu), Special Entity, VesselexclusionType,exclusionProgram,excludingAgencyCodestateProvince,country,zipCode,addressLine1,addressLine2- Filtres de date (unique ou plage) :
activationDate,creationDate,updateDate,terminationDate page,size(taille max 10)includeSections: exclusionDetails, exclusionIdentification, exclusionActions, etc.
Exemple cURL
curl -X GET "https://api.sam.gov/entity-information/v4/exclusions?api_key=VOTRE_CLE_API&classification=Firm&stateProvince=VA"
4. API SAM.gov Get Opportunities Public (Opportunités de marchés)
Documentation officielle : https://open.gsa.gov/api/get-opportunities-public-api/
Description : Permet de rechercher des opportunités de marchés en cours, des appels d'offres (solicitations), des pré-sollicitations et des avis d'attribution.
Point de terminaison principal : GET https://api.sam.gov/opportunities/v2/search
Paramètres de requête clés
api_key: RequispostedFrometpostedTo: Requis (format MM/JJ/AAAA, plage maximale de 365 jours)title: Recherche par mot-clé dans le titrenoticeType/ptype: p (Pré-sollicitation), a (Attribution), r (Appel d'offres), etc.solnum,noticeidorganizationName,state,zipactive: Yes / Nolimit(max 1000),offset: Pagination
Exemple cURL
curl -X GET "https://api.sam.gov/opportunities/v2/search?limit=10&api_key=VOTRE_CLE_API&postedFrom=01/01/2025&postedTo=05/10/2025&title=Driving"
5. API SAM.gov Entity/Exclusions Extracts Download (Téléchargement d'extraits)
Documentation officielle : https://open.gsa.gov/api/sam-entity-extracts-api/
Description : Permet de télécharger de gros fichiers ZIP mensuels ou quotidiens contenant des ensembles complets de données publiques sur les entités ou les exclusions au format fichier plat (flat file).
Point de terminaison principal : GET https://api.sam.gov/data-services/v1/extracts
Paramètres de requête clés
api_key: RequisfileName: Nom exact du fichier (ex: SAM_PUBLIC_MONTHLY_V2_AAAAMMJJ.ZIP)fileType: ENTITY ou EXCLUSIONsensitivity: PUBLIC, FOUO, SENSITIVE (par défaut PUBLIC)frequency: MONTHLY (Mensuel) ou DAILY (Quotidien) (par défaut MONTHLY)charset: ASCII ou UTF8date: Date spécifique de l'extrait (MM/JJ/AAAA ou MM/AAAA)
Exemple cURL
curl -X GET "https://api.sam.gov/data-services/v1/extracts?api_key=VOTRE_CLE_API&fileName=SAM_PUBLIC_MONTHLY_V2_20220403.ZIP"
Conclusion & Bonnes Pratiques
Ces API SAM.gov sont extrêmement précieuses pour l'ingestion de données publiques. Pour la plupart des projets de prototypes, commencez par utiliser les API Entity Management et Contract Awards. Veillez à toujours gérer correctement la pagination, à stocker votre clé API de manière sécurisée et à surveiller vos limites de requêtes. Reportez-vous à la documentation officielle pour obtenir la liste complète et à jour des paramètres.
Vous pouvez utiliser des outils comme Postman et les captures d'écran fournies pour effectuer vos tests.