Official scripts
Explore our curated collection of scripts
Check Château de Versailles ticket availability
For one visit date on the official Château de Versailles ticket shop, list the entry time slots of one ticket type (Passport by default) with the places left in each slot and every rate the slot offers (full, reduced, youth, child, free) with its price in euros. Also lists every ticket type sold that day, so a caller can pick another one by name or id. A day with no entry tickets on sale (for example a Monday, when the palace is closed) returns no slots and a reason. A date in the past or not yet on sale fails with an error. visitors only sets enoughForVisitors on each slot; it reserves nothing.
Open the Château de Versailles payment page
Take the cart filled with add_to_cart and identified with fill_booking_details on the official Château de Versailles ticket shop to its payment page, and stop there. It never enters payment details and never pays: with dryRun true (the default) it opens the payment form and returns whether it was reached, the total in euros, the payment provider and the cart lines; dryRun false is refused. It ticks the shop's sales conditions box, which the shop asks for before payment. A cart with a total of 0 is confirmed by the shop without payment, so the script stops before that step and says so. An empty cart, or a browser that did not go through fill_booking_details, fails with an error that names the script to run first.
Add Château de Versailles tickets to the cart
Put tickets for one date, one entry slot and one ticket type (Passport by default) in the cart of the official Château de Versailles ticket shop, with a quantity per rate (full, reduced, youth, child, free). Take the slot and the rates from check_availability: a slot is its slotId or its time (HH:MM), a rate is its priceId or its label. Returns the cart lines (date, slot time, entrance, ticket, rate, quantity, unit price, line total), the cart total in euros and how many seconds the site still holds the cart. The cart lives in this browser: tickets already in it stay there and are listed too. The site holds a cart for about 35 minutes. Nothing is paid or booked. A quantity above what the slot allows, an unknown slot or an unknown rate fails with an error that names the valid ones.
Fill Château de Versailles booking details
Give the visitor details for the cart already filled with add_to_cart on the official Château de Versailles ticket shop, as a guest (no account is created). The shop checks every email address with a 6-digit code it sends to that address, so this runs in two passes on the same browser: first with the email only, which makes the shop send the code and returns status email_code_sent; then again with the same email, the code from that email and the visitor's first and last name, which fills the guest form and returns status details_filled. Returns the fields the shop requires and whether each one is filled. It stops before payment: run complete_booking next. A wrong or expired code fails with an error that says to run the first pass again. An empty cart fails with an error that says to run add_to_cart first.
List all cabinets
All law firms (cabinets) in the Barreau de Nantes directory — read straight from the directory form's cabinet dropdown.
Search Events (FR)
Search Ticketmaster France for events by keyword. Returns each event's starting price in EUR, venue, city, genre, and date.
Add Musée d'Orsay timed-entry tickets to the basket
Put tickets for one date and one timed-entry slot in the basket of the official Musée d'Orsay ticket shop, with a quantity per rate. Take the slot and the rates from check_availability: a slot is its slotId or its time (HH:MM), a rate is its priceId or its label. Returns the basket lines (event, date and time, rate, quantity, unit price), the total in euros and how many seconds the shop still holds the basket (about 15 minutes). Tickets already in the basket stay. Nothing is paid or booked. A slot that is full, an unknown slot or rate, or a quantity above what the slot allows fails with an error that names the valid values.
Get a lawyer's detail
One lawyer's public detail sheet from the Barreau de Nantes directory, by slug (from list_lawyers or list_lawyers_by_cabinet): name, phone, email, photo, plus the page's own labelled fields (cabinet, address, languages, dominant activities, case palais, oath date, fax). Which labelled fields appear varies per lawyer. No login required. An unknown slug throws a clear not-found error rather than returning the directory's error page as a person.
Open the Musée d'Orsay payment step
Take the basket filled with add_to_cart, for a buyer identified with fill_booking_details, to the payment step of the official Musée d'Orsay ticket shop, and stop there. It never types card details, never ticks the terms of sale and never clicks the pay button: with dryRun true (the default) it returns whether the payment step was reached, the total in euros, the basket lines, the payment provider and the fields the buyer still has to fill to pay. dryRun false is refused. A basket that is empty, or a buyer the shop has not identified yet, fails with an error that names the step to do first.
Search France Travail jobs
Search France Travail (formerly Pôle Emploi) public job listings by keyword, optional free-text location (city or department) or location code, and page (20 offers/page). Returns jobs (jobId, title, company, location, description, contract, postedAgo, url) and, on page 1 only, the total match count. An ambiguous or unrecognized location is refused rather than silently searching nationwide.
Check Musée d'Orsay timed-entry availability
For one visit date on the official Musée d'Orsay ticket shop, list the timed-entry slots of one ticket offer (the standard timed admission by default) and whether each slot can still be booked, plus the rates with their prices in euros and the most one order can hold, read from the first slot that can be booked. The shop does not show how many places a slot has left, only whether it is bookable. A day with no slot on sale (for example a Monday, when the museum is closed) returns no slots and a reason.
Identify the buyer on the Musée d'Orsay ticket shop
Give the buyer's email to the official Musée d'Orsay ticket shop, for the basket filled with add_to_cart, and report what the shop needs before payment. Every order needs a Musée d'Orsay customer account, and the shop only keeps a new account once its first order is paid. A browser already identified returns already_identified and changes nothing. Otherwise the email decides: an existing account returns sign_in_required (sign in with its password in this browser), an unknown email returns new_customer_details_required with the sign-up fields the shop asks for (name, email, password, country). The script never types a password, never creates an account and stops before payment: run complete_booking next.
Search Cadremploi jobs
Search Cadremploi (French executive and manager job board) by keyword and optional French city, with an optional radius in km and paging (50 per page). A city Cadremploi does not recognize fails with an error; regions and departments are not supported. Results mix exact city matches, nearby matches and a wider fallback; each job's matchType says which. total counts all three. An unmatched keyword returns total 0 and an empty list, not an error.
Search Barreau de Nantes lawyers
Search the Nantes bar association's public lawyer directory by SURNAME (the site's own "Nom" field). Matching is substring and accent-insensitive on the surname only — a given name ("gaetane") or a cabinet name ("FIDAL") returns no rows, verified. Returns each match's slug (the join key for get_lawyer), surname, given name, cabinet and city. No login required. The directory renders its whole result set on one page, so a one-letter query can return hundreds of rows; an empty list means no surname matches.
Search La French Tech jobs
Search job listings on La French Tech's public careers board (la-french-tech.welcomekit.co, an embeddable careers widget aggregating openings across French Tech ecosystem startups) by free-text keyword and optional filters: department (site's own category, e.g. "Tech", "Sales", "Business" — French labels), city (e.g. "Paris", "Lyon"), and contractType (site's own French label, e.g. "CDI", "Stage", "Alternance", "CDD / Temporaire"). Filter values must match the site's own labels exactly — an unrecognized value throws rather than silently searching unfiltered. Pagination is 1-based via page; requesting a page beyond what's available throws rather than silently returning page 1. Returns total, page, totalPages, and jobs (id, reference, slug, title, url, company {name, slug, employees, logoUrl}, department, profession, contractType + contractTypeLabel, remote, salary, office, offices, publishedAt, promoted). A query/filter combination with no matches returns an empty jobs list, not an error.
List Claude invoices
List the Claude (claude.ai) plan invoices of the organization currently open in this browser, as its billing settings show them, newest first. To get another organization's invoices, switch to it in claude.ai, then run this again. Each invoice comes with its number, date, total and total before tax (in the currency's smallest unit, so 10800 means 108.00 EUR), currency, status, seats, payment status and a link to its PDF. When the open organization gives you no billing access, the result lists it in skipped with no invoices. complete is false when claude.ai says the organization has older invoices than its billing page shows; those are not returned. The run fails when the browser is not signed in to claude.ai, or when org_uuid is given and a different organization is open. To save a PDF, pass its link to the Stripe invoice PDF download script.
Look up a French company on Infogreffe
Returns the registry record for a French company from its SIREN: registered name, trading status, registration and strike-off dates, activity, registered address, headcount, share capital and VAT number. Reads the public company page, so no account is needed.
Get company info
Fetch a French company's public profile from societe.com by SIREN. Returns url, siren, name, country, status, headcount, resume, and legal.
Vinted — list favourited items
List the items the signed-in Vinted account has favourited, with each one's title, brand, size, condition, price, total price with Buyer Protection, photo and link.
Search Pappers companies
Search French companies on Pappers by name, or look one up directly by its SIREN or SIRET. Returns each company with its legal form, main activity, head-office address, workforce bracket, share capital, creation date and status. A name search pages through up to 400 results. An identifier lookup returns the single matching company and includes its head-office SIRET, but Pappers does not provide share capital or workforce figures on that route.
List Calendly invoices
List Calendly billing invoices (org admin only). Per invoice returns date, title, amount, currency, status, invoiceId, chargeId and downloadUrl (a direct Stripe PDF link; open it in a browser to save). A signed-out browser fails with a signed-out error asking to sign in to calendly.com (calendly.com/login_with_google can do it); an account that is not an org admin fails asking to sign in as one. An account with no charges returns an empty list.
Search companies
Search societe.com for French companies by name or keyword. Returns query, url, count, and companies (each with siren, name, url, activity, address).
Search Tripadvisor
Search Tripadvisor's typeahead for places (restaurants, hotels, attractions, cities): name, location id, address, coordinates, and place type. No login required.
Remove train ticket from SNCF Connect cart
Remove a specific train ticket from the SNCF Connect cart (or the only one if there's just one). Requires login. Pass `match` (substring of origin/destination, e.g. "Bordeaux") to pick which item when the cart has several; omitted `match` is fine only when exactly one item is in the cart. Confirms the site's own removal dialog. To empty the whole cart, call once per item. Runs only via the local browser extension, not the hosted cloud browser.
