Authentication
All API requests require a valid API key, issued from your publisher dashboard. Pass it as a Bearer token in the Authorization header.
HTTP Header
Authorization: Bearer YOUR_API_KEY
API access is available on Professional and Elite plans. Keys can be regenerated from your dashboard at any time.
Base URL
All endpoints are relative to the following base URL:
Base URL
https://arabmetric.org/api/v1
All responses are application/json. Dates are ISO 8601 (YYYY-MM-DD). Numeric IDs are integers.
Error Codes
| Status | Code | Meaning |
|---|---|---|
| 200 | OK | Request successful |
| 400 | Bad Request | Invalid parameter or missing required field |
| 401 | Unauthorized | Missing or invalid API key |
| 403 | Forbidden | Plan does not include API access |
| 404 | Not Found | Resource does not exist |
| 429 | Rate Limited | Exceeded daily or per-minute request limit |
| 500 | Server Error | Unexpected server error — contact support |
Journals
GET
/api/v1/journals
List all indexed journals
Response
[{"id":1,"name":"Saudi Medical Journal","issn":"0379-5284","ams_score":92,"quartile":"Q1","country_id":1,"field_id":1,"total_papers":3400,"total_cites":41200}]
GET
/api/v1/journals/{id}
Full profile for a single journal
Parameters: id — Journal ID (integer)
Response
{"id":1,"name":"Saudi Medical Journal","ams_score":92,"quartile":"Q1","description":"...","oa":false}
GET
/api/v1/journals/{id}/papers
Papers for a journal
Parameters: id — Journal ID; page, per_page
Response
{"data":[{"id":1,"title":"...","authors":"...","year":2023,"citations":42}],"total":3400}
GET
/api/v1/journals/{id}/score
AMS score history
Parameters: id — Journal ID
Response
{"current":92,"quartile":"Q1","history":[{"date":"2026-01-01","score":90},{"date":"2025-10-01","score":88}]}Papers
GET
/api/v1/papers
Search papers
Parameters: q, year, oa, sort, page, per_page
Response
{"data":[...],"total":14754}
GET
/api/v1/papers/{doi}
Paper by DOI
Parameters: doi — URL-encoded DOI string
Response
{"id":1,"title":"...","authors":"...","doi":"10.xxx","year":2022,"citations":15,"abstract":"..."}Subjects
GET
/api/v1/subjects
All subject areas with stats
Response
[{"id":1,"name":"Medicine & Health Sciences","slug":"medicine","journals":4,"papers":6770,"citations":66600}]Countries
GET
/api/v1/countries
Countries with stats
Parameters: show=active|all
Response
[{"id":1,"name":"Saudi Arabia","flag":"🇸🇦","journals":5,"papers":10920,"citations":145500}]Webhooks
POST
/api/v1(your URL)
Payload sent on score change
Parameters: Configure in dashboard
Response
{"event":"score_updated","journal_id":1,"old_score":88,"new_score":92,"quartile":"Q1","timestamp":"2026-04-01T00:00:00Z"}