data.inpi.fr Scraper
Pricing
$35.00/month + usage
data.inpi.fr Scraper
Scrape Data INPI (data.inpi.fr) for French company, trademark, patent, and design records, turning advanced searches and filters into structured JSON datasets for brand research, patent monitoring, and legal analytics.
Pricing
$35.00/month + usage
Rating
0.0
(0)
Developer

Lexis Solutions
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Data INPI FR Scraper

Data INPI (data.inpi.fr) is the official open data portal of the French National Institute of Industrial Property (Institut National de la Propriété Industrielle). The platform provides comprehensive access to France's business registry and intellectual property databases. It includes data from the National Business Registry (RNE - Registre national des entreprises) covering all French companies, as well as complete databases of French trademarks (marques), patents (brevets), and industrial designs (dessins et modèles). The platform offers both quick search and advanced search capabilities, API access, and BOPI (Official Industrial Property Bulletin) publications. This is an authoritative source for French business intelligence, company information, and intellectual property research.
Introduction
Use this scraper to gather company and intellectual property records from Data INPI in one place. It helps you turn searches and filters into a ready-to-use dataset for analysis and reporting.
Use Cases
- Brand research: Look up trademarks and related metadata.
- Patent monitoring: Track new patent filings by keyword or applicant.
- Company data: Collect company entries for enrichment or validation.
- Legal analytics: Build datasets for IP trends and reporting.
Input
Provide the following fields:
startUrls(array, optional): INPI search or detail URLs. Example:{ "url": "https://data.inpi.fr/search?advancedSearch=%257B%257D&displayStyle=List&filter=%257B%257D&nbResultsPerPage=20&order=asc&page=1&q=aa&sort=relevance&type=brands" }query(string, optional): Search query to build the INPI request.maxItems(integer, optional): Maximum number of items to output (default: all).type(string, optional): One ofcompanies,brands,patents,drawing_models.sort(string, optional): One ofrelevance,applicationDate,keyword.sortType(string, optional):ascordesc.brandName(string, optional): Filter by brand name.applicantName(string, optional): Filter by applicant name.applicationDateFrom(string, optional): Filter by application date from (YYYY-MM-DD).applicationDateTo(string, optional): Filter by application date to (YYYY-MM-DD).proxyConfiguration(object, optional): Apify proxy configuration. Example:{ "useApifyProxy": true }
Notes:
- Provide either
startUrlsorqueryto run the scraper. - If you use
queryand leavetypeempty, it defaults tocompanies. - Each
typereturns a different output structure depending on the INPI dataset. - Off-domain URLs are skipped automatically.
- The website applies IP blocking, so using a proxy is strongly recommended for smooth runs.
Input Examples
1) Start URLs
{"startUrls": [{"url": "https://data.inpi.fr/search?advancedSearch=%257B%257D&displayStyle=List&filter=%257B%257D&nbResultsPerPage=20&order=asc&page=1&q=aa&sort=relevance&type=brands"}],"maxItems": 50,"proxyConfiguration": {"useApifyProxy": true}}
2) Query
{"query": "robotics","type": "patents","sort": "applicationDate","sortType": "desc","maxItems": 25,"proxyConfiguration": {"useApifyProxy": true}}
3) Brand and applicant filters
{"query": "care","type": "brands","brandName": "Scholl","applicantName": "Scholl","applicationDateFrom": "2015-01-01","applicationDateTo": "2025-12-31","maxItems": 10,"proxyConfiguration": {"useApifyProxy": true}}
Output
Each dataset item contains fields like:
{"url": "https://data.inpi.fr/marques/EM012266359","sourceFileName": "BCK_ST66_EU_202450_000016_047.xml","indexationDate": 63,"source_file_name": "BCK_ST66_EU_202450_000016_047.xml","indexation_date": 63,"ua": "20250402","applicationDate": 1383087600000,"markFeature": "Word","markFeatureWithShape": "Word","kindMark": "Individual","expiryDate": 2014236000000,"applicationNumber": "012266359","applicationNumberWithCountryCode": "EM012266359","registrationOfficeCode": "EM","applicationLanguageCode": "es","secondLanguageCode": "en","markCurrentStatusCode": "Registered","markWordElement": "Km. 1","markWordElementBounded": "Km.1","classDescriptionDetails": [{"class": "29","goodServiceDescription": [{"text": "Huiles et graisses comestibles.","lang": "fr"}]},{"class": "32","goodServiceDescription": [{"text": "Eaux minérales et gazeuses et autres boissons sans alcool; Boissons à base de fruits et jus de fruits; Sirops et autres préparations pour faire des boissons; Sirops sans alcool.","lang": "fr"}]},{"class": "33","goodServiceDescription": [{"text": "Vins et liqueurs.","lang": "fr"}]}],"classNumberStatus": [],"applicantLastName": "ANTONIO NADAL S.A.","applicantOrganizationName": "ANTONIO NADAL S.A.","applicantCountryCode": "ES","applicantStreet": "Avenida Príncipes de España, 3","applicantCity": "Marratxi (Baleares)","applicantPostcode": "07141","applicantLegalEntity": "Legal Entity","applicant": [{"lastName": "ANTONIO NADAL S.A.","organizationName": "ANTONIO NADAL S.A.","fullNames": "ANTONIO NADAL S.A. ANTONIO NADAL S.A. ","countryCode": "ES","street": "Avenida Príncipes de España, 3","city": "Marratxi (Baleares)","postcode": "07141","postcode_short": "07","countryCodeWithPostCodeShort": "ES07","legalEntity": "Legal Entity"}],"correspondenceCountryCode": "ES","representativeLastName": "A.A. MANZANO PATENTES & MARCAS, S.L.","representativeAddressCountryCode": "ES","representativeStreet": "Calle Bravo Murillo, 19 1º A","representativeCity": "Madrid","representativePostcode": "28015","representative": [{"lastName": "A.A. MANZANO PATENTES & MARCAS, S.L.","fullNames": "A.A. MANZANO PATENTES & MARCAS, S.L. ","countryCode": "ES","street": "Calle Bravo Murillo, 19 1º A","city": "Madrid","postcode": "28015","postcode_short": "28","countryCodeWithPostCodeShort": "ES28","legalEntity": "Legal Person"}],"registration": [],"history": [{"basicRecordKind": "D.1 Renewal of a mark"},{"basicRecordKind": "Representative - Change of name and professional address"},{"basicRecordKind": "Representative - Change of name and professional address"},{"basicRecordKind": "Representative - Change of name and professional address"}],"oldestPublicationDateEU": 1387234800000,"historyPublication": [{"publicationIdentifier": "2013/239","publicationDate": 1387234800000,"publicationSection": "A.1"}]}
The scraper paginates until there are no more results or maxItems is reached.
Why use the Data INPI FR Scraper?
- Fast: Efficient pagination over the INPI search API.
- Flexible: Query, filters, and type selection.
- Reliable: Built on Apify Actors and Crawlee.
- Structured output: Consistent JSON records ready for analysis.
FAQ
-
How many items can it extract?
SetmaxItemsto limit results; If not provided, the scraper will use the default limit. -
Does it support proxies?
Yes. ConfigureproxyConfigurationto route traffic through your preferred proxies. -
What if the website changes?
Site changes may require updates. Please report issues or request updates.
Need to scrape other sources?
Check out our other scrapers on Apify:
Need help or want a custom solution?
Lexis Solutions is a certified Apify Partner. We can help with custom data extraction projects.
Contact us over Email or LinkedIn
Support Our Work
If you're happy with our work and scrapers, you're welcome to leave us a company review here and leave a review for the scrapers you're subscribed to. It will take you less than a minute but it will mean a lot to us!
Image Credit: https://data.inpi.fr/