Ars Technica scraper API: search results and articles as JSON
Send any Ars Technica page URL with recipe=arstechnica and get title, url, image and 6 more fields as JSON. No selectors to write, no proxies to pick.
- 2 page types
- 9 fields
- 5 credits a page · $0.50 per 1,000
- Working · 100% in 7 days
5,000 free credits for 7 days, no card.
curl -G 'https://api.ujeebu.com/scrape' \
-H "ApiKey: $UJEEBU_API_KEY" \
--data-urlencode 'url=https://arstechnica.com/ai/' \
--data-urlencode 'recipe=arstechnica/listing'
{
"result": {
"title": "Meta drops the word “train” from its commerci...",
"summary": "Meta changes AI scraping policy but won’t add...",
"published": "2026-10-20T16:07:58-04:00"
},
"success": true
}
What you get from Ars Technica
The fields of each page type and a real sample from our last validation, shortened.
Search and listing pages recipe=arstechnica/listing 5 credits a page
| Field | Type | Example |
|---|---|---|
articles | list of 3+ items | |
articles[].url | URL | https://arstechnica.com/tech-policy/2026/10/meta-drops-the-word-tra... |
articles[].title | text | Meta drops the word “train” from its commercial TOS after AI backlash |
articles[].image | image URL | https://cdn.arstechnica.net/wp-content/uploads/2026/10/GettyImages-... |
articles[].summary | text | Meta changes AI scraping policy but won’t add language respecting r... |
articles[].published | date | 2026-10-20T16:07:58-04:00 |
Sample answer, validated 2026-10-29
{
"articles": [
{
"url": "https://arstechnica.com/tech-policy/2026/10/meta-drops-the-word-train-from-its-commercial-tos-after-ai-backlash/",
"title": "Meta drops the word “train” from its commercial TOS after AI backlash",
"image": "https://cdn.arstechnica.net/wp-content/uploads/2026/10/GettyImages-2299491134-300x300-1792525442.jpg",
"summary": "Meta changes AI scraping policy but won’t add language respecting robots.txt.",
"published": "2026-10-20T16:07:58-04:00"
},
{
"url": "https://arstechnica.com/google/2026/10/geminis-personal-intelligence-is-coming-to-cars/",
"title": "Gemini’s Personal Intelligence is coming to cars",
"image": "https://cdn.arstechnica.net/wp-content/uploads/2026/10/google-gemini-android-auto-300x300.png",
"summary": "It’s probably time to audit your Gemini settings.",
"published": "2026-10-20T16:00:33-04:00"
}
]
}
Articles recipe=arstechnica/detail 5 credits a page
| Field | Type | Example |
|---|---|---|
article.description | text | Consensus and genre labels aren't reliable predictors of what you'l... |
article.headline | text | I spent years forcing myself to finish The Witcher 3—don't repeat m... |
article.image | image URL | https://cdn.arstechnica.net/wp-content/uploads/2026/05/The-Witcher-... |
article.modified | date | 2026-06-25T16:49:28+00:00 |
article.published | date | 2026-05-25T11:22:27+00:00 |
article.publisher | text | Ars Technica |
url | URL | https://arstechnica.com/gaming/2026/05/the-witcher-3-is-a-good-game... |
Sample answer, validated 2026-10-29
{
"article": {
"description": "Consensus and genre labels aren't reliable predictors of what you'll enjoy.",
"headline": "I spent years forcing myself to finish The Witcher 3—don't repeat my mistake",
"image": "https://cdn.arstechnica.net/wp-content/uploads/2026/05/The-Witcher-3-hero-image-1152x648-1779476972.jpg",
"modified": "2026-06-25T16:49:28+00:00",
"published": "2026-05-25T11:22:27+00:00",
"publisher": "Ars Technica"
},
"url": "https://arstechnica.com/gaming/2026/05/the-witcher-3-is-a-good-game-but-that-doesnt-mean-you-have-to-like-it/"
}
One call
Send the page URL and the recipe name to the Scrape API. The recipe brings the extract rules and the settings that work on Ars Technica (JavaScript rendering).
curl -G 'https://api.ujeebu.com/scrape' \
-H "ApiKey: $UJEEBU_API_KEY" \
--data-urlencode 'url=https://arstechnica.com/ai/' \
--data-urlencode 'recipe=arstechnica/listing'
import os, requests
r = requests.get(
"https://api.ujeebu.com/scrape",
params={"url": "https://arstechnica.com/ai/", "recipe": "arstechnica/listing"},
headers={"ApiKey": os.environ["UJEEBU_API_KEY"]},
timeout=120,
)
print(r.json()["result"])
const params = new URLSearchParams({
url: "https://arstechnica.com/ai/",
recipe: "arstechnica/listing",
});
const res = await fetch(`https://api.ujeebu.com/scrape?${params}`, {
headers: { ApiKey: process.env.UJEEBU_API_KEY },
});
console.log((await res.json()).result);
The answer is {"result": {...}} with the headers Ujb-Recipe and Ujb-Credits. Other page types: recipe=arstechnica/detail, or recipe=arstechnica and the API picks the page type from the URL. Your own parameters always win over the recipe.
What people build with Ars Technica data
Media monitoring
Track the articles published on the topics and companies you follow.
Learn moreContent for AI and RAG
Collect headlines, dates and summaries as structured input for search and LLM pipelines.
Learn morePublishing timeline
Measure when and how often a site publishes, by section.
Price
Same price as the page call, no fee for the recipe. Only successful responses are billed; blocked, timed-out and failed requests are free.
| Page type | Credits a page | Per 1,000, Starter | Per 1,000, Pro |
|---|---|---|---|
| Search results, Article | 5 | $0.82 | $0.50 |
FAQ
What does the Ars Technica recipe return?
JSON with 9 fields from search results (recipe=arstechnica/listing) and article (recipe=arstechnica/detail), for example title, url, image, summary, published. The answer is {"result": {...}} with the fields shown on this page.
How much does it cost to scrape Ars Technica?
5 credits a page ($0.50 per 1,000 on Pro, $0.82 on Starter). Same price as the page call, no fee for the recipe. Only successful responses are billed; blocked, timed-out and failed requests are free.
Do I need proxies or a headless browser?
No. The recipe brings the settings that work on Ars Technica: JavaScript rendering. Send only the URL and recipe=arstechnica/listing.
What happens when Ars Technica changes its pages?
We check Ars Technica every day and re-validate the recipe on real pages every week, then fix it when the site changes. Until a fix is live, the API answers 404 "the recipe has no working version" instead of empty data, and that call is free.
Can I change the fields?
Yes. Send your own extract_rules or any setting (js, proxy_type, wait_for) and it wins over the recipe. The developer guide shows the recipe rules to start from.
Related recipes
- SubstackArticle · 5 credits
Yahoo FinancePage · 5 credits
Yahoo NewsSearch results, Article · 5 credits
AFP Fact CheckArticle · 5 credits
Al JazeeraArticle · 5 credits
Associated PressArticle · 5 credits
Logos and names belong to their owners. Ujeebu is not affiliated with Ars Technica.
Get Ars Technica data as JSON today.
5,000 free credits for 7 days. No card.